<?xml version="1.0" encoding="UTF-8"?>
<otherdata xmlns="http://linux.duke.edu/metadata/other" packages="13390">
<package pkgid="601220ec922e27c8f5bde22a33f698cf21eaa70c911809873320751a3bd6f95feb9ee6407c89bc29c3c6a235b4a884f20655a75c92bff7e539dd6c0e4d207b8d" name="AMF" arch="src">
  <version epoch="0" ver="1.4.33" rel="1.3"/>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1648036800">- initial package</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1659009600">- Update to version 1.4.26:
  * New perceptual (PAQ) and temporal (TAQ) adaptive quantization modes
    for PreAnalysis
  * New high motion quality boost mode for PreAnalysis
  * New sharpness option for HQScaler
  * New low latency decoding option
  * New temporal SVC encoding options</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1678276800">- Update to version 1.4.29:
  * Added Smart Access Video for decoder and AVC / HEVC / AV1 encoders
  * New options for VQEnhancer and AV1 encoder components
  * Switched to Markdown based API docs which enable easier open source
    developer contributions
  * Added AV1 encoding support
  * Added 12-bit AV1 decoding
  * New VQEnhancer component
  * New AVC / HEVC encoder rate control methods</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1678449600">- Exclude pdf and images</changelog>
  <changelog author="ecsos@opensuse.org" date="1699876800">- Update to version 1.4.30:
  * AMF v1.4.30 release
  * Fix missing enum value in AMF_Video_Encode_HEVC_API docs
  * Fix VulkanAMF.h compile when using C (#388)
  * Fix typo in profile level string (#371)
  * Encode API doc corrections
  * Add SmartAccess Video documentation
  * Update Linux distro prereqs for AMF v1.4.29</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1706011200">- Update to version 1.4.33:
  * Added native DX12 support for encoding and PreAnalysis
  * Vulkan encoder became independent from Vulkan driver
  * Switched to public Vulkan Khronos extensions for decoder
  * AMF on Linux can now be used with AMD Pro Vulkan, and experimentally with RADV drivers
  * Improvements to sample presenters
  * Added new FRC component and API doc
  * Added new VQEnhancer API doc
  * Improvements and cleanup to sample presenters
  * Updated FFmpeg to 6.0</changelog>
</package>
<package pkgid="38cc9b51faf175f17a03f3b7891c103ea8d6a2aca773d39edefb59f270b8c77b92eda18952dd99d2b8bcde514116c4e2a59e1896de9de11c2bd6639688a5ebcc" name="AMF-devel" arch="noarch">
  <version epoch="0" ver="1.4.33" rel="1.3"/>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1648036800">- initial package</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1659009600">- Update to version 1.4.26:
  * New perceptual (PAQ) and temporal (TAQ) adaptive quantization modes
    for PreAnalysis
  * New high motion quality boost mode for PreAnalysis
  * New sharpness option for HQScaler
  * New low latency decoding option
  * New temporal SVC encoding options</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1678276800">- Update to version 1.4.29:
  * Added Smart Access Video for decoder and AVC / HEVC / AV1 encoders
  * New options for VQEnhancer and AV1 encoder components
  * Switched to Markdown based API docs which enable easier open source
    developer contributions
  * Added AV1 encoding support
  * Added 12-bit AV1 decoding
  * New VQEnhancer component
  * New AVC / HEVC encoder rate control methods</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1678449600">- Exclude pdf and images</changelog>
  <changelog author="ecsos@opensuse.org" date="1699876800">- Update to version 1.4.30:
  * AMF v1.4.30 release
  * Fix missing enum value in AMF_Video_Encode_HEVC_API docs
  * Fix VulkanAMF.h compile when using C (#388)
  * Fix typo in profile level string (#371)
  * Encode API doc corrections
  * Add SmartAccess Video documentation
  * Update Linux distro prereqs for AMF v1.4.29</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1706011200">- Update to version 1.4.33:
  * Added native DX12 support for encoding and PreAnalysis
  * Vulkan encoder became independent from Vulkan driver
  * Switched to public Vulkan Khronos extensions for decoder
  * AMF on Linux can now be used with AMD Pro Vulkan, and experimentally with RADV drivers
  * Improvements to sample presenters
  * Added new FRC component and API doc
  * Added new VQEnhancer API doc
  * Improvements and cleanup to sample presenters
  * Updated FFmpeg to 6.0</changelog>
</package>
<package pkgid="4baa723a3593b4a2df2297ea6e3a4881c69050c6f6d583cfba2b3832fe78e58a8d43111d5aeabe7952faed0f0f2965283671d8368db4cba2733bd954402ce4af" name="AMF-docs" arch="noarch">
  <version epoch="0" ver="1.4.33" rel="1.3"/>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1648036800">- initial package</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1659009600">- Update to version 1.4.26:
  * New perceptual (PAQ) and temporal (TAQ) adaptive quantization modes
    for PreAnalysis
  * New high motion quality boost mode for PreAnalysis
  * New sharpness option for HQScaler
  * New low latency decoding option
  * New temporal SVC encoding options</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1678276800">- Update to version 1.4.29:
  * Added Smart Access Video for decoder and AVC / HEVC / AV1 encoders
  * New options for VQEnhancer and AV1 encoder components
  * Switched to Markdown based API docs which enable easier open source
    developer contributions
  * Added AV1 encoding support
  * Added 12-bit AV1 decoding
  * New VQEnhancer component
  * New AVC / HEVC encoder rate control methods</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1678449600">- Exclude pdf and images</changelog>
  <changelog author="ecsos@opensuse.org" date="1699876800">- Update to version 1.4.30:
  * AMF v1.4.30 release
  * Fix missing enum value in AMF_Video_Encode_HEVC_API docs
  * Fix VulkanAMF.h compile when using C (#388)
  * Fix typo in profile level string (#371)
  * Encode API doc corrections
  * Add SmartAccess Video documentation
  * Update Linux distro prereqs for AMF v1.4.29</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1706011200">- Update to version 1.4.33:
  * Added native DX12 support for encoding and PreAnalysis
  * Vulkan encoder became independent from Vulkan driver
  * Switched to public Vulkan Khronos extensions for decoder
  * AMF on Linux can now be used with AMD Pro Vulkan, and experimentally with RADV drivers
  * Improvements to sample presenters
  * Added new FRC component and API doc
  * Added new VQEnhancer API doc
  * Improvements and cleanup to sample presenters
  * Updated FFmpeg to 6.0</changelog>
</package>
<package pkgid="8f4a833a282555c73d12c8fba456cbfdf6b1f7aa2430140348f748c4ec83c1e80130d4d75db7caf21ae595e58f63ce2a6c55b59bb8f72bf68ff81c85fe85d62f" name="ART" arch="src">
  <version epoch="0" ver="1.22.1" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1660824000">- Disable LTO, since it makes the program crashing.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1662465600">- Update to 1.16.2:
  * Fixed bug in fast-path for output profile application.
  * Fixed segfault when the thumb cache contains an invalid date.
  * Update camera matrices.
  * Update translations.
  * LUT: protect against NaN indices.
  * Img out: added custom ICC profile conversion to avoid clamping to [0,1].
  * Color correction: added LUT mode.
  * Handle linear DNG as other raw images.
  * Tonecurve: improved range for the saturation2 curve.
  * Denoise: some tweaks to the detail mask.
  * Filmsimulation: added support for ACES clf LMT LUTs using OpenColorIOv2.
  * Logenc: added highlight precompression.
  * Tonecurve: allow whitepoint to go up to 100 (~10000 nits).
- Drop fix-ppc-cflags.patch</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1665144000">- Update to 1.16.3:
  * editorpanel: fixed refresh of image area when switching images
  * clutstore: do not search for working profile in the file name for CLF LUTs
  * pipeline: move film simulation earlier (right after tone curve)
  * tone equalizer: improved robustness of regularization with hdr images
  * avoid infinities when loading and manipulating hdr images
  * exposure: do not use a LUT, it's not needed
  * fixed bug in applying partial profiles in append mode from the combobox
  * filecatalog: let the user choose which sidecars to affect when deleting a file
  * colorcorrection: slightly extend the range of offset sliders
  * tonecurve: fixed glitch in expansion of curve according to the white point
  * denoise: testing new ways of adjusting parameters according to the scale factor</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1667390400">- Update to 1.16.4:
  * crop window: reset the tool to "hand" after a "spot wb" action
  * allow to save pngs uncompressed
  * improved support for custom loaders and savers
  * metadata: trying to improve lens identification for canon cameras
  * reverted thumbnail.cc change due to glitch in the file browser (issue #267)
  * trying to improve the (perceived) responsiveness of the file browser</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1670414400">- Update to 1.17.2:
  * fixed bad interaction between film negative and dehaze or dynamic range compression
  * fixed regression in loading pixel-shift raw files
  * draw the crop guides in the batch queue thumbnails
  * spot removal: fixed history messages
  * PDAF lines filter: fixed oob accesses
  * added script to import wb presets from darktable
  * added DCP profiles from RT
  * film negative: show deprecation warning for "color space"
  * grain: removed redundant "scale" parameter
  * metadata: write star rating to the output image
  * highlight recovery: fixed crash due to typo
  * camconst: added raw_crop for Fuji X-H2
  * support camconst raw_crop when using the libraw decoder
  * dcraw: reject RGBA tiff files
  * replaced "balanced" highlight recovery with "inpaint opposed" from darktable</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1672747200">- Update to 1.18.0:
  * properly refresh the progress bar when loading thumbnails
  * fixed bugs with launching external editor on windows when filename is not ASCII or contains spaces
  * session save: ask before overwriting
  * imageio: further improvements to ease bundling of image load/save plugins on windows
  * file catalog: properly update the session when renaming/moving/deleting files
  * local editing: do not include the effects of "show mask" in output images
  * file rename: added %# pattern for numeric suffixes of filenames
  * automatically add ".ars" extension when saving sessions
  * improved support for sessions
  * always apply the tone curve when enabled (even if it is an identity)
  * filecatalog: try to avoid refreshing directories while files are still being modified
  * metadata: fixed uninitialized value in star rating
  * film negative: fix behaviour of "pick neutral spots"</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1675080000">- Update to 1.18.1:
  * replace omp_get_max_threads() with omp_get_num_procs()
  * denoise: more aggressive caching of auto chroma coefficients
  * fixed corrupted thumbnails when using the libraw decoder with a custom raw crop
  * trying to speedup denoise with automatic chroma
  * denoise: try avoiding recomputation of automatic chrominance denoise when not necessary
  * saveasdlg: fixed bug in setting filename
  * try to recover if the exiftool process returns an error
  * better integration with exiftool (reuse the same process instead of spawning a new one every time)
  * added support for lcms2 fast float</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1679918400">- Update to 1.19.3:
  * vignette: update the on-screen center widget when the crop changes
  * thumbnail: do not try to load from cache after the first failure
  * added raw crop for Fujifilm X-T5
  * updated camera matrices and wb presets
  * spot removal: added button to bypass heavy tools when editing spot
  * smoothing: fixed bug with mask application in lens/motion blur modes
  * improved formatting of exiftool makernotes
  * metadata: added option to show makernotes with exiftool
  * improve spot removal performance in preview window
  * improve description of system monitor profile detected
  * dcrop: avoid recomputing transform when not needed
  * limit scale for output sharpening in preview to 1.0
  * lens blur: apply inpainting to the unaffected areas to better simulate a "large aperture background separation" effect</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1684411200">- Update to 1.20:
  * updated camera matrices
  * updated WB presets with latest additions from darktable
  * neutral tone curve: disable the now-unnecessary output
    hue blending
  * neutral tone curve: one more typo in the application of
    the whitepoint 2
    one more typo in the application of the whitepoint
  * neutral tone curve: fixed bug in computing the conversion
    matrices for gamut mapping
  * tonecurve: fixed bug in setting the whitepoint for the LUT
  * prevent segfault when switching images while editing the crop
  * updated German and Hungarian translations.
  * procparams: fixed corruption of stroke lists due to rounding
    errors in HalfFloats with large integers
  * changed default values for some GUI preferences including
    histogram position
  * rawimage: do not handle images with more than 3 colors</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1689249600">- Update to 1.20.1:
  * updated camera matrices to increase chances of matching names
    of smartphones
  * fixed glitch in displaying the "triangle" indicator for the
    currently-selected thumbnails
  * fix wb multipliers corner case for monochrome images
  * rawimage: allow 4-color linear DNG files
  * Porting fix for truncated curve widget from RT
  * metadata: fixed focus distance computation, a wrong focus
    distance calculation was affecting lensfun vignetting
    correction
  * theme: better visual feedback for selected thumbnails in the
    file browser
  * added wb presets and dcp profile for Canon Powershot G5XmkII
  * file catalog: made background color of selected thumbnails
    slightly brighter</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1694692800">- Update to 1.20.2:
  * histogram: fixed bug in showing the pixel values under the
    cursor in log modes
  * fixed glitch in opening pictures that are filtered out from the
    current file catalog
  * rawimage: use internal decoder for floating-point DNGs
  * CLF-LUTs: invalidate cache when content of clf files change
  * moved film simulation before tone curve (with backwards-
    compatibility option added)
  * rgb curves: show the other curves in the curve editor
  * restored shortcuts for the Lab tool
  * masks: do not perform guided filtering if blur is set to the
    minimum val
  * texture boost: make the "iterations" slider better behaved
  * updated labeling of some tools - Sharpening -&gt; Capture
    Sharpening - Texture Boost -&gt; Texture Boost / Sharpening
  * wbpresets: use the internal "make+model" key to match camera
    preset info
  * fixed another glitch in displaying the "triangle" indicator for
    the currently-selected thumbnails
  * updated translations
  * updated camera matrices
  * updated WB presets</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1694692801">- Use GCC11 on Leap.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1696593600">- Use better macro for selecting a newer GCC on Leap.</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1701950400">- Update to 1.21:
  * sigmoid.ctl: added white point control
  * updated wb presets
  * CTL: fixed glitch in parameter parsing
  * updated Dutch translation
  * updated French translation
  * improved error reporting for invalid CTL scripts
  * main-cli: fixed bugs in --check-lut
  * ART-cli: added option --check-lut to aid debugging luts
    (esp. CTL scripts)
  * slightly reduce 3d lut size of fast preview of CTL scripts
  * added generic LUT3D class
  * small tweak to bundled profiles
  * added option to speed up CTL script application in preview
  * added reset button for clut parameters
  * moved CTL scripts to a separate repo
  * improved wb correction formula in wbchmix.ctl
  * fix focus distance for Nikon Z cameras
  * minor gui tweaks
  * sigmoid: added support for base primaries
  * added translation strings to plugins and builtin luts
  * fixed glitches in color correction UI with plugins
  * added some bundled luts and CTL scripts
  * some more tweaks to the support for CTL scripts
  * colorcorrection: fixed glitches
  * clutstore: code cleanup, get rid of need for LUTs for
    parametric CTL scripts
  * colorcorrection: reorder pixel-level applications to make
    parametric luts faster
  * CTL LUT: use tabulation to avoid massive slowdown in
    apply_single with complex uniform parameters
  * parametric CTL LUTs: improved comment
  * parametric CTL LUTs: fixed glitches and improved logging
  * added support for parametric CTL luts
  * renamed HaldCLUT to CLUT
  * improved cache invalidation for LUTs
  * Added support for building ART with the ACES CTL interpreter
  * neutral tone curve: always use rec2020 for calculating the base
    hues for the final shifts
  * neutral tone curve: further tweaks to hue shifts
  * logenc: improved implementation of "highlights precompression"
  * neutral tone curve: alternative criterion for hue shifts and
    desaturation
  * neutral tone curve: added some hue shifts to (try to) consider
    perceptual effects
  * tuned threshold for hot pixel detection for xtrans
  * procparams: fix missing auto-computed settings when comparing
    ProcParams instances
  * procparams: properly consider auto-computed settings when
    comparing ProcParams instances
  * basic hot/dead pixel filter for xtrans cfa
  * spot removal: properly take film negative into account
  * added option to specify the currently-active snapshot in the
    output file name pattern</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1706097600">- Update to 1.21.1:
  * updated translations
  * slightly increased precision for CTL luts in low-quality mode
    (used for thumbnails)
  * fixed metadata display on thumbnails for png files
  * updated camera matrices
  * updated WB presets
  * local editing: make "copy region" insert after the current
    selection
  * ctl luts: fixed setting gui group for PT_CHOICE params
  * added fast export support to "send to external editor"
  * rawimage: put global black level for xtrans files where the
    code expects to find it
  * texture boost: increased range of detail threshold slider
  * exifpanel: improved metadata validators
  * profiles: tweaked "Simple Film Curve"
  * logenc: use 2 digits for black ev
  * improved support for translation of CTL scripts
  * added support for user-specific translation files
  * color wheel: edit by hue/saturation instead of x/y with right
    click
  * CTL lut params: allow to specify also a tooltip (markup) string
    as last parameter (after group name)
  * improved LUT precision for fast CTL rendering on the preview
  * local editing: add new region after the current selected one
    instead of always appending at the end
  * tone curve: added base curve control for seamless tone mapping
  * cli: accept relative filenames in --check-lut
  * tweaks to handling quality settings for CTL scripts
  * continued removing dead code
  * dynamic profiles: changed how "image type" filter works now it
    allows to distinguish between raw and non-raw images. For HDR
    and/ or PS, custom exif tags can be used
  * removed some dead code
  * further improvement in loading of lut params
  * improved robustness of CTL scripts support
  * Moving FileBrowserEntry static variable initialization to a
    dedicated method. Fixes a crash introduced a previous commit.
  * CTL interpreter: add ART ctlscripts to the module search path</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1710936000">- Update to 1.21.2:
  * added DCP profiles for some Nikon Z cameras
  * camconst: added raw crop for the Sony A9mkIII
  * lens corrections from metadata for Olympus cameras ported from
    darktable
  * added DCP profile for FUJI GFX 100
  * camconst: added PDAF pattern for the Fuji GFX 100 cameras
  * CTL luts: use the current working space by default if none is
    specified
  * tweaked verbosity messages of PDAF lines filter
  * updated camconst with more pdaf patterns for sony cameras
    (backported from RT)
  * added higher resolution image of the logo
  * filebrowser: fixed segfault when exiting the search box when
    all thumbnails are filtered out
  * fixed lensfun version detection for deprecated API removal
  * fixed compilation errors with lensfun master
  * stdimagesource: detect special ART ICC profiles for unbounded
    conversion
  * fixed detection of embedded profiles for non-raw thumbnails
  * masks: added global opacity slider
  * denoise: do not apply extra gamma for non-raw images
  * tone curve: avoid artifacts in highlights when using negative
    contrast with "Neutral" mode
  * cmakelists: sanitize PROC_LABEL to avoid shell syntax errors</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1712836800">- Update to 1.21.3:
  * updated camera matrices
  * color correction: properly refresh the curves displayed when
    changing the active region
  * camconst: updated raw_crop for Sony ILCE-7CR and ILCE-7RM5
  * camconst: fixed bug in overriding raw_crop entries from the
    user camconst.json</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1716811200">- Update to 1.22:
  * brush mask: added ctrl-z / ctrl-shift-z for undo/undo all
    during brush editing
  * cmake: do not link against mimalloc when using ASAN
  * colortemp.h: added missing "#include &lt;array&gt;"
  * CTL: take into account the CTL_MODULE_PATH env var when loading
    modules
  * file browser: show the number of selected files when &gt;1
  * metadata: explicitly handle the case of exiftool not found
  * procparams: disable histmatching when loading arp files with an
    already-computed tone curve
  * rawimage: properly extract the raw optical black for bayer
    sensors when using libraw
  * rawimage: simple workaround for libraw issue with some xtrans
    DNG files produced by dnglab
  * smoothing: added simple halation
  * spot removal: fixed bad preview when denoise is enabled
  * subprocess: fixed freeze happening when fork/exec failed in
    subprocess::popen
  * updated camera matrices
  * updated translations
  * updated WB presets
  * white balance: improved robustness in "extreme" situations
    (e.g. UV)</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1716984000">- Add dependency to CTL on Tumbleweed.</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1718798400">- Update to 1.22.1:
  * updated camera color matrices for OM Systems OM-1mkII and OM-5
  * reset adjusters with double click
  * exifpanel: improved tooltips for tags
  * lensexif: avoid division by 0 when computing Olympus ca coeffs</changelog>
</package>
<package pkgid="ee616419fcd2c0a5fe8f526f6b9fce044a01ca7304dfb99d6368f1450af4f8f278e8b44c664ad673877a1da00349f6c267008e07b891519e3c4b107aeec948d7" name="ART" arch="x86_64">
  <version epoch="0" ver="1.22.1" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1660824000">- Disable LTO, since it makes the program crashing.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1662465600">- Update to 1.16.2:
  * Fixed bug in fast-path for output profile application.
  * Fixed segfault when the thumb cache contains an invalid date.
  * Update camera matrices.
  * Update translations.
  * LUT: protect against NaN indices.
  * Img out: added custom ICC profile conversion to avoid clamping to [0,1].
  * Color correction: added LUT mode.
  * Handle linear DNG as other raw images.
  * Tonecurve: improved range for the saturation2 curve.
  * Denoise: some tweaks to the detail mask.
  * Filmsimulation: added support for ACES clf LMT LUTs using OpenColorIOv2.
  * Logenc: added highlight precompression.
  * Tonecurve: allow whitepoint to go up to 100 (~10000 nits).
- Drop fix-ppc-cflags.patch</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1665144000">- Update to 1.16.3:
  * editorpanel: fixed refresh of image area when switching images
  * clutstore: do not search for working profile in the file name for CLF LUTs
  * pipeline: move film simulation earlier (right after tone curve)
  * tone equalizer: improved robustness of regularization with hdr images
  * avoid infinities when loading and manipulating hdr images
  * exposure: do not use a LUT, it's not needed
  * fixed bug in applying partial profiles in append mode from the combobox
  * filecatalog: let the user choose which sidecars to affect when deleting a file
  * colorcorrection: slightly extend the range of offset sliders
  * tonecurve: fixed glitch in expansion of curve according to the white point
  * denoise: testing new ways of adjusting parameters according to the scale factor</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1667390400">- Update to 1.16.4:
  * crop window: reset the tool to "hand" after a "spot wb" action
  * allow to save pngs uncompressed
  * improved support for custom loaders and savers
  * metadata: trying to improve lens identification for canon cameras
  * reverted thumbnail.cc change due to glitch in the file browser (issue #267)
  * trying to improve the (perceived) responsiveness of the file browser</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1670414400">- Update to 1.17.2:
  * fixed bad interaction between film negative and dehaze or dynamic range compression
  * fixed regression in loading pixel-shift raw files
  * draw the crop guides in the batch queue thumbnails
  * spot removal: fixed history messages
  * PDAF lines filter: fixed oob accesses
  * added script to import wb presets from darktable
  * added DCP profiles from RT
  * film negative: show deprecation warning for "color space"
  * grain: removed redundant "scale" parameter
  * metadata: write star rating to the output image
  * highlight recovery: fixed crash due to typo
  * camconst: added raw_crop for Fuji X-H2
  * support camconst raw_crop when using the libraw decoder
  * dcraw: reject RGBA tiff files
  * replaced "balanced" highlight recovery with "inpaint opposed" from darktable</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1672747200">- Update to 1.18.0:
  * properly refresh the progress bar when loading thumbnails
  * fixed bugs with launching external editor on windows when filename is not ASCII or contains spaces
  * session save: ask before overwriting
  * imageio: further improvements to ease bundling of image load/save plugins on windows
  * file catalog: properly update the session when renaming/moving/deleting files
  * local editing: do not include the effects of "show mask" in output images
  * file rename: added %# pattern for numeric suffixes of filenames
  * automatically add ".ars" extension when saving sessions
  * improved support for sessions
  * always apply the tone curve when enabled (even if it is an identity)
  * filecatalog: try to avoid refreshing directories while files are still being modified
  * metadata: fixed uninitialized value in star rating
  * film negative: fix behaviour of "pick neutral spots"</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1675080000">- Update to 1.18.1:
  * replace omp_get_max_threads() with omp_get_num_procs()
  * denoise: more aggressive caching of auto chroma coefficients
  * fixed corrupted thumbnails when using the libraw decoder with a custom raw crop
  * trying to speedup denoise with automatic chroma
  * denoise: try avoiding recomputation of automatic chrominance denoise when not necessary
  * saveasdlg: fixed bug in setting filename
  * try to recover if the exiftool process returns an error
  * better integration with exiftool (reuse the same process instead of spawning a new one every time)
  * added support for lcms2 fast float</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1679918400">- Update to 1.19.3:
  * vignette: update the on-screen center widget when the crop changes
  * thumbnail: do not try to load from cache after the first failure
  * added raw crop for Fujifilm X-T5
  * updated camera matrices and wb presets
  * spot removal: added button to bypass heavy tools when editing spot
  * smoothing: fixed bug with mask application in lens/motion blur modes
  * improved formatting of exiftool makernotes
  * metadata: added option to show makernotes with exiftool
  * improve spot removal performance in preview window
  * improve description of system monitor profile detected
  * dcrop: avoid recomputing transform when not needed
  * limit scale for output sharpening in preview to 1.0
  * lens blur: apply inpainting to the unaffected areas to better simulate a "large aperture background separation" effect</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1684411200">- Update to 1.20:
  * updated camera matrices
  * updated WB presets with latest additions from darktable
  * neutral tone curve: disable the now-unnecessary output
    hue blending
  * neutral tone curve: one more typo in the application of
    the whitepoint 2
    one more typo in the application of the whitepoint
  * neutral tone curve: fixed bug in computing the conversion
    matrices for gamut mapping
  * tonecurve: fixed bug in setting the whitepoint for the LUT
  * prevent segfault when switching images while editing the crop
  * updated German and Hungarian translations.
  * procparams: fixed corruption of stroke lists due to rounding
    errors in HalfFloats with large integers
  * changed default values for some GUI preferences including
    histogram position
  * rawimage: do not handle images with more than 3 colors</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1689249600">- Update to 1.20.1:
  * updated camera matrices to increase chances of matching names
    of smartphones
  * fixed glitch in displaying the "triangle" indicator for the
    currently-selected thumbnails
  * fix wb multipliers corner case for monochrome images
  * rawimage: allow 4-color linear DNG files
  * Porting fix for truncated curve widget from RT
  * metadata: fixed focus distance computation, a wrong focus
    distance calculation was affecting lensfun vignetting
    correction
  * theme: better visual feedback for selected thumbnails in the
    file browser
  * added wb presets and dcp profile for Canon Powershot G5XmkII
  * file catalog: made background color of selected thumbnails
    slightly brighter</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1694692800">- Update to 1.20.2:
  * histogram: fixed bug in showing the pixel values under the
    cursor in log modes
  * fixed glitch in opening pictures that are filtered out from the
    current file catalog
  * rawimage: use internal decoder for floating-point DNGs
  * CLF-LUTs: invalidate cache when content of clf files change
  * moved film simulation before tone curve (with backwards-
    compatibility option added)
  * rgb curves: show the other curves in the curve editor
  * restored shortcuts for the Lab tool
  * masks: do not perform guided filtering if blur is set to the
    minimum val
  * texture boost: make the "iterations" slider better behaved
  * updated labeling of some tools - Sharpening -&gt; Capture
    Sharpening - Texture Boost -&gt; Texture Boost / Sharpening
  * wbpresets: use the internal "make+model" key to match camera
    preset info
  * fixed another glitch in displaying the "triangle" indicator for
    the currently-selected thumbnails
  * updated translations
  * updated camera matrices
  * updated WB presets</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1694692801">- Use GCC11 on Leap.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1696593600">- Use better macro for selecting a newer GCC on Leap.</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1701950400">- Update to 1.21:
  * sigmoid.ctl: added white point control
  * updated wb presets
  * CTL: fixed glitch in parameter parsing
  * updated Dutch translation
  * updated French translation
  * improved error reporting for invalid CTL scripts
  * main-cli: fixed bugs in --check-lut
  * ART-cli: added option --check-lut to aid debugging luts
    (esp. CTL scripts)
  * slightly reduce 3d lut size of fast preview of CTL scripts
  * added generic LUT3D class
  * small tweak to bundled profiles
  * added option to speed up CTL script application in preview
  * added reset button for clut parameters
  * moved CTL scripts to a separate repo
  * improved wb correction formula in wbchmix.ctl
  * fix focus distance for Nikon Z cameras
  * minor gui tweaks
  * sigmoid: added support for base primaries
  * added translation strings to plugins and builtin luts
  * fixed glitches in color correction UI with plugins
  * added some bundled luts and CTL scripts
  * some more tweaks to the support for CTL scripts
  * colorcorrection: fixed glitches
  * clutstore: code cleanup, get rid of need for LUTs for
    parametric CTL scripts
  * colorcorrection: reorder pixel-level applications to make
    parametric luts faster
  * CTL LUT: use tabulation to avoid massive slowdown in
    apply_single with complex uniform parameters
  * parametric CTL LUTs: improved comment
  * parametric CTL LUTs: fixed glitches and improved logging
  * added support for parametric CTL luts
  * renamed HaldCLUT to CLUT
  * improved cache invalidation for LUTs
  * Added support for building ART with the ACES CTL interpreter
  * neutral tone curve: always use rec2020 for calculating the base
    hues for the final shifts
  * neutral tone curve: further tweaks to hue shifts
  * logenc: improved implementation of "highlights precompression"
  * neutral tone curve: alternative criterion for hue shifts and
    desaturation
  * neutral tone curve: added some hue shifts to (try to) consider
    perceptual effects
  * tuned threshold for hot pixel detection for xtrans
  * procparams: fix missing auto-computed settings when comparing
    ProcParams instances
  * procparams: properly consider auto-computed settings when
    comparing ProcParams instances
  * basic hot/dead pixel filter for xtrans cfa
  * spot removal: properly take film negative into account
  * added option to specify the currently-active snapshot in the
    output file name pattern</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1706097600">- Update to 1.21.1:
  * updated translations
  * slightly increased precision for CTL luts in low-quality mode
    (used for thumbnails)
  * fixed metadata display on thumbnails for png files
  * updated camera matrices
  * updated WB presets
  * local editing: make "copy region" insert after the current
    selection
  * ctl luts: fixed setting gui group for PT_CHOICE params
  * added fast export support to "send to external editor"
  * rawimage: put global black level for xtrans files where the
    code expects to find it
  * texture boost: increased range of detail threshold slider
  * exifpanel: improved metadata validators
  * profiles: tweaked "Simple Film Curve"
  * logenc: use 2 digits for black ev
  * improved support for translation of CTL scripts
  * added support for user-specific translation files
  * color wheel: edit by hue/saturation instead of x/y with right
    click
  * CTL lut params: allow to specify also a tooltip (markup) string
    as last parameter (after group name)
  * improved LUT precision for fast CTL rendering on the preview
  * local editing: add new region after the current selected one
    instead of always appending at the end
  * tone curve: added base curve control for seamless tone mapping
  * cli: accept relative filenames in --check-lut
  * tweaks to handling quality settings for CTL scripts
  * continued removing dead code
  * dynamic profiles: changed how "image type" filter works now it
    allows to distinguish between raw and non-raw images. For HDR
    and/ or PS, custom exif tags can be used
  * removed some dead code
  * further improvement in loading of lut params
  * improved robustness of CTL scripts support
  * Moving FileBrowserEntry static variable initialization to a
    dedicated method. Fixes a crash introduced a previous commit.
  * CTL interpreter: add ART ctlscripts to the module search path</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1710936000">- Update to 1.21.2:
  * added DCP profiles for some Nikon Z cameras
  * camconst: added raw crop for the Sony A9mkIII
  * lens corrections from metadata for Olympus cameras ported from
    darktable
  * added DCP profile for FUJI GFX 100
  * camconst: added PDAF pattern for the Fuji GFX 100 cameras
  * CTL luts: use the current working space by default if none is
    specified
  * tweaked verbosity messages of PDAF lines filter
  * updated camconst with more pdaf patterns for sony cameras
    (backported from RT)
  * added higher resolution image of the logo
  * filebrowser: fixed segfault when exiting the search box when
    all thumbnails are filtered out
  * fixed lensfun version detection for deprecated API removal
  * fixed compilation errors with lensfun master
  * stdimagesource: detect special ART ICC profiles for unbounded
    conversion
  * fixed detection of embedded profiles for non-raw thumbnails
  * masks: added global opacity slider
  * denoise: do not apply extra gamma for non-raw images
  * tone curve: avoid artifacts in highlights when using negative
    contrast with "Neutral" mode
  * cmakelists: sanitize PROC_LABEL to avoid shell syntax errors</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1712836800">- Update to 1.21.3:
  * updated camera matrices
  * color correction: properly refresh the curves displayed when
    changing the active region
  * camconst: updated raw_crop for Sony ILCE-7CR and ILCE-7RM5
  * camconst: fixed bug in overriding raw_crop entries from the
    user camconst.json</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1716811200">- Update to 1.22:
  * brush mask: added ctrl-z / ctrl-shift-z for undo/undo all
    during brush editing
  * cmake: do not link against mimalloc when using ASAN
  * colortemp.h: added missing "#include &lt;array&gt;"
  * CTL: take into account the CTL_MODULE_PATH env var when loading
    modules
  * file browser: show the number of selected files when &gt;1
  * metadata: explicitly handle the case of exiftool not found
  * procparams: disable histmatching when loading arp files with an
    already-computed tone curve
  * rawimage: properly extract the raw optical black for bayer
    sensors when using libraw
  * rawimage: simple workaround for libraw issue with some xtrans
    DNG files produced by dnglab
  * smoothing: added simple halation
  * spot removal: fixed bad preview when denoise is enabled
  * subprocess: fixed freeze happening when fork/exec failed in
    subprocess::popen
  * updated camera matrices
  * updated translations
  * updated WB presets
  * white balance: improved robustness in "extreme" situations
    (e.g. UV)</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1716984000">- Add dependency to CTL on Tumbleweed.</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1718798400">- Update to 1.22.1:
  * updated camera color matrices for OM Systems OM-1mkII and OM-5
  * reset adjusters with double click
  * exifpanel: improved tooltips for tags
  * lensexif: avoid division by 0 when computing Olympus ca coeffs</changelog>
</package>
<package pkgid="bc66b87eabbf04559239cf9578f2a0a6e35af576d92c102e454e72e1c8d0d0208db29b5c618451c66af71b82447f6255931712b7d7d7ac9ff0f4d9d3bf71230d" name="ART-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.22.1" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1660824000">- Disable LTO, since it makes the program crashing.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1662465600">- Update to 1.16.2:
  * Fixed bug in fast-path for output profile application.
  * Fixed segfault when the thumb cache contains an invalid date.
  * Update camera matrices.
  * Update translations.
  * LUT: protect against NaN indices.
  * Img out: added custom ICC profile conversion to avoid clamping to [0,1].
  * Color correction: added LUT mode.
  * Handle linear DNG as other raw images.
  * Tonecurve: improved range for the saturation2 curve.
  * Denoise: some tweaks to the detail mask.
  * Filmsimulation: added support for ACES clf LMT LUTs using OpenColorIOv2.
  * Logenc: added highlight precompression.
  * Tonecurve: allow whitepoint to go up to 100 (~10000 nits).
- Drop fix-ppc-cflags.patch</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1665144000">- Update to 1.16.3:
  * editorpanel: fixed refresh of image area when switching images
  * clutstore: do not search for working profile in the file name for CLF LUTs
  * pipeline: move film simulation earlier (right after tone curve)
  * tone equalizer: improved robustness of regularization with hdr images
  * avoid infinities when loading and manipulating hdr images
  * exposure: do not use a LUT, it's not needed
  * fixed bug in applying partial profiles in append mode from the combobox
  * filecatalog: let the user choose which sidecars to affect when deleting a file
  * colorcorrection: slightly extend the range of offset sliders
  * tonecurve: fixed glitch in expansion of curve according to the white point
  * denoise: testing new ways of adjusting parameters according to the scale factor</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1667390400">- Update to 1.16.4:
  * crop window: reset the tool to "hand" after a "spot wb" action
  * allow to save pngs uncompressed
  * improved support for custom loaders and savers
  * metadata: trying to improve lens identification for canon cameras
  * reverted thumbnail.cc change due to glitch in the file browser (issue #267)
  * trying to improve the (perceived) responsiveness of the file browser</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1670414400">- Update to 1.17.2:
  * fixed bad interaction between film negative and dehaze or dynamic range compression
  * fixed regression in loading pixel-shift raw files
  * draw the crop guides in the batch queue thumbnails
  * spot removal: fixed history messages
  * PDAF lines filter: fixed oob accesses
  * added script to import wb presets from darktable
  * added DCP profiles from RT
  * film negative: show deprecation warning for "color space"
  * grain: removed redundant "scale" parameter
  * metadata: write star rating to the output image
  * highlight recovery: fixed crash due to typo
  * camconst: added raw_crop for Fuji X-H2
  * support camconst raw_crop when using the libraw decoder
  * dcraw: reject RGBA tiff files
  * replaced "balanced" highlight recovery with "inpaint opposed" from darktable</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1672747200">- Update to 1.18.0:
  * properly refresh the progress bar when loading thumbnails
  * fixed bugs with launching external editor on windows when filename is not ASCII or contains spaces
  * session save: ask before overwriting
  * imageio: further improvements to ease bundling of image load/save plugins on windows
  * file catalog: properly update the session when renaming/moving/deleting files
  * local editing: do not include the effects of "show mask" in output images
  * file rename: added %# pattern for numeric suffixes of filenames
  * automatically add ".ars" extension when saving sessions
  * improved support for sessions
  * always apply the tone curve when enabled (even if it is an identity)
  * filecatalog: try to avoid refreshing directories while files are still being modified
  * metadata: fixed uninitialized value in star rating
  * film negative: fix behaviour of "pick neutral spots"</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1675080000">- Update to 1.18.1:
  * replace omp_get_max_threads() with omp_get_num_procs()
  * denoise: more aggressive caching of auto chroma coefficients
  * fixed corrupted thumbnails when using the libraw decoder with a custom raw crop
  * trying to speedup denoise with automatic chroma
  * denoise: try avoiding recomputation of automatic chrominance denoise when not necessary
  * saveasdlg: fixed bug in setting filename
  * try to recover if the exiftool process returns an error
  * better integration with exiftool (reuse the same process instead of spawning a new one every time)
  * added support for lcms2 fast float</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1679918400">- Update to 1.19.3:
  * vignette: update the on-screen center widget when the crop changes
  * thumbnail: do not try to load from cache after the first failure
  * added raw crop for Fujifilm X-T5
  * updated camera matrices and wb presets
  * spot removal: added button to bypass heavy tools when editing spot
  * smoothing: fixed bug with mask application in lens/motion blur modes
  * improved formatting of exiftool makernotes
  * metadata: added option to show makernotes with exiftool
  * improve spot removal performance in preview window
  * improve description of system monitor profile detected
  * dcrop: avoid recomputing transform when not needed
  * limit scale for output sharpening in preview to 1.0
  * lens blur: apply inpainting to the unaffected areas to better simulate a "large aperture background separation" effect</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1684411200">- Update to 1.20:
  * updated camera matrices
  * updated WB presets with latest additions from darktable
  * neutral tone curve: disable the now-unnecessary output
    hue blending
  * neutral tone curve: one more typo in the application of
    the whitepoint 2
    one more typo in the application of the whitepoint
  * neutral tone curve: fixed bug in computing the conversion
    matrices for gamut mapping
  * tonecurve: fixed bug in setting the whitepoint for the LUT
  * prevent segfault when switching images while editing the crop
  * updated German and Hungarian translations.
  * procparams: fixed corruption of stroke lists due to rounding
    errors in HalfFloats with large integers
  * changed default values for some GUI preferences including
    histogram position
  * rawimage: do not handle images with more than 3 colors</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1689249600">- Update to 1.20.1:
  * updated camera matrices to increase chances of matching names
    of smartphones
  * fixed glitch in displaying the "triangle" indicator for the
    currently-selected thumbnails
  * fix wb multipliers corner case for monochrome images
  * rawimage: allow 4-color linear DNG files
  * Porting fix for truncated curve widget from RT
  * metadata: fixed focus distance computation, a wrong focus
    distance calculation was affecting lensfun vignetting
    correction
  * theme: better visual feedback for selected thumbnails in the
    file browser
  * added wb presets and dcp profile for Canon Powershot G5XmkII
  * file catalog: made background color of selected thumbnails
    slightly brighter</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1694692800">- Update to 1.20.2:
  * histogram: fixed bug in showing the pixel values under the
    cursor in log modes
  * fixed glitch in opening pictures that are filtered out from the
    current file catalog
  * rawimage: use internal decoder for floating-point DNGs
  * CLF-LUTs: invalidate cache when content of clf files change
  * moved film simulation before tone curve (with backwards-
    compatibility option added)
  * rgb curves: show the other curves in the curve editor
  * restored shortcuts for the Lab tool
  * masks: do not perform guided filtering if blur is set to the
    minimum val
  * texture boost: make the "iterations" slider better behaved
  * updated labeling of some tools - Sharpening -&gt; Capture
    Sharpening - Texture Boost -&gt; Texture Boost / Sharpening
  * wbpresets: use the internal "make+model" key to match camera
    preset info
  * fixed another glitch in displaying the "triangle" indicator for
    the currently-selected thumbnails
  * updated translations
  * updated camera matrices
  * updated WB presets</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1694692801">- Use GCC11 on Leap.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1696593600">- Use better macro for selecting a newer GCC on Leap.</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1701950400">- Update to 1.21:
  * sigmoid.ctl: added white point control
  * updated wb presets
  * CTL: fixed glitch in parameter parsing
  * updated Dutch translation
  * updated French translation
  * improved error reporting for invalid CTL scripts
  * main-cli: fixed bugs in --check-lut
  * ART-cli: added option --check-lut to aid debugging luts
    (esp. CTL scripts)
  * slightly reduce 3d lut size of fast preview of CTL scripts
  * added generic LUT3D class
  * small tweak to bundled profiles
  * added option to speed up CTL script application in preview
  * added reset button for clut parameters
  * moved CTL scripts to a separate repo
  * improved wb correction formula in wbchmix.ctl
  * fix focus distance for Nikon Z cameras
  * minor gui tweaks
  * sigmoid: added support for base primaries
  * added translation strings to plugins and builtin luts
  * fixed glitches in color correction UI with plugins
  * added some bundled luts and CTL scripts
  * some more tweaks to the support for CTL scripts
  * colorcorrection: fixed glitches
  * clutstore: code cleanup, get rid of need for LUTs for
    parametric CTL scripts
  * colorcorrection: reorder pixel-level applications to make
    parametric luts faster
  * CTL LUT: use tabulation to avoid massive slowdown in
    apply_single with complex uniform parameters
  * parametric CTL LUTs: improved comment
  * parametric CTL LUTs: fixed glitches and improved logging
  * added support for parametric CTL luts
  * renamed HaldCLUT to CLUT
  * improved cache invalidation for LUTs
  * Added support for building ART with the ACES CTL interpreter
  * neutral tone curve: always use rec2020 for calculating the base
    hues for the final shifts
  * neutral tone curve: further tweaks to hue shifts
  * logenc: improved implementation of "highlights precompression"
  * neutral tone curve: alternative criterion for hue shifts and
    desaturation
  * neutral tone curve: added some hue shifts to (try to) consider
    perceptual effects
  * tuned threshold for hot pixel detection for xtrans
  * procparams: fix missing auto-computed settings when comparing
    ProcParams instances
  * procparams: properly consider auto-computed settings when
    comparing ProcParams instances
  * basic hot/dead pixel filter for xtrans cfa
  * spot removal: properly take film negative into account
  * added option to specify the currently-active snapshot in the
    output file name pattern</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1706097600">- Update to 1.21.1:
  * updated translations
  * slightly increased precision for CTL luts in low-quality mode
    (used for thumbnails)
  * fixed metadata display on thumbnails for png files
  * updated camera matrices
  * updated WB presets
  * local editing: make "copy region" insert after the current
    selection
  * ctl luts: fixed setting gui group for PT_CHOICE params
  * added fast export support to "send to external editor"
  * rawimage: put global black level for xtrans files where the
    code expects to find it
  * texture boost: increased range of detail threshold slider
  * exifpanel: improved metadata validators
  * profiles: tweaked "Simple Film Curve"
  * logenc: use 2 digits for black ev
  * improved support for translation of CTL scripts
  * added support for user-specific translation files
  * color wheel: edit by hue/saturation instead of x/y with right
    click
  * CTL lut params: allow to specify also a tooltip (markup) string
    as last parameter (after group name)
  * improved LUT precision for fast CTL rendering on the preview
  * local editing: add new region after the current selected one
    instead of always appending at the end
  * tone curve: added base curve control for seamless tone mapping
  * cli: accept relative filenames in --check-lut
  * tweaks to handling quality settings for CTL scripts
  * continued removing dead code
  * dynamic profiles: changed how "image type" filter works now it
    allows to distinguish between raw and non-raw images. For HDR
    and/ or PS, custom exif tags can be used
  * removed some dead code
  * further improvement in loading of lut params
  * improved robustness of CTL scripts support
  * Moving FileBrowserEntry static variable initialization to a
    dedicated method. Fixes a crash introduced a previous commit.
  * CTL interpreter: add ART ctlscripts to the module search path</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1710936000">- Update to 1.21.2:
  * added DCP profiles for some Nikon Z cameras
  * camconst: added raw crop for the Sony A9mkIII
  * lens corrections from metadata for Olympus cameras ported from
    darktable
  * added DCP profile for FUJI GFX 100
  * camconst: added PDAF pattern for the Fuji GFX 100 cameras
  * CTL luts: use the current working space by default if none is
    specified
  * tweaked verbosity messages of PDAF lines filter
  * updated camconst with more pdaf patterns for sony cameras
    (backported from RT)
  * added higher resolution image of the logo
  * filebrowser: fixed segfault when exiting the search box when
    all thumbnails are filtered out
  * fixed lensfun version detection for deprecated API removal
  * fixed compilation errors with lensfun master
  * stdimagesource: detect special ART ICC profiles for unbounded
    conversion
  * fixed detection of embedded profiles for non-raw thumbnails
  * masks: added global opacity slider
  * denoise: do not apply extra gamma for non-raw images
  * tone curve: avoid artifacts in highlights when using negative
    contrast with "Neutral" mode
  * cmakelists: sanitize PROC_LABEL to avoid shell syntax errors</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1712836800">- Update to 1.21.3:
  * updated camera matrices
  * color correction: properly refresh the curves displayed when
    changing the active region
  * camconst: updated raw_crop for Sony ILCE-7CR and ILCE-7RM5
  * camconst: fixed bug in overriding raw_crop entries from the
    user camconst.json</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1716811200">- Update to 1.22:
  * brush mask: added ctrl-z / ctrl-shift-z for undo/undo all
    during brush editing
  * cmake: do not link against mimalloc when using ASAN
  * colortemp.h: added missing "#include &lt;array&gt;"
  * CTL: take into account the CTL_MODULE_PATH env var when loading
    modules
  * file browser: show the number of selected files when &gt;1
  * metadata: explicitly handle the case of exiftool not found
  * procparams: disable histmatching when loading arp files with an
    already-computed tone curve
  * rawimage: properly extract the raw optical black for bayer
    sensors when using libraw
  * rawimage: simple workaround for libraw issue with some xtrans
    DNG files produced by dnglab
  * smoothing: added simple halation
  * spot removal: fixed bad preview when denoise is enabled
  * subprocess: fixed freeze happening when fork/exec failed in
    subprocess::popen
  * updated camera matrices
  * updated translations
  * updated WB presets
  * white balance: improved robustness in "extreme" situations
    (e.g. UV)</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1716984000">- Add dependency to CTL on Tumbleweed.</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1718798400">- Update to 1.22.1:
  * updated camera color matrices for OM Systems OM-1mkII and OM-5
  * reset adjusters with double click
  * exifpanel: improved tooltips for tags
  * lensexif: avoid division by 0 when computing Olympus ca coeffs</changelog>
</package>
<package pkgid="5f1fdd6c69fd6cc6e2abca4a7f6fb6a195054f174c5ae1b8637bc2aeb33dd369da766b738dd9f55e6126ed57040fa5c99750882b9e3e5da656f4926282891492" name="ART-debugsource" arch="x86_64">
  <version epoch="0" ver="1.22.1" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1660824000">- Disable LTO, since it makes the program crashing.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1662465600">- Update to 1.16.2:
  * Fixed bug in fast-path for output profile application.
  * Fixed segfault when the thumb cache contains an invalid date.
  * Update camera matrices.
  * Update translations.
  * LUT: protect against NaN indices.
  * Img out: added custom ICC profile conversion to avoid clamping to [0,1].
  * Color correction: added LUT mode.
  * Handle linear DNG as other raw images.
  * Tonecurve: improved range for the saturation2 curve.
  * Denoise: some tweaks to the detail mask.
  * Filmsimulation: added support for ACES clf LMT LUTs using OpenColorIOv2.
  * Logenc: added highlight precompression.
  * Tonecurve: allow whitepoint to go up to 100 (~10000 nits).
- Drop fix-ppc-cflags.patch</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1665144000">- Update to 1.16.3:
  * editorpanel: fixed refresh of image area when switching images
  * clutstore: do not search for working profile in the file name for CLF LUTs
  * pipeline: move film simulation earlier (right after tone curve)
  * tone equalizer: improved robustness of regularization with hdr images
  * avoid infinities when loading and manipulating hdr images
  * exposure: do not use a LUT, it's not needed
  * fixed bug in applying partial profiles in append mode from the combobox
  * filecatalog: let the user choose which sidecars to affect when deleting a file
  * colorcorrection: slightly extend the range of offset sliders
  * tonecurve: fixed glitch in expansion of curve according to the white point
  * denoise: testing new ways of adjusting parameters according to the scale factor</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1667390400">- Update to 1.16.4:
  * crop window: reset the tool to "hand" after a "spot wb" action
  * allow to save pngs uncompressed
  * improved support for custom loaders and savers
  * metadata: trying to improve lens identification for canon cameras
  * reverted thumbnail.cc change due to glitch in the file browser (issue #267)
  * trying to improve the (perceived) responsiveness of the file browser</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1670414400">- Update to 1.17.2:
  * fixed bad interaction between film negative and dehaze or dynamic range compression
  * fixed regression in loading pixel-shift raw files
  * draw the crop guides in the batch queue thumbnails
  * spot removal: fixed history messages
  * PDAF lines filter: fixed oob accesses
  * added script to import wb presets from darktable
  * added DCP profiles from RT
  * film negative: show deprecation warning for "color space"
  * grain: removed redundant "scale" parameter
  * metadata: write star rating to the output image
  * highlight recovery: fixed crash due to typo
  * camconst: added raw_crop for Fuji X-H2
  * support camconst raw_crop when using the libraw decoder
  * dcraw: reject RGBA tiff files
  * replaced "balanced" highlight recovery with "inpaint opposed" from darktable</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1672747200">- Update to 1.18.0:
  * properly refresh the progress bar when loading thumbnails
  * fixed bugs with launching external editor on windows when filename is not ASCII or contains spaces
  * session save: ask before overwriting
  * imageio: further improvements to ease bundling of image load/save plugins on windows
  * file catalog: properly update the session when renaming/moving/deleting files
  * local editing: do not include the effects of "show mask" in output images
  * file rename: added %# pattern for numeric suffixes of filenames
  * automatically add ".ars" extension when saving sessions
  * improved support for sessions
  * always apply the tone curve when enabled (even if it is an identity)
  * filecatalog: try to avoid refreshing directories while files are still being modified
  * metadata: fixed uninitialized value in star rating
  * film negative: fix behaviour of "pick neutral spots"</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1675080000">- Update to 1.18.1:
  * replace omp_get_max_threads() with omp_get_num_procs()
  * denoise: more aggressive caching of auto chroma coefficients
  * fixed corrupted thumbnails when using the libraw decoder with a custom raw crop
  * trying to speedup denoise with automatic chroma
  * denoise: try avoiding recomputation of automatic chrominance denoise when not necessary
  * saveasdlg: fixed bug in setting filename
  * try to recover if the exiftool process returns an error
  * better integration with exiftool (reuse the same process instead of spawning a new one every time)
  * added support for lcms2 fast float</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1679918400">- Update to 1.19.3:
  * vignette: update the on-screen center widget when the crop changes
  * thumbnail: do not try to load from cache after the first failure
  * added raw crop for Fujifilm X-T5
  * updated camera matrices and wb presets
  * spot removal: added button to bypass heavy tools when editing spot
  * smoothing: fixed bug with mask application in lens/motion blur modes
  * improved formatting of exiftool makernotes
  * metadata: added option to show makernotes with exiftool
  * improve spot removal performance in preview window
  * improve description of system monitor profile detected
  * dcrop: avoid recomputing transform when not needed
  * limit scale for output sharpening in preview to 1.0
  * lens blur: apply inpainting to the unaffected areas to better simulate a "large aperture background separation" effect</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1684411200">- Update to 1.20:
  * updated camera matrices
  * updated WB presets with latest additions from darktable
  * neutral tone curve: disable the now-unnecessary output
    hue blending
  * neutral tone curve: one more typo in the application of
    the whitepoint 2
    one more typo in the application of the whitepoint
  * neutral tone curve: fixed bug in computing the conversion
    matrices for gamut mapping
  * tonecurve: fixed bug in setting the whitepoint for the LUT
  * prevent segfault when switching images while editing the crop
  * updated German and Hungarian translations.
  * procparams: fixed corruption of stroke lists due to rounding
    errors in HalfFloats with large integers
  * changed default values for some GUI preferences including
    histogram position
  * rawimage: do not handle images with more than 3 colors</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1689249600">- Update to 1.20.1:
  * updated camera matrices to increase chances of matching names
    of smartphones
  * fixed glitch in displaying the "triangle" indicator for the
    currently-selected thumbnails
  * fix wb multipliers corner case for monochrome images
  * rawimage: allow 4-color linear DNG files
  * Porting fix for truncated curve widget from RT
  * metadata: fixed focus distance computation, a wrong focus
    distance calculation was affecting lensfun vignetting
    correction
  * theme: better visual feedback for selected thumbnails in the
    file browser
  * added wb presets and dcp profile for Canon Powershot G5XmkII
  * file catalog: made background color of selected thumbnails
    slightly brighter</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1694692800">- Update to 1.20.2:
  * histogram: fixed bug in showing the pixel values under the
    cursor in log modes
  * fixed glitch in opening pictures that are filtered out from the
    current file catalog
  * rawimage: use internal decoder for floating-point DNGs
  * CLF-LUTs: invalidate cache when content of clf files change
  * moved film simulation before tone curve (with backwards-
    compatibility option added)
  * rgb curves: show the other curves in the curve editor
  * restored shortcuts for the Lab tool
  * masks: do not perform guided filtering if blur is set to the
    minimum val
  * texture boost: make the "iterations" slider better behaved
  * updated labeling of some tools - Sharpening -&gt; Capture
    Sharpening - Texture Boost -&gt; Texture Boost / Sharpening
  * wbpresets: use the internal "make+model" key to match camera
    preset info
  * fixed another glitch in displaying the "triangle" indicator for
    the currently-selected thumbnails
  * updated translations
  * updated camera matrices
  * updated WB presets</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1694692801">- Use GCC11 on Leap.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1696593600">- Use better macro for selecting a newer GCC on Leap.</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1701950400">- Update to 1.21:
  * sigmoid.ctl: added white point control
  * updated wb presets
  * CTL: fixed glitch in parameter parsing
  * updated Dutch translation
  * updated French translation
  * improved error reporting for invalid CTL scripts
  * main-cli: fixed bugs in --check-lut
  * ART-cli: added option --check-lut to aid debugging luts
    (esp. CTL scripts)
  * slightly reduce 3d lut size of fast preview of CTL scripts
  * added generic LUT3D class
  * small tweak to bundled profiles
  * added option to speed up CTL script application in preview
  * added reset button for clut parameters
  * moved CTL scripts to a separate repo
  * improved wb correction formula in wbchmix.ctl
  * fix focus distance for Nikon Z cameras
  * minor gui tweaks
  * sigmoid: added support for base primaries
  * added translation strings to plugins and builtin luts
  * fixed glitches in color correction UI with plugins
  * added some bundled luts and CTL scripts
  * some more tweaks to the support for CTL scripts
  * colorcorrection: fixed glitches
  * clutstore: code cleanup, get rid of need for LUTs for
    parametric CTL scripts
  * colorcorrection: reorder pixel-level applications to make
    parametric luts faster
  * CTL LUT: use tabulation to avoid massive slowdown in
    apply_single with complex uniform parameters
  * parametric CTL LUTs: improved comment
  * parametric CTL LUTs: fixed glitches and improved logging
  * added support for parametric CTL luts
  * renamed HaldCLUT to CLUT
  * improved cache invalidation for LUTs
  * Added support for building ART with the ACES CTL interpreter
  * neutral tone curve: always use rec2020 for calculating the base
    hues for the final shifts
  * neutral tone curve: further tweaks to hue shifts
  * logenc: improved implementation of "highlights precompression"
  * neutral tone curve: alternative criterion for hue shifts and
    desaturation
  * neutral tone curve: added some hue shifts to (try to) consider
    perceptual effects
  * tuned threshold for hot pixel detection for xtrans
  * procparams: fix missing auto-computed settings when comparing
    ProcParams instances
  * procparams: properly consider auto-computed settings when
    comparing ProcParams instances
  * basic hot/dead pixel filter for xtrans cfa
  * spot removal: properly take film negative into account
  * added option to specify the currently-active snapshot in the
    output file name pattern</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1706097600">- Update to 1.21.1:
  * updated translations
  * slightly increased precision for CTL luts in low-quality mode
    (used for thumbnails)
  * fixed metadata display on thumbnails for png files
  * updated camera matrices
  * updated WB presets
  * local editing: make "copy region" insert after the current
    selection
  * ctl luts: fixed setting gui group for PT_CHOICE params
  * added fast export support to "send to external editor"
  * rawimage: put global black level for xtrans files where the
    code expects to find it
  * texture boost: increased range of detail threshold slider
  * exifpanel: improved metadata validators
  * profiles: tweaked "Simple Film Curve"
  * logenc: use 2 digits for black ev
  * improved support for translation of CTL scripts
  * added support for user-specific translation files
  * color wheel: edit by hue/saturation instead of x/y with right
    click
  * CTL lut params: allow to specify also a tooltip (markup) string
    as last parameter (after group name)
  * improved LUT precision for fast CTL rendering on the preview
  * local editing: add new region after the current selected one
    instead of always appending at the end
  * tone curve: added base curve control for seamless tone mapping
  * cli: accept relative filenames in --check-lut
  * tweaks to handling quality settings for CTL scripts
  * continued removing dead code
  * dynamic profiles: changed how "image type" filter works now it
    allows to distinguish between raw and non-raw images. For HDR
    and/ or PS, custom exif tags can be used
  * removed some dead code
  * further improvement in loading of lut params
  * improved robustness of CTL scripts support
  * Moving FileBrowserEntry static variable initialization to a
    dedicated method. Fixes a crash introduced a previous commit.
  * CTL interpreter: add ART ctlscripts to the module search path</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1710936000">- Update to 1.21.2:
  * added DCP profiles for some Nikon Z cameras
  * camconst: added raw crop for the Sony A9mkIII
  * lens corrections from metadata for Olympus cameras ported from
    darktable
  * added DCP profile for FUJI GFX 100
  * camconst: added PDAF pattern for the Fuji GFX 100 cameras
  * CTL luts: use the current working space by default if none is
    specified
  * tweaked verbosity messages of PDAF lines filter
  * updated camconst with more pdaf patterns for sony cameras
    (backported from RT)
  * added higher resolution image of the logo
  * filebrowser: fixed segfault when exiting the search box when
    all thumbnails are filtered out
  * fixed lensfun version detection for deprecated API removal
  * fixed compilation errors with lensfun master
  * stdimagesource: detect special ART ICC profiles for unbounded
    conversion
  * fixed detection of embedded profiles for non-raw thumbnails
  * masks: added global opacity slider
  * denoise: do not apply extra gamma for non-raw images
  * tone curve: avoid artifacts in highlights when using negative
    contrast with "Neutral" mode
  * cmakelists: sanitize PROC_LABEL to avoid shell syntax errors</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1712836800">- Update to 1.21.3:
  * updated camera matrices
  * color correction: properly refresh the curves displayed when
    changing the active region
  * camconst: updated raw_crop for Sony ILCE-7CR and ILCE-7RM5
  * camconst: fixed bug in overriding raw_crop entries from the
    user camconst.json</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1716811200">- Update to 1.22:
  * brush mask: added ctrl-z / ctrl-shift-z for undo/undo all
    during brush editing
  * cmake: do not link against mimalloc when using ASAN
  * colortemp.h: added missing "#include &lt;array&gt;"
  * CTL: take into account the CTL_MODULE_PATH env var when loading
    modules
  * file browser: show the number of selected files when &gt;1
  * metadata: explicitly handle the case of exiftool not found
  * procparams: disable histmatching when loading arp files with an
    already-computed tone curve
  * rawimage: properly extract the raw optical black for bayer
    sensors when using libraw
  * rawimage: simple workaround for libraw issue with some xtrans
    DNG files produced by dnglab
  * smoothing: added simple halation
  * spot removal: fixed bad preview when denoise is enabled
  * subprocess: fixed freeze happening when fork/exec failed in
    subprocess::popen
  * updated camera matrices
  * updated translations
  * updated WB presets
  * white balance: improved robustness in "extreme" situations
    (e.g. UV)</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1716984000">- Add dependency to CTL on Tumbleweed.</changelog>
  <changelog author="Joshua Smith &lt;smolsheep@opensuse.org&gt;" date="1718798400">- Update to 1.22.1:
  * updated camera color matrices for OM Systems OM-1mkII and OM-5
  * reset adjusters with double click
  * exifpanel: improved tooltips for tags
  * lensexif: avoid division by 0 when computing Olympus ca coeffs</changelog>
</package>
<package pkgid="0e712e1451bdbf1ce90daa7d824f73786a031076c378bd70d4b281f924844be1d321f1d8269ffe2e2f9678a88a13eec598c73bf897c6eb75e0c5f0263d5a7de5" name="Aeon-release" arch="src">
  <version epoch="0" ver="20240605" rel="2939.4.2.sr20240605"/>
  <changelog author="openSUSE &lt;packaging@lists.opensuse.org&gt;" date="1717588800">- automatically generated by openSUSE-release-tools/pkglistgen</changelog>
</package>
<package pkgid="63992bf45fd164ce906a3fdaf51ca1cbd09814c57987a1e985db6ea3c9bbf0f71441e55104fd4aa26b6355a54c4fd501eaf3215a82a6ae6332f20e343ea38434" name="Aeon-release" arch="x86_64">
  <version epoch="0" ver="20240605" rel="2939.4.2.sr20240605"/>
  <changelog author="openSUSE &lt;packaging@lists.opensuse.org&gt;" date="1717588800">- automatically generated by openSUSE-release-tools/pkglistgen</changelog>
</package>
<package pkgid="f54ef960a97238d46133bbd0ddb96a9bbf4c02705c26c718f5152d52af84844a849b90561e6960202520e3c57abcd231973670994f815ade4fe743d418564063" name="Aeon-release-appliance" arch="x86_64">
  <version epoch="0" ver="20240605" rel="2939.4.2.sr20240605"/>
  <changelog author="openSUSE &lt;packaging@lists.opensuse.org&gt;" date="1717588800">- automatically generated by openSUSE-release-tools/pkglistgen</changelog>
</package>
<package pkgid="5c36bea41f961088cb49bff9a7cc007f6a00df38d1b5a4f5a8ea89e7bddb35558d8fa007c54f7499cfe23c109695ff45ea1f64c767d1347d965635f3dfa5d916" name="CalcMySky" arch="src">
  <version epoch="0" ver="0.3.2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1664798400">- Initial OBS release.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1667995200">- Update to 0.2.1:
  * ShowMySky library now has soname;
  * ShowMySky library name depends on major version of Qt,
    so that the versions for Qt5 and for Qt6 can be installed simultaneously;
  * The library can now be used via CMake's CPM without installing;
  * Fixed error handling on macOS (ShowMySky used to crash on any errors);
  * Various OpenGL state management fixes;
  * Rendering the Sun in zero order scattering now correctly takes
    custom Solar spectrum into account.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1681214400">- Update to 0.3.0:
  * Now it's possible to replace view direction shaders via ShowMySky API
    without re-creating the renderer. This lets Stellarium switch between
    projections while implementing them in fragment shaders for better image quality.
  * CMake configuration modules are now installed in paths like /usr/lib/cmake/ShowMySky-Qt6
    instead of /usr/lib/ShowMySky-Qt6/cmake.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1681992000">- Fix packaging issue.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1687953600">- Update to 0.3.1:
  * on GPUs that compute mip maps of non-power-of-two textures poorly,
    eclipsed atmosphere rendering now works as expected;
  * atmosphere model examples now don't include Rayleigh phase function
    in the texture, this change fixes a "round cap around zenith" artifact.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1696593600">- Use better macro for selecting a newer GCC on Leap.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1718625600">- Update to 0.3.2:
  * The pseudo-reflection of the sky used by Stellarium now
    doesn't have the solar aureole, which looked strange
    (the actual aureole in the sky is retained);
  * Added support for GLM 1.0.0, which requires a macro
    to be defined to use experimental features.</changelog>
</package>
<package pkgid="a5cf5193444bac90d0df5423681ae77aac7f9241ac18dd7e46e0844e2259822688c80d4c2f145bb44a009493bab9393882ba92e9e0b0a6147fe9b885719af3aa" name="CalcMySky" arch="x86_64">
  <version epoch="0" ver="0.3.2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1664798400">- Initial OBS release.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1667995200">- Update to 0.2.1:
  * ShowMySky library now has soname;
  * ShowMySky library name depends on major version of Qt,
    so that the versions for Qt5 and for Qt6 can be installed simultaneously;
  * The library can now be used via CMake's CPM without installing;
  * Fixed error handling on macOS (ShowMySky used to crash on any errors);
  * Various OpenGL state management fixes;
  * Rendering the Sun in zero order scattering now correctly takes
    custom Solar spectrum into account.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1681214400">- Update to 0.3.0:
  * Now it's possible to replace view direction shaders via ShowMySky API
    without re-creating the renderer. This lets Stellarium switch between
    projections while implementing them in fragment shaders for better image quality.
  * CMake configuration modules are now installed in paths like /usr/lib/cmake/ShowMySky-Qt6
    instead of /usr/lib/ShowMySky-Qt6/cmake.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1681992000">- Fix packaging issue.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1687953600">- Update to 0.3.1:
  * on GPUs that compute mip maps of non-power-of-two textures poorly,
    eclipsed atmosphere rendering now works as expected;
  * atmosphere model examples now don't include Rayleigh phase function
    in the texture, this change fixes a "round cap around zenith" artifact.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1696593600">- Use better macro for selecting a newer GCC on Leap.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1718625600">- Update to 0.3.2:
  * The pseudo-reflection of the sky used by Stellarium now
    doesn't have the solar aureole, which looked strange
    (the actual aureole in the sky is retained);
  * Added support for GLM 1.0.0, which requires a macro
    to be defined to use experimental features.</changelog>
</package>
<package pkgid="2b40abe7075aaf9c369b9e9685f35f403376d477907f020397f10c17108b28f8af334bc305933d6a52868029f690a4e7b31e99b69e73f3c8c5224b3e81252805" name="CalcMySky-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.3.2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1664798400">- Initial OBS release.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1667995200">- Update to 0.2.1:
  * ShowMySky library now has soname;
  * ShowMySky library name depends on major version of Qt,
    so that the versions for Qt5 and for Qt6 can be installed simultaneously;
  * The library can now be used via CMake's CPM without installing;
  * Fixed error handling on macOS (ShowMySky used to crash on any errors);
  * Various OpenGL state management fixes;
  * Rendering the Sun in zero order scattering now correctly takes
    custom Solar spectrum into account.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1681214400">- Update to 0.3.0:
  * Now it's possible to replace view direction shaders via ShowMySky API
    without re-creating the renderer. This lets Stellarium switch between
    projections while implementing them in fragment shaders for better image quality.
  * CMake configuration modules are now installed in paths like /usr/lib/cmake/ShowMySky-Qt6
    instead of /usr/lib/ShowMySky-Qt6/cmake.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1681992000">- Fix packaging issue.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1687953600">- Update to 0.3.1:
  * on GPUs that compute mip maps of non-power-of-two textures poorly,
    eclipsed atmosphere rendering now works as expected;
  * atmosphere model examples now don't include Rayleigh phase function
    in the texture, this change fixes a "round cap around zenith" artifact.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1696593600">- Use better macro for selecting a newer GCC on Leap.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1718625600">- Update to 0.3.2:
  * The pseudo-reflection of the sky used by Stellarium now
    doesn't have the solar aureole, which looked strange
    (the actual aureole in the sky is retained);
  * Added support for GLM 1.0.0, which requires a macro
    to be defined to use experimental features.</changelog>
</package>
<package pkgid="f04c11dfb2286e54c255dac136f230943caedf248426007de7bb76c7ca34df2587b746074f95bf0cd6d703935068079421d42e66b42e9e58b7754ef6d235af3e" name="CalcMySky-debugsource" arch="x86_64">
  <version epoch="0" ver="0.3.2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1664798400">- Initial OBS release.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1667995200">- Update to 0.2.1:
  * ShowMySky library now has soname;
  * ShowMySky library name depends on major version of Qt,
    so that the versions for Qt5 and for Qt6 can be installed simultaneously;
  * The library can now be used via CMake's CPM without installing;
  * Fixed error handling on macOS (ShowMySky used to crash on any errors);
  * Various OpenGL state management fixes;
  * Rendering the Sun in zero order scattering now correctly takes
    custom Solar spectrum into account.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1681214400">- Update to 0.3.0:
  * Now it's possible to replace view direction shaders via ShowMySky API
    without re-creating the renderer. This lets Stellarium switch between
    projections while implementing them in fragment shaders for better image quality.
  * CMake configuration modules are now installed in paths like /usr/lib/cmake/ShowMySky-Qt6
    instead of /usr/lib/ShowMySky-Qt6/cmake.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1681992000">- Fix packaging issue.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1687953600">- Update to 0.3.1:
  * on GPUs that compute mip maps of non-power-of-two textures poorly,
    eclipsed atmosphere rendering now works as expected;
  * atmosphere model examples now don't include Rayleigh phase function
    in the texture, this change fixes a "round cap around zenith" artifact.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1696593600">- Use better macro for selecting a newer GCC on Leap.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1718625600">- Update to 0.3.2:
  * The pseudo-reflection of the sky used by Stellarium now
    doesn't have the solar aureole, which looked strange
    (the actual aureole in the sky is retained);
  * Added support for GLM 1.0.0, which requires a macro
    to be defined to use experimental features.</changelog>
</package>
<package pkgid="99a61a1599d6e0ca59f0a41f5ab54e9b99d8a810b44df51db3017d8fc3c51905b1bb9e40fd4259651f332a0853c808573f5a3e9f9dab3f8f08a36a6165d02dfa" name="CalcMySky-devel" arch="x86_64">
  <version epoch="0" ver="0.3.2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1664798400">- Initial OBS release.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1667995200">- Update to 0.2.1:
  * ShowMySky library now has soname;
  * ShowMySky library name depends on major version of Qt,
    so that the versions for Qt5 and for Qt6 can be installed simultaneously;
  * The library can now be used via CMake's CPM without installing;
  * Fixed error handling on macOS (ShowMySky used to crash on any errors);
  * Various OpenGL state management fixes;
  * Rendering the Sun in zero order scattering now correctly takes
    custom Solar spectrum into account.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1681214400">- Update to 0.3.0:
  * Now it's possible to replace view direction shaders via ShowMySky API
    without re-creating the renderer. This lets Stellarium switch between
    projections while implementing them in fragment shaders for better image quality.
  * CMake configuration modules are now installed in paths like /usr/lib/cmake/ShowMySky-Qt6
    instead of /usr/lib/ShowMySky-Qt6/cmake.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1681992000">- Fix packaging issue.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1687953600">- Update to 0.3.1:
  * on GPUs that compute mip maps of non-power-of-two textures poorly,
    eclipsed atmosphere rendering now works as expected;
  * atmosphere model examples now don't include Rayleigh phase function
    in the texture, this change fixes a "round cap around zenith" artifact.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1696593600">- Use better macro for selecting a newer GCC on Leap.</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1718625600">- Update to 0.3.2:
  * The pseudo-reflection of the sky used by Stellarium now
    doesn't have the solar aureole, which looked strange
    (the actual aureole in the sky is retained);
  * Added support for GLM 1.0.0, which requires a macro
    to be defined to use experimental features.</changelog>
</package>
<package pkgid="c37887b0ae6b7589f2be59b0f618a8534ba8f9f38cbeeb57bddce9017f780428c8ea1a3dd47b05a8799c2004fa3b42c742cee8bd1e1a280122bacad7c24df0bd" name="CoreFreq" arch="src">
  <version epoch="0" ver="1.97.1" rel="1.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="15aabea2e527f763875363b7296410df8904c478d5d799f9e519b01f7fb7d7934dea3449fce4d29738c0f6ad75b1b80df80bec4bc4f261971859a954aac446e0" name="CoreFreq" arch="x86_64">
  <version epoch="0" ver="1.97.1" rel="1.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="8b8ff542e49bcbe47f3e8a7d93df7513ee55d1605cc67010d1b55d9b65b4dd66922485e6cfe47fab266a516473bce0b8b2a31c699427169a922544e87c807286" name="CoreFreq" arch="src">
  <version epoch="0" ver="1.97.1" rel="1.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="8fb2aa64206600f9f638a7a914d970d173bafb62d584c0122277378e414e07bcd4a6c9238900efadf0b94c140ee5062d08fcbf8ae4179659130170689e69f91b" name="CoreFreq" arch="x86_64">
  <version epoch="0" ver="1.97.1" rel="1.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="d868fd592afe9130192ccd759362adb6ba8c988c9e0ebd0ecdf93598cc30d87505deab84bf94f6890ef3bc7e5b8a86f56098715c39ee26b2dc0844951c6a7855" name="CoreFreq" arch="src">
  <version epoch="0" ver="1.97.2" rel="2.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="ca7f953593dc60661b28284109b21cce9c77524c249fbd62adc106934da854930773c9836bc8bfeb99528892fc106791a651555a4214ef2b68d97bede5fa5464" name="CoreFreq" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="37d352e07f559e1f330b4482a131b83b55f523693e75208edbdce2fd1d4a723f2fa884e27c5199e7b5a8eeaf01ff9715b567de7be9ccf91ceb92b4db1d483c11" name="CoreFreq" arch="src">
  <version epoch="0" ver="1.97.2" rel="2.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="52fb0ca5448fe3852cfde011cec01f8f7d7f8efb19d2a3549620ca4efa991bc20f17a0c3ec4f976c0636e9bc333b1039af880a05e76e4f3ccae74c1797057c51" name="CoreFreq" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="104192f0bd942e5b07887c7fb229501d8a60877678b6a35c7a24c8b1b115534a0bdfb12b34592fc761ed879e7d85fe6f740fa4df7b357bee0be0e21047f4c431" name="CoreFreq" arch="src">
  <version epoch="0" ver="1.97.2" rel="2.4"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="fd548ad68f9c72a5369eb50a92c1f99cbc67ffdbcf9aa0f45a4aebc1dfab9a1574bb3b66f5fbb026b8f05193066396da6cb4ee96214980115baf5ec9c835aee7" name="CoreFreq" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.4"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="ceb05b6cf6d415c1f9c31e497582e84a0e3a34fc0b72425b2fcd07d6817ccb3f02dedb81eec15da7a3500737a3c6c53a3233e50677ef2e0976f2178d50434582" name="CoreFreq" arch="src">
  <version epoch="0" ver="1.97.2" rel="2.5"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="7c1ebb749ca77dc23a782ad06f8a525ddb51baf3fde3ead45d0b33295060af04ce6626f02c1e84c96e8b828cc9d32fb620e19a8ae47a2b2b053a6e3c73682f22" name="CoreFreq" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.5"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="db64b6558685fd64619e189540aa04737ff1e71910868289376842400a6ddf195179d9b1b5de0ed29f1e7ec93e8b6596fc453a7d7dadf22e0eec393630f4da57" name="CoreFreq-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.1" rel="1.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="152ddea2e67d9fd5170b1b13f27b1000fcca57537d7bfc434e0157c9175f42b855784455f4029ce45b09b1fd5dad56d8e031445c2cd0f6c5e708d72babde69ca" name="CoreFreq-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.1" rel="1.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="ead8e7eb2e677ae7887eaa8e26bd6ada20715777c500f8a3c0ca2bb8142df43142be2ea96df4e40907f9256d448cccd08dae55d314a22fdac06b875ccf3faaef" name="CoreFreq-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="84b872b2c24e8b218343ccdab6dfeb730772ed76d9b4a9770fef367f77ac0394d626e87a352eb612a8390aa329842d4e0e0f58c3525446dd7f95ff7e5ccdd9ea" name="CoreFreq-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="95f08356d78cf5bfc2464d22dabc362ac37dc1cb46bc11552bc8e3c5983dd8215f0b1b1d021a15b00c7908c61cb2995328354c99df4bb955885b8af53724019f" name="CoreFreq-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.4"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="09cdea595a1f64e348f6c6dbfd8902c1ea9dcd80bf186fb593f24d596fed7aa779f4e416b089a5aa8612be1a67683c3a8404128036e652fd9b197368e89e5a6d" name="CoreFreq-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.5"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="52120748fb7c64ba720187194450d107f495beab2729694f42e3312ba8f3f48408af2a57887d3d9cef0ccf698e74d13f04ae3868fac6de6f6b62e7438da64f74" name="CoreFreq-debugsource" arch="x86_64">
  <version epoch="0" ver="1.97.1" rel="1.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="e385665317909f017bce54dfbf4f9a1401c44f27de2a3b0bce6b0e9f24b3b97fa34a2e8b4f8a6b8b4f1c1aa1757e1238da4ba53958ed86f3f6d1dc8ba13ce10a" name="CoreFreq-debugsource" arch="x86_64">
  <version epoch="0" ver="1.97.1" rel="1.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="ff071af94797ea2e308bfc2458929c01803de107ea1c0a8d3ec2c42f367661ec5a5ceca6a62f1cb6d7580bdf898761c4cd7c9fd2f2da562f836f014090c08785" name="CoreFreq-debugsource" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="e8f569a32fb69b609ff476dd620515553a220c5322d0b69a66a7d90b6e19b474a8556e279c3f9d3de9b7f2aa7b0523a7b5517d76d21095ddc48e82bfd2df243c" name="CoreFreq-debugsource" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="2b8be383cbf2a84490056c0fe146c4e41cc28497c0ba06370705aa1b3ef6c3dfa1ec92c6d7993d7f8bdb3cfb589648e5c28a1cd0226c4ff625d63224440450a3" name="CoreFreq-debugsource" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.4"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="f633fe97e7033904a24048f72022d4f87ca6594712a9f8757e8b3e3a4cc299cf0112729cd33c8fc793cf32f5e6a481be270ea7b86610aa300f61edada2944134" name="CoreFreq-debugsource" arch="x86_64">
  <version epoch="0" ver="1.97.2" rel="2.5"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="47b299f940de2cedad8fd7baa4c34445b23d01fe144156ac4d449951208927816fe863e8a83252f96cdad098b9f06ca489ee87a325acdfc8a19ddc54926a5191" name="CoreFreq-kmp-default" arch="x86_64">
  <version epoch="0" ver="1.97.1_k6.8.5_1" rel="1.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="6c9d01ce9899bf95435e887d21c06edf5e4cc1abd1cf75ae320c8e06d270cfd9add59442230d88b90a5b0fa0412dc67afe5ff409b6c9f60b187d31a702217937" name="CoreFreq-kmp-default" arch="x86_64">
  <version epoch="0" ver="1.97.1_k6.8.6_1" rel="1.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="b6d7362b35a0405c4cd2eeefddd08e34335522e056121862aae781672929df50e65d6d4bc88bd47076bd6e7260d285633bd08057392d686909b25ca53e02ea6d" name="CoreFreq-kmp-default" arch="x86_64">
  <version epoch="0" ver="1.97.2_k6.9.1_1" rel="2.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="105cec6a416646352975bfd4faaa00a2d89ba96f960ae686f29a93ccba8704bbb551ab9be93bfe01fd74ae90840e1b4da5175f87b08be7e51f196b15b6b59d4f" name="CoreFreq-kmp-default" arch="x86_64">
  <version epoch="0" ver="1.97.2_k6.9.4_1" rel="2.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="e3498ab7fe7adc7dedb2b9512b06f84a30a5c22cd4f5afbfe1f1860d5e3af34a436cb55f09b9b97cc3c0f1c62d40f3ddb280cee9f3f45a1a2292aa6980f9377b" name="CoreFreq-kmp-default" arch="x86_64">
  <version epoch="0" ver="1.97.2_k6.9.5_1" rel="2.4"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="f18beec6ed896e545543a430a85316bdde91d3658ef5ffe76ea946e3f434319207350a19abd3efe1238fce8413b79d535ae171f28a2b035b95cba52a69a10d05" name="CoreFreq-kmp-default" arch="x86_64">
  <version epoch="0" ver="1.97.2_k6.9.7_1" rel="2.5"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="1563c0243223444a2fd31c059aab7958a7b2eddcd73f4eaee4db3d2e08f8868eaa6cda1ba67259eaa82a47029343d72b3b2475f189a724b3d194369ab39fefdb" name="CoreFreq-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.1_k6.8.5_1" rel="1.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="33d3eeee37b0bacde71086ac8c4c85325ad369c143b12b66ae391d28df70304a9d403bd15f67a709f71891a99637687cafaf8b49704f86e8cb62b39ff5b1a555" name="CoreFreq-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.1_k6.8.6_1" rel="1.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1644667200">- Update to version 1.89.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1646654400">- removed non-working leap15_2.patch and leap15_3.patch:
  Leap 15.4 is the minimum supported version
- Update to version 1.90.1
  * support for Alder Lake architecture:
    in particular, specialized monitoring for Pcore and Ecore
  * more precise DDR5 and DDR4 timings from SKL to ADL:
    introduction of "Gear mode"
  * improvement using Power Limiters:
    zero W on PL1 &amp; PL2; DRAM clampig marked experimental
  * characteristics for Zen architecture:
    CPPC; C1E; MEM CLOCK in raw frequency
  * C-state Core for Ice Lake/X
  * various characteristics of C-state package for AMD/Zen and Intel (Lake)
  * various changes in UI
  * non-regression tests for kernels 5.16.12 and 5.17.rc6</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
</package>
<package pkgid="a17546520ba0a13ba7447f48fc261fecfa7cd7ec959c2bbcb5de54028ac463c467f45ea2cab374bbc70b9677735b3a1305f07d226c00c04d5d6760c8baeaa034" name="CoreFreq-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.2_k6.9.1_1" rel="2.2"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="dcfd7a3fd041c412f55fa94679b11276bb955fb3dbbb3a2c35c6d7966892219d93a06fd3f1bf7ec33a5357ab74662facb46513f5cdf9201148bacb2c8c3246cd" name="CoreFreq-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.2_k6.9.4_1" rel="2.3"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="957aff2af24ef60ac1debb0235054306ac3cc066b9b6f1d3c4afd53f716e28ed08dc0ca0e6e77778902f0f86099c338d8e27451138baee56125627d50724ec7c" name="CoreFreq-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.2_k6.9.5_1" rel="2.4"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="dce6601f2ed860e91ceb1e8508d6c7d72aeae866ea6ff2da76d70540203ac8f62bbeee8508da4c759b3bfcd55df7abb80d12ea2f3027eaf9474d76f3e36744b3" name="CoreFreq-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.97.2_k6.9.7_1" rel="2.5"/>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1655899200">- Update to version 1.91.3
  * No changelog was made available by upstream</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1661169600">- Update to version 1.91.6
  - [AMD/Zen][UMC] Fixed the Mem Clock and ECC regressions
  - Designate the Package identifier in Power consumed readings
  - [Intel/ADL/IMC] Guessing activated channel from the populated DIMM
  - [AMD][UMC, IOMMU] Adding missing DID of family 19h devices
  - [AMD_DataFabric_Cezanne] Removed the Experimental mode
  - Intel/ADL/IMC: Fixing the Memory Channels count
  - [AMD/Zen] Improved UMC mapping. Threadripper 3960X issue
  - Avoid some NULL pointer strings during SMBIOS decoding</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1667563200">- update to version 1.92.3
  - Export CPUID bits Intel Sierra Forest, Grand Ridge, Granite Rapids
    and completes AMD64 Fn0000_0007_ECX_x0
  - [Features] WBNOINVD and CLZERO instructions
  - Adding various Mitigation Mechanism aggregations:
    IPRED_DIS_U, IPRED_DIS_S, RRSBA_DIS_U, RRSBA_DIS_S, BHI_DIS_S, MCDT_NO
  - RDPID and UMIP capability fixed.
  - [AMD] Perf. Mon. version based on CPUID_0x80000022.EAX.PerfMonV2
  - [AMD][Zen3+][Rembrandt] Trigger UMC and IOMMU decoders
  - [AMD][Ryzen 5 6600H] Found voltage VID @ SMU 0x6f010 and 0x6f014
  - Introducing AMD Security Feature capabilities:
    SKINIT, SEV, GMET, SEV-ES, SEV-SNP
  - [AMD64] Non-architectural MSR: SPECULATIVE STORE BYPASS DISABLE
  - [Intel][2nd &amp; 3rd gen] Misc IMC optimizations
  - [AMD][Rembrandt] Provides Vcore from a new formula.
  - Dumping CPUID leaves from AMD64 Architecture Programmer’s Manual
  - [Intel][HSW &amp; BDW] Compute the DIMM banks
  - [UI] Re-assigned keys to move or resize windows.
  - [AMD][Zen] Uncore frequency: Improving the Memory Clock divisor
  - [Intel][HSW &amp; BDW][SKL] Make use of same function DimmWidthToRows
  - [AMD][Zen3+][Rembrandt] Provides the thermal sensor.
  - [AMD/Zen2 &amp; Zen3] Removed the HSMP capability.
  - [Intel][CML][RKL][TGL] Compute the DIMM Rows from CH_WIDTH
  - [AMD/EPYC] Adding the CPUID of Zen4 Genoa architecture
  - [AMD/Zen2] Introducing Mendocino architecture
  - Changed MeteorLake/N to CPUID 06_B5
  - [Intel] Computes BIOS DRAM frequency based on PLL_REF100
  - [Intel][SNB/IVB/HSW/BDW] Improved BIOS DRAM frequency
  - [Intel][SNB/IVB] DRAM frequency based on RAM_Select and FSB_Select
  - [Intel][IVB] IMC specifications and optimizations.
  - [Intel][SNB,IVB] Computes the DIMM A from DAS bit in MAD register
  - [Intel][SNB,IVB,HSW,BDW] Rolling back changes to the DIMM topology
  - [Intel][BDW][HSW] Query the IMC Power Down Mode
  - [Intel][IVB][SNB] Attempt to decode the IMC third timings
  - [AMD][Ryzen] Added AMD Ryzen 7 PRO 6860Z
  - [AMD][F17h-F19h] Can toggle ON and OFF the Instruction Cache Unit
  - [AMD] Checking the Ryzen "OEM Only" processors
  - [Intel] Specification of 12th Gen. MSR registers capability
  - [Intel] Adding Raptor Lake-S with CPUID 06_BF
  - [AMD] Introducing Zen 4 / Raphael architecture
  - [Intel][SNB,IVB,HSW] Attempt to assign the Rank per DIMM slot
  - [Intel][SNB,IVB,HSW] Attempt to fix the DIMM(s) topology layout
  - ClockSource: TSC udelay() asm implementation builtin as a default
  - [Intel][Alder Lake] Adding IMC entry for i5-12500 processor
  - [Intel][Alder Lake] Added default case if Processor has only Pcores
  - [Intel][Atom/Bonnell][IMC] Attempt to compute the DIMM geometry
  - [UI][Custom view] Show the Uncore unit in watt or joule
  - [UI] Display HWP or CPPC in footer for capable processors.
  - [CLI] Added HWP Capabilities and HWP Request to the JSON export
  - [CLI] Don't allow the HWP dialog box if feature is not available.
  - [CPPC][Firmware] allows (de)activation of the feature.
  - [CLI] Added CPU ratios to JSON export
  - [CPPC] Improved scaling
  - [CPPC] Build fixed down to Kernel version 3
  - [Kernel/ACPI] Attempt to write CPPC registers</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1667563201">- Repair deficient description grammar.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.92.4:
  * [Intel/Skylake-X] Permits MSR_RING_PERF_LIMIT_REASONS</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1670932800">- removed modprobe_corefreqd.service.patch and harden_corefreqd.service.patch
  now included in new corefreqd.service file replacing stock one
- update to 1.93.1
  * [PRJ] CoreFreq version 1.93.1
  * [ACPI/CPPC/EPP] Preview of AMD/Zen Energy Preference (CONFIG_CACHY)
  * [UI] Changed the HWP or CPPC ratio bounds.
  * [FIX] Putting `corefreqd` in the root cgroup (issue #379) Thanks to gel-crabs
  * [DOC] Parameters to blacklist the amd_pstate since kernel 6.0.11
  * [AMD][Zen4] Apply a voltage formula based on Rembrandt's. (#378)
  * [AMD][Zen4/Raphael] Attempting temperature per CCD from TCTL+0x308
  * [AMD][Zen4] Changed Timer loop
  * [CR] CLI code review and UI optimizations
  * [UI] Auto refresh the Topology items when off/online
  * [CR] Conditionally build with additional PMC Counters
  * [Intel] Adding Z8000 System Memory Controller Registers
  * [CR] Transformed global variable in cells padding
  * [UI] Windows re-scaling fix
  * [UI] Apply color theming to the CPPC capabilities list.
  * [AMD][Raphael] Adding device DIDs to probe UMC and IOMMU
  * [CPPC/FMW] Computes value bounds while Enabling/Disabling firmware
  * [CR] CPPC lib errors are now raised to Debug level
  * [AMD][Zen4] Increased the UMC size to 12 channels.
  * [CPPC] Handles the OffLine CPU case.
  * [CLI] Refactoring HWP/CPPC to print all capabilities per CPU
  * [ACPI] Computes the CPPC Bounds
  * [Intel] Linear Address Masking (LAM)
  * [CLI] EFER: Left aligned labels
  * [AMD] Reports UAIE and AIBRSE bits from EFER system register
  * [CLI] Changed mitigation mechanisms incapability labels
  * [AMD][Zen2] Mitigation Mechanism BTC-NOBR * ACPI/OSPM documentation
  * [CR] Code review on bit masks
  * [CPPC][ACPI] Kernel may decode the Guaranteed Performance Register
  * [UI] Optimize the cycles to clear the time bar.
  * [CR] Code review for extra compiler warnings
  * [UI] Time of the day displayed in the right side of menu
  * [UI] Display the current date and time in menu bar
  * [Kernel] Introducing support of `CONFIG_SCHED_BORE`
  * [CLI] Fixing ambiguous CPPC report: hardware vs firmware
  * [CLI] Surrounds _CPC feature with square brackets
  * [CPPC] Provides the ACPI _CPC object state.
  * [UI] Colors the task being tracked in the tracking list
  * [UI] Display the current time in the menu bar
  * [CLI] Reserve the programmable TDP section to Intel processors.
  * [AMD/Zen3+] Improving the DIMM geometry of Rembrandt UMC</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672747200">- update to 1.94.1:
  * [Intel] Gemini Lake
  * [AMD] Ryzen 5 6600 H SoC, UMC channels
  * [AMD] Rembrandt: maximum of two UMC channels
  * [AMD] Raphael: Decodes DIMM geometry from AddrCfg
  * [AMD] Zen: Aggregation refactored
  * [AMD] Improved DDR5 clock decoding
  * Optimized Idle Loop</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1673006400">- update to 1.94.3:
  * [AMD][RMB] If UMC is quad channels then unpopulate odd channels
  * [AMD][RPL] Provide Service Processor Vcore as workaround
  * [UI] Auto size and lay performance capabilities window
  * [UI] Adding comments to the EEO and R2H technologies
  * [AMD][Raphael] 7950X3D, 7900X3D. support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1674475200">- update to 1.95.1:
  * [Intel] RPL: voltage of Pcore, Ecore, System Agent
  * [Intel] RPL and ADL Chipset device IDs
  * [Intel] Decode the RPL IMC and improve DDR5 support
  * [Build] Raise `MAX_FREQ_HZ` up to 7125000000 Hertz
  * [Intel] Mobile {Coffee Lake, Kaby Lake} codenames
  * [Intel] Braswell codename detection
  * [AMD] SYSCFG Register
  * [AMD] EPYC 9654
  * [AMD] Transparent SME
  * [AMD] DRAM Data Scrambling
  * [AMD] Adding "Barcelo R" and "Rembrandt R"</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675944000">- update to 1.95.2:
  * Fixed the aggregation of the minimum ratio
  Intel:
  * [Airmont][Silvermont] Attempt to decode `tCKE` from DRMC
    register
  * [Airmont] Improve `tWTPr`, `B2B`, `tWWDR` timings
  * [Airmont] Provide a new IMC decoder
  * Add the Emerald Rapids architecture entry
  * [DDR5][DDR4] Add the `RCDw` IMC timing
  * [Raptor Lake ] De-activate the MSR Uncore counter
  AMD:
  * "Zen3/Barcelo-R" and "Zen3+ Rembrandt-R" codenames
  * [Zen] Thermal highest limit reset fix
  Misc:
  * Code review and Registers documentation:
    AMD HWCR, Intel HDC and DRP</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677067200">- update to 1.95.4
  * [Intel] [from 11th to 14th gen]
    Convert the DRAM Speed to MT/s unit
    Compute the Bus Rate based on the BIOS MC PLL
- update to 1.95.3
  * [Intel] [Airmont]
    Improved the IMC geometry
    Introducing the Spreadtrum architecture
    Fixed the Bus and DRAM frequency rates
  * [Intel] [from 11th to 13th gen] Attempt to probe the interleaved controllers
  * [Intel] [Alder Lake/H] Attempt to decode the TCO Watchdog</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1677153600">- added leap_compile_fix.patch to fix compilation on Leap</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1683115200">- removed leap_compile_fix.patch no needed anymore
- update to 1.96.0
  * [AMD]
    [RPL/X3D] Disabling the turbo boosted P-states change
    [PHOENIX] Adding Z1, U and HS PRO series.
    [Genoa] DAC address at UMC BAR + 0x40
    [Zen4] Adding the PCI entries of Genoa
    [Zen2] Adding remaining PCI entries
    [Zen] Query DAC &amp; CFG with the right UMC base address register
    [Zen4] Dump the CPUID Extended CPU Topology leaves.
    [Zen][Embedded][Banded Kestrel] R1000 Processor Family
    [Zen][Embedded] "Great Horned Owl", "River Hawk", "Grey Hawk"
    Complete the "Raven Ridge" and "Picasso" lists
    [EPYC] Moved "Snowy Owl" Embedded processors to CPUID 8F_01
    [Zen4] introducing Phoenix and Dragon Range
    [RMB] adding the Ryzen Embedded V3000 processors
    [VMR] adding the "AMD Ryzen 9 PRO 5945"
  * [Intel]
    Adding Granite Rapids, Sierra Forest, Grand Ridge entries
    Adding "Lunar Lake" and "Arrow Lake" entries.
  * [UI]
    Optimized decimal to digits converter
    Allow task tracker to select up to pid_max
    Can trace the frozen states of Linux tasks.
    Only print HWP frequencies within bounds.
    Fix ruler's aggregation.
  * [CR]
    Check CPUID[HV_PARTITION_PRIVILEGE_MASK] for HV_X64_MSR_VP_RUNTIME
    Uninitialized variable fix.
    [CPPC] Build EPP with KERNEL_VERSION(6) rather than CONFIG_CACHY
    [KERNEL] Linux 6.3: Employ modifier calls with the vma-&gt;vm_flags</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1684065600">- update to 1.96.1
  * [Driver]
  - Postpone Clock Source registration during startup until the Base Clock is computed.
  - Change class_create() according to Linux Kernel 6.4
  - Clear interrupt flag (cli) after Halt in the Idle method
  * [AMD]
  - [PHOENIX] Adding Ryzen 7940H, 7840H, 7640H
  - [VERMEER] Adding Ryzen PRO and Embedded processors
  - Ryzen Z1 CPUID' brand fix
  - Adding EPYC Embedded 9004 Series as Genoa
  - Adding EPYC Embedded 7003 Series as Milan
  - Adding EPYC Embedded 7002 Series as Rome
  - Adding EPYC Embedded 7001 Series as Naples</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1685880000">- update to 1.96.2
  * [Driver]
  - Allows compilation to keep going without CONFIG_ACPI_CPPC_LIB
  * [Client]
  - Adding two command line arguments:
  - Op Show Package C-States
  - OW Toggle Energy units
  * [AMD]
  - Specification of some Configuration MSRs</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1686830400">- update to 1.96.4
  * [AMD]
  - Display CPUID state of new and legacy features:
    Fused Multiply Add [FMA4]
    Extended Operation Support [XOP]
    Translation Cache Extension [TCE]
    Trailing Bit Manipulation [TBM]
    OS Visible Work-around [OSVW]
    LOCK prefix to read CR8 [AltMov]
  * [Intel]
  - Advanced Matrix Extensions [AMX]
  - Bits and Features of Sierra Forest and Grand Ridge
  - Attempt to decode the Meteor Lake Memory Controller
- update to 1.96.3
  * [AMD]
  - [Zeppelin] Probe more than one UMC controllers on Ryzen Threadripper 1900X
  - [Zen4] Dump SMBE and BMEC sub-leaves of CPUID 0x80000020</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1688212800">- update to 1.96.5
  * [AMD]
    Adding the "AMD Ryzen 5 5600X3D"
    Introducing the Zen4c Bergamo architecture
    Specs fixing of Embedded V-series and 3000 Series Processors
    Adding MENDOCINO, RAPHAEL Pro, PHOENIX Pro among others</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1712318400">- added preamble file for %kernel_module_package macro
- update to 1.97.1
  * added aarch64 support
  * upstream did not provide a summary changelog. Full list of commits:
    https://github.com/cyring/CoreFreq/compare/1.96.5...1.97.1</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715860800">- update to 1.97.2
  * [AMD]
  - [Hawk Point] Adding Ryzen PRO processors
  - [Phoenix] Adding the unlocked Ryzen 8000 Series
  * [Intel]
  - [MeteorLake] New bits specified
  - EEO and R2H bits inversion fix in MSR_POWER_CTL (0x1fc)
  - Reverse specification of MSR UNCORE_PERF_STATUS
  - Prefetchers fix of L1 Scrubbing, L1 Next Page and L2 AMP
  * [AArch64]
  - Providing Exclusive Load/Store to atomic operations
  - Improved asm of various macro functions
  - Removed LEGACY macros
  - Optimized the CORE_COUNT macros
  - Marked the Tools feature as nominal: Stress functions available
  - Allow user access to Retired Instructions counter
  - Fix Instructions counter overflow
  - Other PMC enhancements
  * [CR]
  - Fix a building issue with AlmaLinux aka RHEL-9
  - Linux kernel 6.9: Avoid redefinition of Intel MSR macros
  * [Doc]
  - README section for AlmaLinux
  - CONFIG_TRIM_UNUSED_KSYMS kernel build config is forbidden</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1715947200">- fix dependency on kernel module that was not versioned</changelog>
</package>
<package pkgid="fc03d5ed54309b3cd999c2abf3977018b742923662fdce4cb8e32467a7a6771a5aa2a97063b1a18c222eb96a218f08fbb6bdcfed29f2c7ab329cbe24c5078628" name="FastCGI" arch="i586">
  <version epoch="0" ver="2.4.0" rel="175.1"/>
  <changelog author="cfarrell@suse.com" date="1332849600">- license update: SUSE-OML
  Use SUSE- proprietary prefix until license is accepted upstream by
  SPDX.org. Fedora tracks this as OML.</changelog>
  <changelog author="coolo@suse.com" date="1339416000">- require the right version of perl</changelog>
  <changelog author="boris@steki.net" date="1363780800">- re-enable SLE support as %perl_requires is too new</changelog>
  <changelog author="fcrozat@suse.com" date="1409572800">- Update license tag to spdx 1.2.</changelog>
  <changelog author="p.drouand@gmail.com" date="1418472000">- Split out the system library, following the shared library
  conventions
- Make devel subpackage depends on shared library package</changelog>
  <changelog author="jengelh@inai.de" date="1419076800">- "libfcgi++-0" package name is wrong (should be "libfcgi++0");
  change to libfcgi0 (due to libfcgi.so.0 being present, which is
  the main one).
- Remove pointless --with-pic (it is enabled by default anyway)</changelog>
  <changelog author="coolo@suse.com" date="1506254400">- add FastCGI-perl526.patch as perl 5.26 no longer has . in @INC</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1683806400">- Fix url for website and source, upstream is dead for a while.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715774400">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.
- Rebase FastCGI-perl526.patch to apply with -p0, like all the
  other patches.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1718280000">- Rename perl-FastCGI subpackage to perl-FCGI: adjust the package
  name to the actual perl module name.</changelog>
</package>
<package pkgid="b2349e774c8aa2a536bc94c230fe37b7a2df747647526e196472bd23fed0b5e06dd5b7ae79b3356fb73582a52c69b726d2f7848c81f4b2cdf9acc2d67eaa13c3" name="FastCGI" arch="src">
  <version epoch="0" ver="2.4.0" rel="175.1"/>
  <changelog author="mrueckert@suse.de" date="1161345600">- remove perl_make_install for now ... i wont build for fedora
  any time soon.</changelog>
  <changelog author="coolo@suse.de" date="1234785600">- fix build with gcc 4.4</changelog>
  <changelog author="crrodriguez@suse.de" date="1246017600">- disable static libraries</changelog>
  <changelog author="mrueckert@suse.de" date="1253188800">- add fastcgi-2.4.0_missing_call_to_fclose.patch (bnc#525009)</changelog>
  <changelog author="jengelh@medozas.de" date="1261310400">- enable parallel build</changelog>
  <changelog author="coolo@novell.com" date="1291636800">- fix build for factory</changelog>
  <changelog author="idonmez@novell.com" date="1306411200">- Add FastCGI-perl514.patch: fix compilation with Perl 5.14</changelog>
  <changelog author="jengelh@medozas.de" date="1316260800">- Remove redundant tags/sections from specfile
- Enable parallel build</changelog>
  <changelog author="coolo@suse.com" date="1318680000">- add libtool as buildrequire to make the spec file more reliable</changelog>
  <changelog author="mrueckert@suse.com" date="1324468800">- added FastCGI-fix_deprecated_api.patch: (bnc#735882)
  Fixes an issue where CGI.pm received CGI variables from previous
  requests. CVE-2011-2766</changelog>
  <changelog author="cfarrell@suse.com" date="1332849600">- license update: SUSE-OML
  Use SUSE- proprietary prefix until license is accepted upstream by
  SPDX.org. Fedora tracks this as OML.</changelog>
  <changelog author="coolo@suse.com" date="1339416000">- require the right version of perl</changelog>
  <changelog author="boris@steki.net" date="1363780800">- re-enable SLE support as %perl_requires is too new</changelog>
  <changelog author="fcrozat@suse.com" date="1409572800">- Update license tag to spdx 1.2.</changelog>
  <changelog author="p.drouand@gmail.com" date="1418472000">- Split out the system library, following the shared library
  conventions
- Make devel subpackage depends on shared library package</changelog>
  <changelog author="jengelh@inai.de" date="1419076800">- "libfcgi++-0" package name is wrong (should be "libfcgi++0");
  change to libfcgi0 (due to libfcgi.so.0 being present, which is
  the main one).
- Remove pointless --with-pic (it is enabled by default anyway)</changelog>
  <changelog author="coolo@suse.com" date="1506254400">- add FastCGI-perl526.patch as perl 5.26 no longer has . in @INC</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1683806400">- Fix url for website and source, upstream is dead for a while.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715774400">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.
- Rebase FastCGI-perl526.patch to apply with -p0, like all the
  other patches.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1718280000">- Rename perl-FastCGI subpackage to perl-FCGI: adjust the package
  name to the actual perl module name.</changelog>
</package>
<package pkgid="8dd0794b20a04fab82b2f9a066571d77c60b5e78eb56e7b24913379084e09475137f5f661c8fa024760aa1d5db5e88c94bda2578bf15a1baecfd072b92da13a8" name="FastCGI" arch="x86_64">
  <version epoch="0" ver="2.4.0" rel="175.1"/>
  <changelog author="cfarrell@suse.com" date="1332849600">- license update: SUSE-OML
  Use SUSE- proprietary prefix until license is accepted upstream by
  SPDX.org. Fedora tracks this as OML.</changelog>
  <changelog author="coolo@suse.com" date="1339416000">- require the right version of perl</changelog>
  <changelog author="boris@steki.net" date="1363780800">- re-enable SLE support as %perl_requires is too new</changelog>
  <changelog author="fcrozat@suse.com" date="1409572800">- Update license tag to spdx 1.2.</changelog>
  <changelog author="p.drouand@gmail.com" date="1418472000">- Split out the system library, following the shared library
  conventions
- Make devel subpackage depends on shared library package</changelog>
  <changelog author="jengelh@inai.de" date="1419076800">- "libfcgi++-0" package name is wrong (should be "libfcgi++0");
  change to libfcgi0 (due to libfcgi.so.0 being present, which is
  the main one).
- Remove pointless --with-pic (it is enabled by default anyway)</changelog>
  <changelog author="coolo@suse.com" date="1506254400">- add FastCGI-perl526.patch as perl 5.26 no longer has . in @INC</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1683806400">- Fix url for website and source, upstream is dead for a while.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715774400">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.
- Rebase FastCGI-perl526.patch to apply with -p0, like all the
  other patches.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1718280000">- Rename perl-FastCGI subpackage to perl-FCGI: adjust the package
  name to the actual perl module name.</changelog>
</package>
<package pkgid="8727762be116e07ac73a3c5c3b9923b47ab43a0c3aea8d6933d3b632ad05a17dc9d44adbb654d8bb82c04bba0d60aff28da613974032c26327ddba940066caa0" name="FastCGI-debuginfo" arch="i586">
  <version epoch="0" ver="2.4.0" rel="175.1"/>
  <changelog author="cfarrell@suse.com" date="1332849600">- license update: SUSE-OML
  Use SUSE- proprietary prefix until license is accepted upstream by
  SPDX.org. Fedora tracks this as OML.</changelog>
  <changelog author="coolo@suse.com" date="1339416000">- require the right version of perl</changelog>
  <changelog author="boris@steki.net" date="1363780800">- re-enable SLE support as %perl_requires is too new</changelog>
  <changelog author="fcrozat@suse.com" date="1409572800">- Update license tag to spdx 1.2.</changelog>
  <changelog author="p.drouand@gmail.com" date="1418472000">- Split out the system library, following the shared library
  conventions
- Make devel subpackage depends on shared library package</changelog>
  <changelog author="jengelh@inai.de" date="1419076800">- "libfcgi++-0" package name is wrong (should be "libfcgi++0");
  change to libfcgi0 (due to libfcgi.so.0 being present, which is
  the main one).
- Remove pointless --with-pic (it is enabled by default anyway)</changelog>
  <changelog author="coolo@suse.com" date="1506254400">- add FastCGI-perl526.patch as perl 5.26 no longer has . in @INC</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1683806400">- Fix url for website and source, upstream is dead for a while.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715774400">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.
- Rebase FastCGI-perl526.patch to apply with -p0, like all the
  other patches.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1718280000">- Rename perl-FastCGI subpackage to perl-FCGI: adjust the package
  name to the actual perl module name.</changelog>
</package>
<package pkgid="bd691956320a0ea3ba43100abb99327503b02c0b0ef7f888894d8482f8aa271259179c5cba5da3d0568d7fde67a00ab5c744e1b771d54bdfd97ae0b03964959d" name="FastCGI-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.0" rel="175.1"/>
  <changelog author="cfarrell@suse.com" date="1332849600">- license update: SUSE-OML
  Use SUSE- proprietary prefix until license is accepted upstream by
  SPDX.org. Fedora tracks this as OML.</changelog>
  <changelog author="coolo@suse.com" date="1339416000">- require the right version of perl</changelog>
  <changelog author="boris@steki.net" date="1363780800">- re-enable SLE support as %perl_requires is too new</changelog>
  <changelog author="fcrozat@suse.com" date="1409572800">- Update license tag to spdx 1.2.</changelog>
  <changelog author="p.drouand@gmail.com" date="1418472000">- Split out the system library, following the shared library
  conventions
- Make devel subpackage depends on shared library package</changelog>
  <changelog author="jengelh@inai.de" date="1419076800">- "libfcgi++-0" package name is wrong (should be "libfcgi++0");
  change to libfcgi0 (due to libfcgi.so.0 being present, which is
  the main one).
- Remove pointless --with-pic (it is enabled by default anyway)</changelog>
  <changelog author="coolo@suse.com" date="1506254400">- add FastCGI-perl526.patch as perl 5.26 no longer has . in @INC</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1683806400">- Fix url for website and source, upstream is dead for a while.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715774400">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.
- Rebase FastCGI-perl526.patch to apply with -p0, like all the
  other patches.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1718280000">- Rename perl-FastCGI subpackage to perl-FCGI: adjust the package
  name to the actual perl module name.</changelog>
</package>
<package pkgid="08a4dad970f901664d37a637ad43ce391cf394c6eb87d705343568142cf2ae7b3d16a4556cd2e83ea8cf09977cc53f44072629608e351456279edaa6123d8ab1" name="FastCGI-debugsource" arch="i586">
  <version epoch="0" ver="2.4.0" rel="175.1"/>
  <changelog author="cfarrell@suse.com" date="1332849600">- license update: SUSE-OML
  Use SUSE- proprietary prefix until license is accepted upstream by
  SPDX.org. Fedora tracks this as OML.</changelog>
  <changelog author="coolo@suse.com" date="1339416000">- require the right version of perl</changelog>
  <changelog author="boris@steki.net" date="1363780800">- re-enable SLE support as %perl_requires is too new</changelog>
  <changelog author="fcrozat@suse.com" date="1409572800">- Update license tag to spdx 1.2.</changelog>
  <changelog author="p.drouand@gmail.com" date="1418472000">- Split out the system library, following the shared library
  conventions
- Make devel subpackage depends on shared library package</changelog>
  <changelog author="jengelh@inai.de" date="1419076800">- "libfcgi++-0" package name is wrong (should be "libfcgi++0");
  change to libfcgi0 (due to libfcgi.so.0 being present, which is
  the main one).
- Remove pointless --with-pic (it is enabled by default anyway)</changelog>
  <changelog author="coolo@suse.com" date="1506254400">- add FastCGI-perl526.patch as perl 5.26 no longer has . in @INC</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1683806400">- Fix url for website and source, upstream is dead for a while.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715774400">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.
- Rebase FastCGI-perl526.patch to apply with -p0, like all the
  other patches.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1718280000">- Rename perl-FastCGI subpackage to perl-FCGI: adjust the package
  name to the actual perl module name.</changelog>
</package>
<package pkgid="a2847889370e0dbed38ec534fbd9591fc6e786d6c2108f3db788beb97b0ab060ebeb2ae3241573dca26423e60894acd9c54257ebe597de945e5f789277bee863" name="FastCGI-debugsource" arch="x86_64">
  <version epoch="0" ver="2.4.0" rel="175.1"/>
  <changelog author="cfarrell@suse.com" date="1332849600">- license update: SUSE-OML
  Use SUSE- proprietary prefix until license is accepted upstream by
  SPDX.org. Fedora tracks this as OML.</changelog>
  <changelog author="coolo@suse.com" date="1339416000">- require the right version of perl</changelog>
  <changelog author="boris@steki.net" date="1363780800">- re-enable SLE support as %perl_requires is too new</changelog>
  <changelog author="fcrozat@suse.com" date="1409572800">- Update license tag to spdx 1.2.</changelog>
  <changelog author="p.drouand@gmail.com" date="1418472000">- Split out the system library, following the shared library
  conventions
- Make devel subpackage depends on shared library package</changelog>
  <changelog author="jengelh@inai.de" date="1419076800">- "libfcgi++-0" package name is wrong (should be "libfcgi++0");
  change to libfcgi0 (due to libfcgi.so.0 being present, which is
  the main one).
- Remove pointless --with-pic (it is enabled by default anyway)</changelog>
  <changelog author="coolo@suse.com" date="1506254400">- add FastCGI-perl526.patch as perl 5.26 no longer has . in @INC</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1683806400">- Fix url for website and source, upstream is dead for a while.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715774400">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.
- Rebase FastCGI-perl526.patch to apply with -p0, like all the
  other patches.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1718280000">- Rename perl-FastCGI subpackage to perl-FCGI: adjust the package
  name to the actual perl module name.</changelog>
</package>
<package pkgid="7be2809877de95054b1b63a44ad127bdfb75f4ce9b15bd757eee3103710b4cce9461d667a1fddffde988f230ec13d3a9187365b557e341aeed03b5318ac59399" name="FastCGI-devel" arch="i586">
  <version epoch="0" ver="2.4.0" rel="175.1"/>
  <changelog author="cfarrell@suse.com" date="1332849600">- license update: SUSE-OML
  Use SUSE- proprietary prefix until license is accepted upstream by
  SPDX.org. Fedora tracks this as OML.</changelog>
  <changelog author="coolo@suse.com" date="1339416000">- require the right version of perl</changelog>
  <changelog author="boris@steki.net" date="1363780800">- re-enable SLE support as %perl_requires is too new</changelog>
  <changelog author="fcrozat@suse.com" date="1409572800">- Update license tag to spdx 1.2.</changelog>
  <changelog author="p.drouand@gmail.com" date="1418472000">- Split out the system library, following the shared library
  conventions
- Make devel subpackage depends on shared library package</changelog>
  <changelog author="jengelh@inai.de" date="1419076800">- "libfcgi++-0" package name is wrong (should be "libfcgi++0");
  change to libfcgi0 (due to libfcgi.so.0 being present, which is
  the main one).
- Remove pointless --with-pic (it is enabled by default anyway)</changelog>
  <changelog author="coolo@suse.com" date="1506254400">- add FastCGI-perl526.patch as perl 5.26 no longer has . in @INC</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1683806400">- Fix url for website and source, upstream is dead for a while.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715774400">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.
- Rebase FastCGI-perl526.patch to apply with -p0, like all the
  other patches.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1718280000">- Rename perl-FastCGI subpackage to perl-FCGI: adjust the package
  name to the actual perl module name.</changelog>
</package>
<package pkgid="a6bc427d050a815f5c4b57d6ea8b806ad9b6624c3633279cfb5dd7a69f005d4e94ce531db2e3e403dbce13d98d5d112a9d6bf1bb3e4d2b1e5c3e93e608c29be2" name="FastCGI-devel" arch="x86_64">
  <version epoch="0" ver="2.4.0" rel="175.1"/>
  <changelog author="cfarrell@suse.com" date="1332849600">- license update: SUSE-OML
  Use SUSE- proprietary prefix until license is accepted upstream by
  SPDX.org. Fedora tracks this as OML.</changelog>
  <changelog author="coolo@suse.com" date="1339416000">- require the right version of perl</changelog>
  <changelog author="boris@steki.net" date="1363780800">- re-enable SLE support as %perl_requires is too new</changelog>
  <changelog author="fcrozat@suse.com" date="1409572800">- Update license tag to spdx 1.2.</changelog>
  <changelog author="p.drouand@gmail.com" date="1418472000">- Split out the system library, following the shared library
  conventions
- Make devel subpackage depends on shared library package</changelog>
  <changelog author="jengelh@inai.de" date="1419076800">- "libfcgi++-0" package name is wrong (should be "libfcgi++0");
  change to libfcgi0 (due to libfcgi.so.0 being present, which is
  the main one).
- Remove pointless --with-pic (it is enabled by default anyway)</changelog>
  <changelog author="coolo@suse.com" date="1506254400">- add FastCGI-perl526.patch as perl 5.26 no longer has . in @INC</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1683806400">- Fix url for website and source, upstream is dead for a while.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715774400">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.
- Rebase FastCGI-perl526.patch to apply with -p0, like all the
  other patches.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1718280000">- Rename perl-FastCGI subpackage to perl-FCGI: adjust the package
  name to the actual perl module name.</changelog>
</package>
<package pkgid="2ea17aa0b7c4754e3a8a50caa9d46ce690f43cdfdb6d76359db16911c73ad61bd1477d8c22cac59898c66cb05bfcdfaf7df8f2bfbc369bbcfa917ad6d2ae7aca" name="ImageMagick" arch="i586">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="4e02b282836597dcd83572c369067b435764386ae43b8f9f861288a73759b0bef5420f940f16a929c4aedd77fab310f3f562aa774952f1eedbdfa4b4b3ca5116" name="ImageMagick" arch="src">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="470da6c28aff819f91fe1da1a0de59f2bc3af9de40d37850ded0e431fceaac762feba4bf7afa5253eb72069d69b91208bcef994e5dcfdf09e2c40c4cf05f8e6f" name="ImageMagick" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="2834090faff82aa633083ddf85cee58597f0a1d520482912e824aca4192e1611a61d2b702d0a2d65e28dc1db22e7e2ab281d15770abef55767ed647d39317fa6" name="ImageMagick-config-7-SUSE" arch="i586">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="7d13b141747569f5dda3336da700fa2b90af2fc2ec859533296df9412bc123ed1ecec294e96e98a0c24958b58e5b7451d3b23cc22c4854981e98644ca0e0f67b" name="ImageMagick-config-7-SUSE" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="f5366bd7381d3b8ad202bc0e42ffac5617f3604dce56fe80a718596eb839e0f83413c49964166daf7951e0025ec91875e38942535026eaacd5b0aad8ba78daa1" name="ImageMagick-config-7-upstream-limited" arch="i586">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="364b118ac7d89217aa48e5a8858137a6fb8b1188a3c35c1f2e84eef1a33d4e1ac35e9b6ef0cd5eaa5c282d3e92ac00ee3f4cf12315efa03640a04430012a514e" name="ImageMagick-config-7-upstream-limited" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="f78f6f8a4f19823e81f65967d7ce8df270415e471bd82a10750ec96723754612c53973deb473fd0afe3f450ad1b7c82a54bd045a5790603739ed3b9d5561b456" name="ImageMagick-config-7-upstream-open" arch="i586">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="5336bd93259d3b65ab059186e145925fadc74196501476d7a2197cfff1a08916937a8571e8ace11f0856209d3493595f1a1a931bebc9961b0bf10d8441171864" name="ImageMagick-config-7-upstream-open" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="193d64e423258cf207ffd2ee8f635d56c59826dfd9643ca1193fce76efe017b9052d73b8e342954cb82c5382b222ffeefc582d75392d55eca55dc60f6a517b28" name="ImageMagick-config-7-upstream-secure" arch="i586">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="3928206fd273853c95c9b1ef3fd03baecf9320b32067be241ade5063c018aa327772f81aa00358945f6b6de664943c4fb9628dd160696937eb3a4b1238b96ec0" name="ImageMagick-config-7-upstream-secure" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="369a004797b526a97935344b13ee071a323d5405ba187d841d3be876ccc03202dcf4a86d86241170739eef3464e622e6b0ddfeab040ac4bb1b6cae908cd9dead" name="ImageMagick-config-7-upstream-websafe" arch="i586">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="c611e31b41da3d5afb8c31788b19ad650cd7a7e4ac840565474e16f576702cea9043b6d0fa438476da54abf1ed6b7e97c524d9d54633e88df991d9a61981b2a4" name="ImageMagick-config-7-upstream-websafe" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="661299d967754ecbb624c69491bd873ca59b746b2afc1e3538dea874024d9fa1e5d0b0fbe43298f14d7b93bbb30e7ac979a652c86522f7505704acbad5b7cb31" name="ImageMagick-debuginfo" arch="i586">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="8676e0e5ac5af3360509726091e59279bfa05b96d765ee678a6c01a6b3e9f50b2cb71fdb30078d53f5c1ea7e43e918c3e5209302aa5dc20a41b944cbcde17bbb" name="ImageMagick-debuginfo" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="2960fb73d619e63b8be78a2e0851514e608d03eaf243d8303ff9a0ef7f75dddaffef0df0d136fcea7d869ea9483543b41a905c946d416d58526e0b3584be8203" name="ImageMagick-debugsource" arch="i586">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="262291d00b58cac719e1772360e7274cb5a13ed0e05bb2fa5d72d59b2a69dd8fb63f478db4db1d162c2e2fa66d784aadaddceef890b87aca1ec5f7d64fb15c4c" name="ImageMagick-debugsource" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="20610cea3cf2cb631bcee1b0a75b8ac61fce8424e0ce81f57f88c22cb034bd3adbe748db8bc7cc287aae21e7386b88884cdc6a39d4c45f7c2d0b8f9f13dfa311" name="ImageMagick-devel-32bit" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="54688e90c195f03f1b3919f494ea1050abb7ff75e06be20898af9eba94abfa65a2b9f6e8443a9b391765e407e6863c8111481259ef6be7d42cf82cc60abbbbad" name="ImageMagick-devel" arch="i586">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="83ce062710b94626a1ddbcdc581907aacf07daa4abadf37a5992fc34259ee0adf84fea143a5b376206dc048c6f17f8c97c9a100eb3dd8c7dc09862752a11ab11" name="ImageMagick-devel" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="d32e1e0d45e0eccd27c458f64c82fa17b90127d6b8d6f11692bd2a8b85f744979013c3d7cbaccb45f942990ad9d329876dc29290bc19f1483903e4eb8daa2f2c" name="ImageMagick-doc" arch="noarch">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="51929cdbe77efefc2afb011935e192c9c658282d5715f23e3af848572039ad48e4544ff76a0cedb8115bbca09d9fc1fe0f96c672086dc2b458a28d0260d3bcea" name="ImageMagick-extra" arch="i586">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="e75f4d2f16ee4da56744f2a27aa974f54882e4cb0d88c6681ab1513152cc118f34360016b84a5bf9a74f5f0d54ccdcf1d863d6be0bc643e9e5200727c268156a" name="ImageMagick-extra" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="e70b33fa5fdf407174eb28022702ed8af0689ce4731c03a6d76e8b65371e326ef071d0b0c6967437aebffa71a217675dc03030c534c42559442046c8e1004689" name="ImageMagick-extra-debuginfo" arch="i586">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="1bedb93a11d4f55dff3be77d50de972dcacbc4d55f971adc689e1e18a7f8e67c8b48180c240e73c8066911f13e60b2ef951b884ff3d386fe172cbb5e3dcb9547" name="ImageMagick-extra-debuginfo" arch="x86_64">
  <version epoch="0" ver="7.1.1.34" rel="1.0.2.1.sr20240605"/>
  <changelog author="pgajdos@suse.com" date="1704456000">- drop update-alternatives for config; use exactly one of configuration
  package provided</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705060800">- version update to 7.1.1.26
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="munix9@googlemail.com" date="1705233600">- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
  'Conflicts: imagick-%{config_spec}'</changelog>
  <changelog author="pgajdos@suse.com" date="1705320000">- use correct policy.xml</changelog>
  <changelog author="pgajdos@suse.com" date="1705406400">- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1705838400">- version update to 7.1.1.27
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1707652800">- version update to 7.1.1.28
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1709035200">- version update to 7.1.1.29
  https://github.com/ImageMagick/Website/blob/main/ChangeLog.md</changelog>
  <changelog author="Marcus Rueckert &lt;mrueckert@suse.de&gt;" date="1709380800">- We can not replace a symlink with a directory on the directly
  Unregister the whole group manually in %pre with
  update-alternatives. (boo#1220818)
  Restore Requires(pre) on update-alternatives for the mean time.</changelog>
  <changelog author="pgajdos@suse.com" date="1709553600">- enable SVG again
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711022400">- allow delegates to be executed, was disabled by default policy
- modified patches
  % ImageMagick-configuration-SUSE.patch (refreshed)
  % ImageMagick-library-installable-in-parallel.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- allow stdin/stdout
- modified patches
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1712577600">- version update to 7.1.1.30
  * install perl module into user-specified prefix by @bugfood in #7192
  * Fix bmp option to bypass file size check by @OnTheList-1 in #7194
  * add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
  * Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
  fix https://github.com/ImageMagick/ImageMagick/issues/7230
  + ImageMagick-wmflite-detection.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713182400">- relax list-length resource limit, fixes build of python-Wand
  % ImageMagick-configuration-SUSE.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1713787200">- version update to 7.1.1.31
  * Convert big PDF documents is slow #7263
  * Update release.yml #7258
  * Update README.md #7245
  * uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
  - ImageMagick-wmflite-detection.patch (upstreamed)
  `</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1714910400">- version update to 7.1.1.32
  * Fix GIF ICC profile reading #7282
  * uhdr.c: add support for rgb inputs #7273</changelog>
  <changelog author="pgajdos@suse.com" date="1715860800">- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1716638400">- version update to 7.1.1.33
  * Fix typo in #7294
  * Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
  * Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
  + ImageMagick-update-image-signature.patch</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1719144000">- version update to 7.1.1.34
  * Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
  * Fix a typo in convert deprecation warning in #7383
  * Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
  * Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
  - ImageMagick-update-image-signature.patch</changelog>
</package>
<package pkgid="d9cb56a4201f711462cf172c655f92d9df462ae97da995a6b3c691518c61ffebe331e3a5dda7bddc26dca0867ca4700d039ca569c498498b64f46859f0a19e91" name="Kalpa-release" arch="src">
  <version epoch="0" ver="20240605" rel="2939.4.2.sr20240605"/>
  <changelog author="openSUSE &lt;packaging@lists.opensuse.org&gt;" date="1717588800">- automatically generated by openSUSE-release-tools/pkglistgen</changelog>
</package>
<package pkgid="35c881a604685aca2f9f0be293a7526eeddd6808acfb867c97d114210f83254bbc4090e43511f2645cc79f2a7d6c7de2ce993dca17fb1b2351061689991be43b" name="Kalpa-release" arch="x86_64">
  <version epoch="0" ver="20240605" rel="2939.4.2.sr20240605"/>
  <changelog author="openSUSE &lt;packaging@lists.opensuse.org&gt;" date="1717588800">- automatically generated by openSUSE-release-tools/pkglistgen</changelog>
</package>
<package pkgid="3791a0510bb8b691a6d897e62cc2abfadc05b394b2db611fe6b0b202e919407f95a634a42afe54fef1fcd13ec024fe9154d3e06ceebe5644149c8b436cb04815" name="Kalpa-release-appliance" arch="x86_64">
  <version epoch="0" ver="20240605" rel="2939.4.2.sr20240605"/>
  <changelog author="openSUSE &lt;packaging@lists.opensuse.org&gt;" date="1717588800">- automatically generated by openSUSE-release-tools/pkglistgen</changelog>
</package>
<package pkgid="68174f7900f4d6ce189447ce0a140229d5c4c1069c78c629235f8e3ebe7a66ac36c886de7b358018d99a842cf9bf08805846e1e836682fcc7edb4cd8b8c75f63" name="Mesa" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="4ef802f27c7b246cdfdb6131218fb0d0a7b4bbaa341564201ca53160d3758f4dd4ce1559209016a9203b129629c2b0264b58347749da01d15e1520fb40725f34" name="Mesa" arch="src">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="4c756f3a1e1c1f155f1e11adfead5e7c18bfe86d4f24e9bd2bd4b4bdefb35a2a63a875b1344c30daba45d6096cda1493d2e6ea9d46955b0a2a3c01a4f907b0bf" name="Mesa" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="3b83670cb4ef6d61314c7dec1a5d6347f5f9e8e6e69ba8d80e77982d97e1c3873072787bfb2756c243dd8cf34326a20123e739b146144ee64a139fc30d6f9a5c" name="Mesa-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="c3f49f7886c1f33d8fbfbbcf28ba22dc0d0d42f420b7bebfbf4a90c8f772e9b57d533cf0dee7bd7cf4502b6eed8222350bf35370b941aa4ab6dc4e74a4bad4b5" name="Mesa-KHR-devel" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="296e65dad05de4314d2792736e8656948a4cf2545ea93b01deb49b733d6d92a35fead85d2625e4165925ac8a194a5c68ffe588c227d3d3b2f35309327811db1a" name="Mesa-KHR-devel" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="0a2359f9e43771e6341c40cc7a4c4f73270b17d0b13cdbd9a4133f18db422b2ed527e8ef3d02455de460be405b29deb8033ec86d30a11199d2d7618e4191f63a" name="Mesa-debugsource" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="feba187c7e4616978563c6ea98d1b47b89027cdb9a992fc0100770df147dae845663008052acb01bb20b5970bbba37805cefcd4fe2ebb0ef1373aea9442acb8e" name="Mesa-debugsource" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="99ddba25f1b27cb0113dfdedbb30a6163028e06e55dc8c4c37848987bb7e7cd5a17e12420644d9b084ad2f359594ad1bb95aa99bb65c93227215739ccfa88acf" name="Mesa-devel" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="ace8cfd1d8891aee132156e7a1a09eeea34a429728234013fbe9738c1a730fd3f7a0d685a29c367ce54fd06aa9be319d8bdf78f5fad7ccf1dcdfb5a419ee1d08" name="Mesa-devel" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="b9b201a167fac8600a904c2b1b1c3dab87d8952b71025e74658446fe2242189f17325584c7c3d67e74a031bbeefc5783f9b303ca23cfb064b51ce530d9f2de88" name="Mesa-dri" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="8cdb982a86db9f9eb59c68279ced8bc1252bdc8493167e2efb28e0913c9f2f49b30cdbb0324f38affdcf89c529a0552ed8fcfe3593e057b1779b84b6674a6585" name="Mesa-dri" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="24e19dbbbcb14a046dc3e6035f395fc30c236c287ff0c31e1de831179542de34a4a827d9be2b55bd3095bb00936d46dc72f5803babe48ae6f5e781f63a8829f8" name="Mesa-dri-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="87d0a6d17ce7aec41d54f1b059f2e36a12ee633b254d464c586df9bbfc7e37c3ccc1203b3abb1488607a20a245d3208ec4db615cdd4d65d2127d88f38cbaa437" name="Mesa-dri-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="89a341a421528347e850fbc5046d5a7d9e07997d2019e8f99951bd8df99cc818d44c7b36eab21f675cbd263d00444ae293376b068e43839ddaa0aa8cf13dda67" name="Mesa-dri-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="d88103ab4396428653b7f90f0f5e533b1c0cff3af563be68165a59297c5cc8613b579c7a85541569298543baeeff39c237ad4c874d89f9a120037e4248a07f5f" name="Mesa-dri-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="1989c928b8e3abe7905d413da5cefc614cf90583d99d26d090631d63120cb8499f2a734f93d51271936edb0aded2437d20e574e0270996b89eeae61716cd3566" name="Mesa-dri-devel" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="91b90e9b9ea1e77f7087cd8f2495d26781d284ac9e4b10f83222d14be5c97791e809a7b53fd717c6d62a9d9be9a0208a85d9d039c0e0d092cdfe05a2f2edd9d1" name="Mesa-dri-devel" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="04423fae6faf67fa98f79879bcef1dbf2f341ee1de7a71282a9454287e67fd8cb4296df270a6f8fea0af2815c2158f2aa6577193186f9027725ff71c64c14b25" name="Mesa-dri-nouveau" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="2af2de61d914d55fc0a951117287a1acdde03312285c7c5322e4d0edd60d27cf077c5323f3f9306e1cff7e80643589abef4078c0586333f7d561aa5bdcfd9222" name="Mesa-dri-nouveau" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="4df57de6161558d434be682471bb39539339a624a661c9463b5ba08680cc4e849e6174fb6f4df9bcef1e17aff4f142bfc94f97e7a568d2ca56d1917ea77d02e4" name="Mesa-dri-nouveau-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="b0e29502b58a7689b6acd4b0aae79e3427f2f1793f512135b7c75be746f7f9ab1cb37323b4fa969b82cf0baf66b908c345a4c7fd52d2b760bd4d07fb2db3fde2" name="Mesa-dri-nouveau-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="2a0857f9520e97d76243daa0b8daa48f5433a25f7d1a7f79d90a5199dec3a8d529a9b10960b03c31871d9ca26ae70f5bdf614ee489af8be4ee99ad25fc124b83" name="Mesa-dri-nouveau-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="aad266473134ea8729bcf8360e11eaad350ad3b89619bf8e5babc02c1b6896e113bc62e32971a30e92b96cdb9d13542be0cf7005d06f64ce8031878b9998ad09" name="Mesa-dri-nouveau-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="7c299f91a7187f29f52adf2d43f6f72c4abd411a7fbe61b5f95b00dc1cb935f9c80e7a6968cfe334a3ab46446ff1d76274840f4fb1520b43725bf401eb1a8195" name="Mesa-drivers" arch="src">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="86b708df48870ff5c2946e4644827b919d2fe41743f1f88af0126b322514f7065e9359f216ab7ad83e566b761d1745f982d0e4c3c934a572dcfbc283557d72f2" name="Mesa-drivers-debugsource" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="a2ea3e4655ddc3318d89ab1374b28e8788bd823f8e86f605b0ce2ebbfd20240b3d2d02d505c46b13ed69fa0e7d6e7fd7921abd58a5dcaf20928c60ba91e05a0e" name="Mesa-drivers-debugsource" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="c9261e54092848479b88ecf6e21d1d40146476d2f9d325cb50ffe0dc6ea6d8d879b2530dc779c4016909813b22642e65d7729cf2b7742ba7ae1dc61a9cb81b4c" name="Mesa-gallium" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="83134475bd60259a355fbc64fee59ac0e40f08f8fdb367b602395be5f46ccaf2e020aa515da1ef98ba155085c196a8e0979b3a8108b43eca973b990d9c1375db" name="Mesa-gallium" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="cf5918fcdd8c04ffa07c2d63b0e0c832e6348ad93fbf5b510a7bc12246a489e46645be4da750fdc36d1b8f247c97d2512a6bf4b2394719df1a2e743573f3ff8c" name="Mesa-gallium-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="ec282980acc6fecf76fac447ca93dd8ffc5a342128765bb2e8fa0dedcddc4dbf5e0d3ef146f45c52df63ff536a6b9d148e4ff40bf73ee0fd0a8f1218aa743855" name="Mesa-gallium-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="0ecfdcaff06c2e04f2521f3fe9c30dbf9a582fc3e71a7ede1a43ab46b04218df9f893f132cddd78a1c57b6d2d57e49024dde16a4dcf9b1925d74726e76aee4fa" name="Mesa-gallium-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="874ebe0d8eb9796d73ed5570dda3ddfb7b2a364e86ce3f6cb891a65efdc72f3934449a15fa8e9320a1dbfb20cff863782333aa850fb756e3b26e262fb40c3c98" name="Mesa-gallium-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="df5dc0a55a577d4c1a18656d3f84ef05add2c89acc7ed827f3376374abf0ddb8d6aac1010eca74bdacf18006d52c96ac632bb6aeaa257347c49010a6c8c36c21" name="Mesa-libEGL-devel" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="21ccfeb25f3c0c721f912679f6b5e376ffa27dcedf5adf196179c7439332559924a5ca3bb5b83efe0d26be49ac1f5f468e0e6cdd5392354106ff726be7d1f95e" name="Mesa-libEGL-devel" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="af041f32bf561fd9a44c24883dea5d3b6f7e6883b2b6a5ce7d580723795484b0d475f074ae7b49357f3da8f68aafa0399af25f5b971e5373dc8f698da282dcb2" name="Mesa-libEGL-devel-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="97d5edf06df84de4edd22433a0022b4d50014ffdfc7521f793f77c94043a01f54b36bc81e9913c930248f7ead08d7da233f9a9c6dfeec6f923e90035d1e11047" name="Mesa-libEGL1" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="f8d3dbd36fff38d5bfe851d9a7b93a0e94e4c096d55231debb28a22fb522409e0c5ce3c9a6f061db9e20daac0a6f45a435f493afce0dc35a9c9e7a18a853ab3c" name="Mesa-libEGL1" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="3f3bccb35b9e51c6299b8df86c87ddd5f17b8f27fa0eb503e724262ca5f57f6228c52281e7e269d36c807de839d392b942f56137d3eee41f169587969bd5c70a" name="Mesa-libEGL1-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="e1193bd7cdda77731b35fae9d4bdcfa18df1373021cba60bbc45b83b6ad79e6a286c1981bba6b252a5da7b268d7d6718c01d05f8fbd3715ef5f40ba97ea4fc83" name="Mesa-libEGL1-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="8e1ce4f737893f5438d674a082ec3dc50d5cb38b79d083b5883a723eaa11b12f9560871f9e4b567b23e9603168e7595e3b92184567ddf2246eee0c0149592d95" name="Mesa-libEGL1-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="d3c4558a3b5e2c634e772998fffa7fd69a1c215d449736fb61e2ffb3f4411f5cc13505ebc26f739fae35174f03857b4d9c1ca11c4fe7eb9a0620f8f0d1a45c81" name="Mesa-libEGL1-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="326908bf84fb100c0cdafe10f42d58842da8c6f0a4eb911092a2fb345db94b9c08a5ef11f9c5d75c16f47c318b5c62fac8abe4caed87ebd9d491c4f4c0ddaa37" name="Mesa-libGL-devel" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="e50177b6ada9dd9c51112a5f0099a54e616675dfec6c9eb26b55d8ce605afced76b9f936a4c7e1182c59eec4a3be8ea556ada34dfbbd312f8da780786a2d1d13" name="Mesa-libGL-devel" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="57bbb2250de32d6164a643e141ef398cb68a2618dcd746bfe977a91b0554b5456c7cdb3afe2afc1e6be9f6cfba9f74ce5781728b1ebd598419b8dc855f9f94a3" name="Mesa-libGL-devel-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="b0de50d8cd25f8cfe89518f423ee266dc86ea9845bea6ac570722d5738db0801fc8db49e137ae4a29e705719731a2697f88ae247a166982838f8aabec5d82283" name="Mesa-libGL1" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="8fdb4c3894a8ed1b8d0dd0bbd9a1eb2717e7abf16629510626be2cd5363bd4edf531c96c98fa843a7d7a3cefaa1301c95568dc7185f430acd4b4917b40a5d66e" name="Mesa-libGL1" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="c42c939c05fadf64ff8063a70dab0f300077665a3beec65effa7c43c4e69bea5ade10c1c5324a3a0b8a0ec3fba038b412ae15c97a9ba7bc6f1b5fc954031999b" name="Mesa-libGL1-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="37167347d1235b71cdb01a7b82cbf9bfa03dc61293efea887ff1a8038189a86bb7644fe4bd6dfbb9b48819938486e34244dfd2ecd8cb588cad11d519bb1e309a" name="Mesa-libGL1-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="d3b50b6a4f455831c05b5681871be9e7779deffbbafc109edbb1e521f5e03b9e788441426203ac17b3637aec9f00866b71ff2dfffad451e63f476ef3d1062198" name="Mesa-libGL1-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="a22e8ea1587740f541c9b9812135f3b88754359b8accdc7ef4fa0554742aa90a5e52cd492656513f4a979d0cbb39270a713410ce37e37cf3d9700c8bc72153c0" name="Mesa-libGL1-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="35c9982a76b09a5b60a72af6e595691f57dbf2df747507911eca025eccc4d652f8a2b64ac4a7fd0af3dd7e973159ef159474cfb320edd28eb563a16117bd0fd1" name="Mesa-libGLESv1_CM-devel" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="5efa68c908c9ca7614040bf35e3e07fd6fd3099802730a76481f51c9991ae2cbf89a5b049c211a54248cb13b0895333da7de02882f46ac9c23accace69491fc5" name="Mesa-libGLESv1_CM-devel" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="ad667c6b75eba55cb684859adc831f130a2b3cbc2153b2b8f984592f8600fed6b0a7157d18cef4dbd2a40399c742bf00eb42cbeb7b8c71e1a8bcf504acc531c3" name="Mesa-libGLESv1_CM-devel-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="a4b5ec3d4f5423d0ca33ca1f2412a056b06d6b52ebf6b8658b4c0a1be7cd740b08c567e8870d386f06574d2b1e883b07bac552845c9908830cfef21dcc802bc5" name="Mesa-libGLESv2-devel" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="c833b1796452749fe0532bf295eccd20f481d054fbd787507ffb131a4921a9e10e9323d8d69605edfa3af233d11a124d6f000e2a91608d7fd676940b2d18d606" name="Mesa-libGLESv2-devel" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="b23e1b604be4e665626cf4af2ceb34ea571fb7cdeee2e31f279375ba3ecfe5dbbf29fd8c36a4bc4dcbe60be2dedf897584dda264e9733b6f86468955f90f1c96" name="Mesa-libGLESv2-devel-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="d77d3f18cd1bf18de55123c4774650e0c8726d0dbf91440b643355b03b2edb53add3fb255fa42f6c3d478279afe2db34287dcd1649e784472dc2991a1cd8d155" name="Mesa-libGLESv3-devel" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="837faa164585fbb74955fc3136558aa96e42e71c77d009414b3c58f810b6c1f2dae023789a3842877daa8defc113c8723925870c45c15c53c69766203d3f4ece" name="Mesa-libGLESv3-devel" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="7d307f71f4e413477f33664b1aceda6c1b23e03e4e21828f0e683f5165a015ca9072dffdc2cf97ce51dac2ae47258af5db43589f16b9cabf0d53e2beefcd8e5b" name="Mesa-libOpenCL" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="34e47cf04c80df05b975f6dd50f4d553dcd17d80ca042425788878a877b78ef5291bfa927928307b8262d3500bc3b485088a69a41085eac1adcc995df37d708f" name="Mesa-libOpenCL" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="a879c563a09c949489ba03952ca775efd783b41deb076193d070c7e0bc0c973bf3fd5b6d4270a4b2750efbb88280cd9ef4061eb2ab92f3f9aad10b8a1b326aa4" name="Mesa-libOpenCL-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="adc287789bf904b1e209537245ee7ff5d352be28c37f71e479e0271483a5b3c6c5e5e10d130045f5787c97bc5d2cbf694375a49d8da0e6eb2f11ae023546bded" name="Mesa-libOpenCL-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="0223c86c5801e0708a6327027018d70ede8199cd7026bddcc91ac6a87da861a9111f7041f1c6e0d02794669b5788034e6bab723b8bf936efe18157f8b3b57499" name="Mesa-libRusticlOpenCL" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="46e5db88f369287d71287eb3c8acbc9da43a8df27ada120bb51257790a870e20b48d9a8838f06d25b737eca0169765c023ac1007798e243a671a1df7460e1be5" name="Mesa-libRusticlOpenCL" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="5b8d24790124fcf915907906294b2c84ca76e7413aff6e0ec6d87ccc766505b431d82ef85be7d9570e44d967e9767653ec6b0e81ceb0fda814ebe665fcbe3e55" name="Mesa-libRusticlOpenCL-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="389d0dd10fe992b2b2facf7901b4c3c3a842694cc1f18f9ac3490b0c2d2fa6174e85fbea5f2831d6be6c67cc869532ada718c8597cb536ce5996143781bc6a3c" name="Mesa-libRusticlOpenCL-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="1cad7dbe4a93d5ab482235284c8441ad7891e2f5ce6b4ec66b50abe409aab441902a123eafed2233ffa0eb5542709e7feffe1a9ef95566c994d80c129786cae6" name="Mesa-libd3d" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="fbf6debba0ddbea30526946cefb49dbfc1806d885e90299f1b3990d10e84086d41827a615a087ec2b1344d75e3b399118a9dd8c44678e0758bab79185da78a59" name="Mesa-libd3d" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="b4006b76e283cebb345ad3759226a5e932de5c7fd157be07c32c810d205d22280a47d89a965419d2ca3dca1788a842f6d65cba452fe49a1d9e394843c79d57c9" name="Mesa-libd3d-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="fa4caaa671dad9baa0bec0d309dadcdc6f9402454f4672b13b60c831811661dffb5f38863af4cb1614ec45b756efe0e0a7bee041c559ac7f34f13f306fc0c499" name="Mesa-libd3d-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="66cf2a6e971b0dc8c566028771bbc148608f4b3a6b306fa0159b3807309f2a790ea77f9e8792e604e9dfe483f03b068902159c82bf48e0530a552c0c28dc2aa7" name="Mesa-libd3d-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="6c39361af7224c5abd239b92c691a185fa86106594a8933099bb2e4494b5d6174dd9fdda52e7b914095d4837778e34c11d964d9bb921388b6942ef0768f87987" name="Mesa-libd3d-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="6547f292d06268a08c2eaf3d78558953c1c76887c3721919de4320f3f9615db98b59113f83b5217cf00d4e4406a94112caea4dfcca5ec4af90d7e74287bb9701" name="Mesa-libd3d-devel" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="62fd633aaa719a41adac22215bb7260235b814adb5cf8b0cd1bd327e2ad3ef58e5eecba4532f1e9435bc07f99e0cb4315dd3872ee72a27142ce3903847da654b" name="Mesa-libd3d-devel" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="878e0808842f9c2b91c448692305efebdbb1dc91222f149f465ddd60aa51b88f2d45eae511b7def8e134357c17a9ab2a4d466af591d17cb8ea83013973384f1a" name="Mesa-libd3d-devel-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="0608646043c16c339eacb89fd41233496704b7e33cfa67dd7b6068ab877b9148a12ebeb129f8c88ce04b70c6181872444f76299a6c28647f27e677d87dc6b28c" name="Mesa-libglapi-devel" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="6d54af3078e2bcb35f062298a991ddc85c6b223cb13526610d19a210e8655da07005518ae468adfe6a2df15abc01250162683d2db7ad98dc25245e98043f9c14" name="Mesa-libglapi-devel" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="b62728249164f0abbc3dbad49d40e58768be3126126f3a04b3d630d7e49178ad4fdf3d18faffe8ceabfa96f953aede7d949eca41eec23bd41231154b3d9115eb" name="Mesa-libglapi-devel-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="df9807d20bf5ff8a4e910c7a52c6886932803cf6f1455a4c35c077317edde256c8bd46d7d510513928169f5c5d991121958fc6ad796c772de53620d2dbad8780" name="Mesa-libglapi0" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="1c940d56c22041e0482625ee05a0a549321c93f7705af9038ec6d5a80f41029dfe8d4eeb11417b2ce63c6b00c161e6a1e6cbcc68e278becd53d17e4885d51451" name="Mesa-libglapi0" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="b877d9b44fd8ca176423cb99d3a2faa292f311eb6528a48389b01444960a192e1b11f2161262db29d06d2b6c53798b0d3e9c260472389e26da9ee4dc7e82a861" name="Mesa-libglapi0-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="11e55bf22e7359502f2a7f05946c13b5a3fd4f01b9f5ace34cd5140d8c44183117ff0d71076c2632ff6513f3133de3866b48140e7315f14fc1770938bb0e65bb" name="Mesa-libglapi0-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="d5ce149a00fef43e82273aef7ff43bb6fb5b0be1071fcab2ba22d912f48a04eb20e19630431e8f27c9cc79e5e80317fe12459dbe41acb774fb22355705813e0f" name="Mesa-libglapi0-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="28438158348f50265a72b2348d6a4af8c18d7f1eced944de673702fbc166b45e5d142fc870ff7518ece54e0f42dde23c16bcc237640457ce9d65a397467f2e20" name="Mesa-libglapi0-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="50227787c1a1cbb06f299730cd64204f1bffd24cc01f688ff437d8ddf97d1cff88d8e3f04205b85ae8f2c76ad47a3c1b5745a9a075b75f9ff664cfb2ee2fb59c" name="Mesa-libva" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="b915b0444852470b0fe3003826316edd4ebf7a3afc707b8f9ede56bda9e6b0610911a25192191c051086abf8033d24cc90f19838428b4dc01ed84dda12672c47" name="Mesa-libva" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="ecc32929ac316b722aa75909b63edbe0cffac531beea0f6881dc058edb09460bc3c5c8166148f48d8e1897049e75de8ee9ce1f27c822bfc1a2aa8ad4a822820b" name="Mesa-libva-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="9c79d7ee4937fdabbcc9410aff9a3d60fbce256fbc4960e2089961e1f9e8a594a84844217c7984757c11323fd912eec82888d93a47e720e5d1c34cb04e3bbd19" name="Mesa-libva-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="a57483020903061ad1bc52f6d19d53d4e0f76818091a24ba75e89d7d7f65ea672e52c27fb5ed5fcaa4dfb5701ac56f077f59130f6aeee781f33c77469ac2bcfa" name="Mesa-vulkan-device-select" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="7de2ec6a3993d731b3d09c20f24a9d2dd90b56522cad1e31ca97c7c05d30300d51204fee0829e4ef36ec3db892b8a647a6f9a39ddddf72e3fe8c4ec035306c41" name="Mesa-vulkan-device-select" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="4d2844a526be89ed793fa584c2ab9d75cd3d81bba8b6bd3ee75c2d0d71bbee346994364488231ec2c3d6fb36aaeed90e56632001b2268da7d4e74f66effee1a9" name="Mesa-vulkan-device-select-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="cf1d4b0d28424e7c19bcda442dbedc053e0d6c8958c1c06cb35e2a1092a6200483715fb6e5e8b34dec46f096eacc7b825961f585804b9b61d50bc610df0cf929" name="Mesa-vulkan-device-select-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="21ec31ffdaeb7ce6bf73ddca66ca9de9a18f4fca388db3eef86806ded0da92ca7b0ee7632b714a011dc1fee2b308e5e3f28ecc15a9a22a520c4a0a63c253ef57" name="Mesa-vulkan-device-select-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="170823fcaca520b4ffd2af9ae3bbd502c38f86cc92f956cf0ff8b5b8c3070c2954e196a0907ed133b87ed78d7bb0eb3a42e840dcfa3ceb03399964c45acf90c2" name="Mesa-vulkan-device-select-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="c3ae0376fdcf5e8c4c89e0789b177f6165f867792db53d5cd8da5674e54e0ce5ac8cddcd78f04160c88727c0d56fa61f6809e35730392c542083c7fbbfd9791c" name="Mesa-vulkan-overlay" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="4fb3bdf650713df46cc76b7e6a72f4e55a91d043afa67bd04e68c5c5458c8575f4076bec0eaeca511a6faab5e170a7502bc005f0cd80cf8bee8cae620ee6e361" name="Mesa-vulkan-overlay" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="b27674a173980a7f941b08c9c21f3e5c23f7cac5777183ea5875522ed95f52a691892e077f86a9f5aa16ed1e76e0a312e9828ddc41174a25a39a1eeec3c1dc89" name="Mesa-vulkan-overlay-32bit" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="4afed89850d492c0d756de550987bd2d7444d691eb95b9e92d2d3af712d7d3dde75d1640263aa14b1d94cc048e5cdbeedf26f4a293902fc715d431552c58f199" name="Mesa-vulkan-overlay-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="9e755cd4d79425525a2e7984766a440afe7f4f34c78d88426089e424cfe89ee438d1e679528ffd9711826cba5b1aed380b8f05a02f5de4eb745645452d193aa7" name="Mesa-vulkan-overlay-debuginfo" arch="i586">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="b2168f12a6335f25bfb33c2bf5882c51fe96b2af61b1a7176edecb2f6944cf7c0a54f728cdfcc024c474685eb9c66770f6bc0ff019e9036e4c8c29babdc06700" name="Mesa-vulkan-overlay-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.0.8" rel="377.1"/>
  <changelog author="Jianhua Lu &lt;lujianhua000@gmail.com&gt;" date="1709640000">- Enable zink driver build on aarch64, this is needed for Qualcomm Adreno a7xx
  to use hw accelerated GL.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1709985600">- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710244800">- u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  * zink: don't print error messages when failing an implicit
    driver load (Mesa gitlab issue #10802)</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417600">- disabled u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  for now, since it breaks driver build; this patch needs other patches
  below to build ...</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710417601">- buildrequires llvm18-devel/clang18-devel on Leap 15.5/15.6</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710590400">- get rid of u_zink-dont-print-error-messages-when-failing-an-implicit.patch
  completely</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710763200">- Update to new feature release 24.0.3
  * Some interesting highlights include:
    + New PowerVR Vulkan driver for Imagination's GPU
    + NVIDIA Vulkan driver NVK has seen many improvements
    + AMD Vulkan driver RADV ray-tracing performance improvements
    + Microsoft OpenGL driver D3D12 has reached OpenGL 4.6 support
  * New extensions &amp; features (in no particular order):
    + VK_EXT_image_compression_control on RADV
    + VK_EXT_device_fault on RADV
    + OpenGL 3.3 on Asahi
    + Geometry shaders on Asahi
    + GL_ARB_texture_cube_map_array on Asahi
    + GL_ARB_clip_control on Asahi
    + GL_ARB_timer_query on Asahi
    + GL_EXT_disjoint_timer_query on Asahi
    + GL_ARB_base_instance on Asahi
    + OpenGL 4.6 (up from 4.2) on d3d12
    + VK_EXT_depth_clamp_zero_one on RADV
    + GL_ARB_shader_texture_image_samples on Asahi
    + GL_ARB_indirect_parameters on Asahi
    + GL_ARB_viewport_array on Asahi
    + GL_ARB_fragment_layer_viewport on Asahi
    + GL_ARB_cull_distance on Asahi
    + GL_ARB_transform_feedback_overflow_query on Asahi
    + VK_KHR_calibrated_timestamps on RADV
    + VK_KHR_vertex_attribute_divisor on RADV
    + VK_KHR_maintenance6 on RADV
    + VK_KHR_ray_tracing_position_fetch on RADV
    + EGL_EXT_query_reset_notification_strategy
- supersedes U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
- adjusted n_add-Mesa-headers-again.patch, u_dep_xcb.patch
- disabled python36-buildfix1.patch
- removed disabled patch u_fix-build-on-ppc64le.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849600">- adjusted and re-enabled python36-buildfix1.patch</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849601">- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)'
    [gitlab mesa issue #10802]</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1710849602">- 0010-glx-silence-more-implicit-load-zink-errors.patch
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1710936000">- Add patch to fix boo#1221664:
  * mesa-fix-llvm18.patch</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1711368000">- Add zink driver by default</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1711454400">- enable vulkan-beta meson flag for vulkan video support (suggested
  by "llyyr" &lt;llyyr.public@gmail.com&gt;; adding C flag
  - Wno-error=missing-prototypes for this wasn't necessary)</changelog>
  <changelog author="Fei Yang &lt;io@feiyang.eu.org&gt;" date="1712145600">- fix missing free codecs in builds with non-free codecs enabled</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1713614400">- Update to bugfix release 24.0.5
- supersedes mesa-fix-llvm18.patch
- adjusted 0004-glx-pass-implicit-load-param-through-allocation.patch,
  0010-glx-silence-more-implicit-load-zink-errors.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1715688000">- Enable libvulkan_intel on arm</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860800">- Update to bugfix release 24.0.6
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.6.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1715860801">-  Update to bugfix release 24.0.7
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.7.html</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1716465600">- Update to bugfix release 24.0.8
  - -&gt; https://docs.mesa3d.org/relnotes/24.0.8.html
- refreshed 0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch</changelog>
  <changelog author="Yunhe Guo &lt;i@guoyunhe.me&gt;" date="1717329600">- Restrict all internal depencency version to match the exact Mesa build,
  so that users won't install Mesa packages partly from other repos and
  make the system broken.</changelog>
</package>
<package pkgid="6e8159206fc14cc811149cdb69397a1fc9ad5c6a725779626d067c558570a229dfc9dbc329bac43f48922bcb9357686d852362b6c09d739e72d88355b8fb1edc" name="MicroOS-release" arch="src">
  <version epoch="0" ver="20240605" rel="2939.4.2.sr20240605"/>
  <changelog author="openSUSE &lt;packaging@lists.opensuse.org&gt;" date="1717588800">- automatically generated by openSUSE-release-tools/pkglistgen</changelog>
</package>
<package pkgid="46b821b29b7a7d068d8fb31f519fd5b4888c2bc1f4fe4d07377d081e18900951daaf92fd2f9eac2f377aed64680f98387c315f57601530e1ac94c942feee9262" name="MicroOS-release" arch="x86_64">
  <version epoch="0" ver="20240605" rel="2939.4.2.sr20240605"/>
  <changelog author="openSUSE &lt;packaging@lists.opensuse.org&gt;" date="1717588800">- automatically generated by openSUSE-release-tools/pkglistgen</changelog>
</package>
<package pkgid="8301d5f41fb76f480e4ab15fbd8355750e1e3d889266cb290ee72d9be25d6f17d27222abb50a383e477d3794b1d6371f3ab4d64b5be479a4e73cb84bf3afb334" name="MicroOS-release-appliance" arch="x86_64">
  <version epoch="0" ver="20240605" rel="2939.4.2.sr20240605"/>
  <changelog author="openSUSE &lt;packaging@lists.opensuse.org&gt;" date="1717588800">- automatically generated by openSUSE-release-tools/pkglistgen</changelog>
</package>
<package pkgid="541c79e0a4870a084057e3bbe3a60bb46fa0f14266663cc3d223063e344a854771d5ed211fd0057918b8886c1a6f01a85ceefc671671a40e704b341492687a1a" name="MicroOS-release-dvd" arch="x86_64">
  <version epoch="0" ver="20240605" rel="2939.4.2.sr20240605"/>
  <changelog author="openSUSE &lt;packaging@lists.opensuse.org&gt;" date="1717588800">- automatically generated by openSUSE-release-tools/pkglistgen</changelog>
</package>
<package pkgid="49dbcd9b01b0b99676f7ffe4ff2f37539454bd20bd9eccc54e8341efc9dfb161e5c85b415b4fd61ab78480f9d5f76e36360b6bfda1e72c40d2cde8ad48a6e572" name="Modules" arch="i586">
  <version epoch="0" ver="4.8.0" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1409054400">- Resolve build failure with automake-1.14
- Use some RPM macros instead of hardcoded paths;
  remove redundant %clean section</changelog>
  <changelog author="Led &lt;ledest@gmail.com&gt;" date="1416139200">- fix bashism in add.modules script
- add patches:
  * modules-3.2.10-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523880000">- too many changes to put into changelog please read Changelog in
  /usr/share/doc/packages/Modules-doc/ChangeLog (installed from
  Modules-doc package)
- removed return.patch
- removed share.patch
- reworked return.patch and renamed to modules-4.1.2-return.patch
- reworked fixing-bashisms patch for current version
  renamed modules-3.2.10-fix-bashisms.patch to modules-4.1.2-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523966400">- rolled back change from /usr/share/Modules (package name) to old
  expected behavior /usr/share/modules
- fixed redhat/fedora builds</changelog>
  <changelog author="Egbert Eich &lt;eich@suse.com&gt;" date="1589544000">- Update to version 4.5.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.5.0
  for details.
- Install profile script to set aliases (boo#1100410)
- Add: Remove-empty-unused-static-function.patch
    replaces: modules-4.1.2-return.patch
- Remove: modules-4.1.2-fix-bashisms.patch
  BOGUS: applied to a csh context.
- Install .vim files to /usr/share/vim/site.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1613822400">- Update to version 4.7.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.7.0
  for details.
- Mark sh and csh module initialization scripts installed into
  /etc/profile.d as managed by this package by moving the symlinking
  to the %install section.
- Support fish (shell completion and functionality).
- Use a source service instead of manually adding the source tarball.
- Clean up spec file to remove unused code (e.g. CFLAGS which aren't
  used in the source code any more, since it's all TCL now).
- Update description to match the current description on the homepage.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1616414400">- Mark the download service as disabled to meet factory submission
  guidelines.
- Add a runtime dependency on Python for createmodule.py script.
- Set /usr/bin/python3 as interpreter for all Python scripts (instead
  of relying on /usr/bin/env, which is used by default).
- Add fdupes back to solve rpmlint warning.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1620302400">- Update to upstream version 4.7.1
  * Doc: clarify the license terms used by the project. (fix issue #389)
  * Align all files from the Modules project under the GPLv2+ license.
    Scripts and libraries that were previously licensed with GPLv3+ have
    been moved to GPLv2+ with the consent of their respective copyright
    holders. (fix issue #389)
  * Revert "Install: have configure script assume the . dot directory
    when invoked without the prepended ./" as consent was not obtained
    from author to relicense the contribution to GPLv2+.
  * Doc: fixes few typos in module(1) and modulefile(4).
  * Update the sh-to-mod mechanism to support version 3.2 of the fish
    shell. Fish 3.2 introduces the . builtin command that should be
    regexp-escaped when determining the shell functions or aliases
    defined by the script analyzed by sh-to-mod.
  * Vim: update addon files to highlight modulefile variables ModuleTool,
    ModuleToolVersion and ModulesCurrentModulefile.
  * Doc: update the description and default value of the
  - -with-dark-background-colors and --with-light-background-colors
    installation options.
  * Doc: add description of changes that occurred on versions 4.6 and 4.7
    for the --with-dark-background-colors and --with-light-background-colors
    installation options and for the MODULES_COLORS environment variable.
  * Doc: correct the default value of the --with-tag-abbrev installation
    option.
  * Doc: add Sticky modules cookbook recipe.
- Correct package license to GPLv2+, matching upstream.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1627732800">- Update to upstream version 4.8.0
  See https://modules.readthedocs.io/en/latest/NEWS.html#modules-4-8-0-2021-07-14
  for a list of changes.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
</package>
<package pkgid="e42172813fb0c0494cba9f6fea457e4bd668cd9a728d92a3118af660ee84d8912d5b3b366b2b0c50a21bcc0dfd1cb10fb9ea1a2e4c035897fd7fd9b52d49635c" name="Modules" arch="src">
  <version epoch="0" ver="4.8.0" rel="2.1"/>
  <changelog author="mrueckert@suse.de" date="1137758400">- Remove temporary files if they are no longer used.
  (#73973,#144398)</changelog>
  <changelog author="mls@suse.de" date="1138190400">- converted neededforbuild to BuildRequires</changelog>
  <changelog author="kkaempf@suse.com" date="1318939200">- update to 3.2.8a
  * switched to 3.2 release
  * lots of changes and bugfixes
  * see NEWS for details</changelog>
  <changelog author="kkaempf@suse.com" date="1318939201">- move /usr/Modules to /usr/share/Modules for FHS 2.2</changelog>
  <changelog author="coolo@suse.com" date="1322740800">- add automake as buildrequire to avoid implicit dependency</changelog>
  <changelog author="alinm.elena@gmail.com" date="1346241600">- update to 3.2.9c
  * Fix the coexistence of load/remove flags (Martin Siegert)
  * Fixed an overlapping string copy (Wilson Snyder &amp; Orion Poplawski)
  * Isolated calls to the new interpreter and get &amp; set env.vars.
  * Crucial bug fix of same by (Orion Poplawski).
  * Optionally use Tcl memory check routines for malloc/realloc.
  * Fixed the "module purge" memory corruption (Poor Yorick)
  * Added support for Ruby (Tammo Tjarks)
- replace defaut in the profile files with the proper version
- make module files from /etc %config</changelog>
  <changelog author="kkaempf@suse.com" date="1347278400">- complete the move from /usr/Modules to /usr/share/Modules
  (bnc#778525)</changelog>
  <changelog author="kkaempf@suse.com" date="1356091200">- update to 3.2.10
  * Fixed the module switch with custom delimiters (Tyson Whitehead)
  * If a bash shell check if interactive or not for alias/functions
  * Fix the flags with regards to recursive load/unload
  * Fix perl.pm init file typo (bug 3497092)
  * Moved from cvs to git (and now: modulefile/module-git)
  * Fix the module swap with the --delim option (Tyson Whitehead)
  * Increased the "update" buffer (Leon Kos)
  * Use the locale for sorting modulefiles by the avail command
  * Fixed the segfault problem with Tcl_RegExpCompile() (Kenneth Hoste,
    Tyson Whitehead)
  * Updated the FSF address in LICENSE.GPL (Jan Synacek)
  * Forked the Tcl-only version to be maintained by Kent Mein.
  * Added the "module-info type" query to return 'C' to indicate that
    the modulecmd executable is the "C" version.
    (The Tcl-only version will return 'Tcl'.)
  * Search /usr/lib64 for tclConfig.sh also (Jan Synacek)
  * Tested loading 20 other modulefiles from a single one
  * Have ChangeLog generated by a script due to Marcus D. Hanwell</changelog>
  <changelog author="coolo@suse.com" date="1359979200">- update license to new format</changelog>
  <changelog author="max@suse.com" date="1375358400">- Set -DUSE_INTERP_RESULT and -DUSE_INTERP_ERRORLINE" to fix build
  with Tcl 8.6.</changelog>
  <changelog author="jengelh@inai.de" date="1409054400">- Resolve build failure with automake-1.14
- Use some RPM macros instead of hardcoded paths;
  remove redundant %clean section</changelog>
  <changelog author="Led &lt;ledest@gmail.com&gt;" date="1416139200">- fix bashism in add.modules script
- add patches:
  * modules-3.2.10-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523880000">- too many changes to put into changelog please read Changelog in
  /usr/share/doc/packages/Modules-doc/ChangeLog (installed from
  Modules-doc package)
- removed return.patch
- removed share.patch
- reworked return.patch and renamed to modules-4.1.2-return.patch
- reworked fixing-bashisms patch for current version
  renamed modules-3.2.10-fix-bashisms.patch to modules-4.1.2-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523966400">- rolled back change from /usr/share/Modules (package name) to old
  expected behavior /usr/share/modules
- fixed redhat/fedora builds</changelog>
  <changelog author="Egbert Eich &lt;eich@suse.com&gt;" date="1589544000">- Update to version 4.5.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.5.0
  for details.
- Install profile script to set aliases (boo#1100410)
- Add: Remove-empty-unused-static-function.patch
    replaces: modules-4.1.2-return.patch
- Remove: modules-4.1.2-fix-bashisms.patch
  BOGUS: applied to a csh context.
- Install .vim files to /usr/share/vim/site.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1613822400">- Update to version 4.7.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.7.0
  for details.
- Mark sh and csh module initialization scripts installed into
  /etc/profile.d as managed by this package by moving the symlinking
  to the %install section.
- Support fish (shell completion and functionality).
- Use a source service instead of manually adding the source tarball.
- Clean up spec file to remove unused code (e.g. CFLAGS which aren't
  used in the source code any more, since it's all TCL now).
- Update description to match the current description on the homepage.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1616414400">- Mark the download service as disabled to meet factory submission
  guidelines.
- Add a runtime dependency on Python for createmodule.py script.
- Set /usr/bin/python3 as interpreter for all Python scripts (instead
  of relying on /usr/bin/env, which is used by default).
- Add fdupes back to solve rpmlint warning.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1620302400">- Update to upstream version 4.7.1
  * Doc: clarify the license terms used by the project. (fix issue #389)
  * Align all files from the Modules project under the GPLv2+ license.
    Scripts and libraries that were previously licensed with GPLv3+ have
    been moved to GPLv2+ with the consent of their respective copyright
    holders. (fix issue #389)
  * Revert "Install: have configure script assume the . dot directory
    when invoked without the prepended ./" as consent was not obtained
    from author to relicense the contribution to GPLv2+.
  * Doc: fixes few typos in module(1) and modulefile(4).
  * Update the sh-to-mod mechanism to support version 3.2 of the fish
    shell. Fish 3.2 introduces the . builtin command that should be
    regexp-escaped when determining the shell functions or aliases
    defined by the script analyzed by sh-to-mod.
  * Vim: update addon files to highlight modulefile variables ModuleTool,
    ModuleToolVersion and ModulesCurrentModulefile.
  * Doc: update the description and default value of the
  - -with-dark-background-colors and --with-light-background-colors
    installation options.
  * Doc: add description of changes that occurred on versions 4.6 and 4.7
    for the --with-dark-background-colors and --with-light-background-colors
    installation options and for the MODULES_COLORS environment variable.
  * Doc: correct the default value of the --with-tag-abbrev installation
    option.
  * Doc: add Sticky modules cookbook recipe.
- Correct package license to GPLv2+, matching upstream.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1627732800">- Update to upstream version 4.8.0
  See https://modules.readthedocs.io/en/latest/NEWS.html#modules-4-8-0-2021-07-14
  for a list of changes.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
</package>
<package pkgid="94c2eda6bb98a4b35a2f829677afc0c48de866517362aa0d82b67bfae81bbde2924f28166d44db47cbe44fc1e851c80420d542ff0dba389505c3c9b2b2f27626" name="Modules" arch="x86_64">
  <version epoch="0" ver="4.8.0" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1409054400">- Resolve build failure with automake-1.14
- Use some RPM macros instead of hardcoded paths;
  remove redundant %clean section</changelog>
  <changelog author="Led &lt;ledest@gmail.com&gt;" date="1416139200">- fix bashism in add.modules script
- add patches:
  * modules-3.2.10-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523880000">- too many changes to put into changelog please read Changelog in
  /usr/share/doc/packages/Modules-doc/ChangeLog (installed from
  Modules-doc package)
- removed return.patch
- removed share.patch
- reworked return.patch and renamed to modules-4.1.2-return.patch
- reworked fixing-bashisms patch for current version
  renamed modules-3.2.10-fix-bashisms.patch to modules-4.1.2-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523966400">- rolled back change from /usr/share/Modules (package name) to old
  expected behavior /usr/share/modules
- fixed redhat/fedora builds</changelog>
  <changelog author="Egbert Eich &lt;eich@suse.com&gt;" date="1589544000">- Update to version 4.5.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.5.0
  for details.
- Install profile script to set aliases (boo#1100410)
- Add: Remove-empty-unused-static-function.patch
    replaces: modules-4.1.2-return.patch
- Remove: modules-4.1.2-fix-bashisms.patch
  BOGUS: applied to a csh context.
- Install .vim files to /usr/share/vim/site.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1613822400">- Update to version 4.7.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.7.0
  for details.
- Mark sh and csh module initialization scripts installed into
  /etc/profile.d as managed by this package by moving the symlinking
  to the %install section.
- Support fish (shell completion and functionality).
- Use a source service instead of manually adding the source tarball.
- Clean up spec file to remove unused code (e.g. CFLAGS which aren't
  used in the source code any more, since it's all TCL now).
- Update description to match the current description on the homepage.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1616414400">- Mark the download service as disabled to meet factory submission
  guidelines.
- Add a runtime dependency on Python for createmodule.py script.
- Set /usr/bin/python3 as interpreter for all Python scripts (instead
  of relying on /usr/bin/env, which is used by default).
- Add fdupes back to solve rpmlint warning.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1620302400">- Update to upstream version 4.7.1
  * Doc: clarify the license terms used by the project. (fix issue #389)
  * Align all files from the Modules project under the GPLv2+ license.
    Scripts and libraries that were previously licensed with GPLv3+ have
    been moved to GPLv2+ with the consent of their respective copyright
    holders. (fix issue #389)
  * Revert "Install: have configure script assume the . dot directory
    when invoked without the prepended ./" as consent was not obtained
    from author to relicense the contribution to GPLv2+.
  * Doc: fixes few typos in module(1) and modulefile(4).
  * Update the sh-to-mod mechanism to support version 3.2 of the fish
    shell. Fish 3.2 introduces the . builtin command that should be
    regexp-escaped when determining the shell functions or aliases
    defined by the script analyzed by sh-to-mod.
  * Vim: update addon files to highlight modulefile variables ModuleTool,
    ModuleToolVersion and ModulesCurrentModulefile.
  * Doc: update the description and default value of the
  - -with-dark-background-colors and --with-light-background-colors
    installation options.
  * Doc: add description of changes that occurred on versions 4.6 and 4.7
    for the --with-dark-background-colors and --with-light-background-colors
    installation options and for the MODULES_COLORS environment variable.
  * Doc: correct the default value of the --with-tag-abbrev installation
    option.
  * Doc: add Sticky modules cookbook recipe.
- Correct package license to GPLv2+, matching upstream.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1627732800">- Update to upstream version 4.8.0
  See https://modules.readthedocs.io/en/latest/NEWS.html#modules-4-8-0-2021-07-14
  for a list of changes.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
</package>
<package pkgid="2f32f607b12de2f157fd53e7ea65cca1bd086625a9498e84fc6121758c5cd9b5a4c7a588818ec2b89321a9172eb86659862493ddc6a203eba1c33e7c8fb88332" name="Modules-debuginfo" arch="i586">
  <version epoch="0" ver="4.8.0" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1409054400">- Resolve build failure with automake-1.14
- Use some RPM macros instead of hardcoded paths;
  remove redundant %clean section</changelog>
  <changelog author="Led &lt;ledest@gmail.com&gt;" date="1416139200">- fix bashism in add.modules script
- add patches:
  * modules-3.2.10-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523880000">- too many changes to put into changelog please read Changelog in
  /usr/share/doc/packages/Modules-doc/ChangeLog (installed from
  Modules-doc package)
- removed return.patch
- removed share.patch
- reworked return.patch and renamed to modules-4.1.2-return.patch
- reworked fixing-bashisms patch for current version
  renamed modules-3.2.10-fix-bashisms.patch to modules-4.1.2-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523966400">- rolled back change from /usr/share/Modules (package name) to old
  expected behavior /usr/share/modules
- fixed redhat/fedora builds</changelog>
  <changelog author="Egbert Eich &lt;eich@suse.com&gt;" date="1589544000">- Update to version 4.5.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.5.0
  for details.
- Install profile script to set aliases (boo#1100410)
- Add: Remove-empty-unused-static-function.patch
    replaces: modules-4.1.2-return.patch
- Remove: modules-4.1.2-fix-bashisms.patch
  BOGUS: applied to a csh context.
- Install .vim files to /usr/share/vim/site.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1613822400">- Update to version 4.7.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.7.0
  for details.
- Mark sh and csh module initialization scripts installed into
  /etc/profile.d as managed by this package by moving the symlinking
  to the %install section.
- Support fish (shell completion and functionality).
- Use a source service instead of manually adding the source tarball.
- Clean up spec file to remove unused code (e.g. CFLAGS which aren't
  used in the source code any more, since it's all TCL now).
- Update description to match the current description on the homepage.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1616414400">- Mark the download service as disabled to meet factory submission
  guidelines.
- Add a runtime dependency on Python for createmodule.py script.
- Set /usr/bin/python3 as interpreter for all Python scripts (instead
  of relying on /usr/bin/env, which is used by default).
- Add fdupes back to solve rpmlint warning.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1620302400">- Update to upstream version 4.7.1
  * Doc: clarify the license terms used by the project. (fix issue #389)
  * Align all files from the Modules project under the GPLv2+ license.
    Scripts and libraries that were previously licensed with GPLv3+ have
    been moved to GPLv2+ with the consent of their respective copyright
    holders. (fix issue #389)
  * Revert "Install: have configure script assume the . dot directory
    when invoked without the prepended ./" as consent was not obtained
    from author to relicense the contribution to GPLv2+.
  * Doc: fixes few typos in module(1) and modulefile(4).
  * Update the sh-to-mod mechanism to support version 3.2 of the fish
    shell. Fish 3.2 introduces the . builtin command that should be
    regexp-escaped when determining the shell functions or aliases
    defined by the script analyzed by sh-to-mod.
  * Vim: update addon files to highlight modulefile variables ModuleTool,
    ModuleToolVersion and ModulesCurrentModulefile.
  * Doc: update the description and default value of the
  - -with-dark-background-colors and --with-light-background-colors
    installation options.
  * Doc: add description of changes that occurred on versions 4.6 and 4.7
    for the --with-dark-background-colors and --with-light-background-colors
    installation options and for the MODULES_COLORS environment variable.
  * Doc: correct the default value of the --with-tag-abbrev installation
    option.
  * Doc: add Sticky modules cookbook recipe.
- Correct package license to GPLv2+, matching upstream.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1627732800">- Update to upstream version 4.8.0
  See https://modules.readthedocs.io/en/latest/NEWS.html#modules-4-8-0-2021-07-14
  for a list of changes.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
</package>
<package pkgid="7a3c0d3d25900811a6f161ab461d84f7f6894a9316398ddf7dcbe23f0ddea0ba27b8b29f4754f43bbe6e5e491c2c4991bf747eb030febea7cfac381840645e4f" name="Modules-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.8.0" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1409054400">- Resolve build failure with automake-1.14
- Use some RPM macros instead of hardcoded paths;
  remove redundant %clean section</changelog>
  <changelog author="Led &lt;ledest@gmail.com&gt;" date="1416139200">- fix bashism in add.modules script
- add patches:
  * modules-3.2.10-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523880000">- too many changes to put into changelog please read Changelog in
  /usr/share/doc/packages/Modules-doc/ChangeLog (installed from
  Modules-doc package)
- removed return.patch
- removed share.patch
- reworked return.patch and renamed to modules-4.1.2-return.patch
- reworked fixing-bashisms patch for current version
  renamed modules-3.2.10-fix-bashisms.patch to modules-4.1.2-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523966400">- rolled back change from /usr/share/Modules (package name) to old
  expected behavior /usr/share/modules
- fixed redhat/fedora builds</changelog>
  <changelog author="Egbert Eich &lt;eich@suse.com&gt;" date="1589544000">- Update to version 4.5.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.5.0
  for details.
- Install profile script to set aliases (boo#1100410)
- Add: Remove-empty-unused-static-function.patch
    replaces: modules-4.1.2-return.patch
- Remove: modules-4.1.2-fix-bashisms.patch
  BOGUS: applied to a csh context.
- Install .vim files to /usr/share/vim/site.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1613822400">- Update to version 4.7.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.7.0
  for details.
- Mark sh and csh module initialization scripts installed into
  /etc/profile.d as managed by this package by moving the symlinking
  to the %install section.
- Support fish (shell completion and functionality).
- Use a source service instead of manually adding the source tarball.
- Clean up spec file to remove unused code (e.g. CFLAGS which aren't
  used in the source code any more, since it's all TCL now).
- Update description to match the current description on the homepage.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1616414400">- Mark the download service as disabled to meet factory submission
  guidelines.
- Add a runtime dependency on Python for createmodule.py script.
- Set /usr/bin/python3 as interpreter for all Python scripts (instead
  of relying on /usr/bin/env, which is used by default).
- Add fdupes back to solve rpmlint warning.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1620302400">- Update to upstream version 4.7.1
  * Doc: clarify the license terms used by the project. (fix issue #389)
  * Align all files from the Modules project under the GPLv2+ license.
    Scripts and libraries that were previously licensed with GPLv3+ have
    been moved to GPLv2+ with the consent of their respective copyright
    holders. (fix issue #389)
  * Revert "Install: have configure script assume the . dot directory
    when invoked without the prepended ./" as consent was not obtained
    from author to relicense the contribution to GPLv2+.
  * Doc: fixes few typos in module(1) and modulefile(4).
  * Update the sh-to-mod mechanism to support version 3.2 of the fish
    shell. Fish 3.2 introduces the . builtin command that should be
    regexp-escaped when determining the shell functions or aliases
    defined by the script analyzed by sh-to-mod.
  * Vim: update addon files to highlight modulefile variables ModuleTool,
    ModuleToolVersion and ModulesCurrentModulefile.
  * Doc: update the description and default value of the
  - -with-dark-background-colors and --with-light-background-colors
    installation options.
  * Doc: add description of changes that occurred on versions 4.6 and 4.7
    for the --with-dark-background-colors and --with-light-background-colors
    installation options and for the MODULES_COLORS environment variable.
  * Doc: correct the default value of the --with-tag-abbrev installation
    option.
  * Doc: add Sticky modules cookbook recipe.
- Correct package license to GPLv2+, matching upstream.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1627732800">- Update to upstream version 4.8.0
  See https://modules.readthedocs.io/en/latest/NEWS.html#modules-4-8-0-2021-07-14
  for a list of changes.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
</package>
<package pkgid="31a22c139a9ff8051aa0246bb03f0281ba1302ef461a130bfe9938659aabfa5480d4a65b14360a284283e4b6d51ac04f50eb35a7d8851b32e51bca1af4128233" name="Modules-debugsource" arch="i586">
  <version epoch="0" ver="4.8.0" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1409054400">- Resolve build failure with automake-1.14
- Use some RPM macros instead of hardcoded paths;
  remove redundant %clean section</changelog>
  <changelog author="Led &lt;ledest@gmail.com&gt;" date="1416139200">- fix bashism in add.modules script
- add patches:
  * modules-3.2.10-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523880000">- too many changes to put into changelog please read Changelog in
  /usr/share/doc/packages/Modules-doc/ChangeLog (installed from
  Modules-doc package)
- removed return.patch
- removed share.patch
- reworked return.patch and renamed to modules-4.1.2-return.patch
- reworked fixing-bashisms patch for current version
  renamed modules-3.2.10-fix-bashisms.patch to modules-4.1.2-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523966400">- rolled back change from /usr/share/Modules (package name) to old
  expected behavior /usr/share/modules
- fixed redhat/fedora builds</changelog>
  <changelog author="Egbert Eich &lt;eich@suse.com&gt;" date="1589544000">- Update to version 4.5.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.5.0
  for details.
- Install profile script to set aliases (boo#1100410)
- Add: Remove-empty-unused-static-function.patch
    replaces: modules-4.1.2-return.patch
- Remove: modules-4.1.2-fix-bashisms.patch
  BOGUS: applied to a csh context.
- Install .vim files to /usr/share/vim/site.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1613822400">- Update to version 4.7.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.7.0
  for details.
- Mark sh and csh module initialization scripts installed into
  /etc/profile.d as managed by this package by moving the symlinking
  to the %install section.
- Support fish (shell completion and functionality).
- Use a source service instead of manually adding the source tarball.
- Clean up spec file to remove unused code (e.g. CFLAGS which aren't
  used in the source code any more, since it's all TCL now).
- Update description to match the current description on the homepage.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1616414400">- Mark the download service as disabled to meet factory submission
  guidelines.
- Add a runtime dependency on Python for createmodule.py script.
- Set /usr/bin/python3 as interpreter for all Python scripts (instead
  of relying on /usr/bin/env, which is used by default).
- Add fdupes back to solve rpmlint warning.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1620302400">- Update to upstream version 4.7.1
  * Doc: clarify the license terms used by the project. (fix issue #389)
  * Align all files from the Modules project under the GPLv2+ license.
    Scripts and libraries that were previously licensed with GPLv3+ have
    been moved to GPLv2+ with the consent of their respective copyright
    holders. (fix issue #389)
  * Revert "Install: have configure script assume the . dot directory
    when invoked without the prepended ./" as consent was not obtained
    from author to relicense the contribution to GPLv2+.
  * Doc: fixes few typos in module(1) and modulefile(4).
  * Update the sh-to-mod mechanism to support version 3.2 of the fish
    shell. Fish 3.2 introduces the . builtin command that should be
    regexp-escaped when determining the shell functions or aliases
    defined by the script analyzed by sh-to-mod.
  * Vim: update addon files to highlight modulefile variables ModuleTool,
    ModuleToolVersion and ModulesCurrentModulefile.
  * Doc: update the description and default value of the
  - -with-dark-background-colors and --with-light-background-colors
    installation options.
  * Doc: add description of changes that occurred on versions 4.6 and 4.7
    for the --with-dark-background-colors and --with-light-background-colors
    installation options and for the MODULES_COLORS environment variable.
  * Doc: correct the default value of the --with-tag-abbrev installation
    option.
  * Doc: add Sticky modules cookbook recipe.
- Correct package license to GPLv2+, matching upstream.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1627732800">- Update to upstream version 4.8.0
  See https://modules.readthedocs.io/en/latest/NEWS.html#modules-4-8-0-2021-07-14
  for a list of changes.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
</package>
<package pkgid="4b15e5fe605bd911caf34e4ba11faecde5963f8608cc7bc5b9fe1830e1e5f5e546fe69043d4ebff1377479b3d4f7f829a4d81233f4753132e7e32eab4c5cabac" name="Modules-debugsource" arch="x86_64">
  <version epoch="0" ver="4.8.0" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1409054400">- Resolve build failure with automake-1.14
- Use some RPM macros instead of hardcoded paths;
  remove redundant %clean section</changelog>
  <changelog author="Led &lt;ledest@gmail.com&gt;" date="1416139200">- fix bashism in add.modules script
- add patches:
  * modules-3.2.10-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523880000">- too many changes to put into changelog please read Changelog in
  /usr/share/doc/packages/Modules-doc/ChangeLog (installed from
  Modules-doc package)
- removed return.patch
- removed share.patch
- reworked return.patch and renamed to modules-4.1.2-return.patch
- reworked fixing-bashisms patch for current version
  renamed modules-3.2.10-fix-bashisms.patch to modules-4.1.2-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523966400">- rolled back change from /usr/share/Modules (package name) to old
  expected behavior /usr/share/modules
- fixed redhat/fedora builds</changelog>
  <changelog author="Egbert Eich &lt;eich@suse.com&gt;" date="1589544000">- Update to version 4.5.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.5.0
  for details.
- Install profile script to set aliases (boo#1100410)
- Add: Remove-empty-unused-static-function.patch
    replaces: modules-4.1.2-return.patch
- Remove: modules-4.1.2-fix-bashisms.patch
  BOGUS: applied to a csh context.
- Install .vim files to /usr/share/vim/site.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1613822400">- Update to version 4.7.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.7.0
  for details.
- Mark sh and csh module initialization scripts installed into
  /etc/profile.d as managed by this package by moving the symlinking
  to the %install section.
- Support fish (shell completion and functionality).
- Use a source service instead of manually adding the source tarball.
- Clean up spec file to remove unused code (e.g. CFLAGS which aren't
  used in the source code any more, since it's all TCL now).
- Update description to match the current description on the homepage.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1616414400">- Mark the download service as disabled to meet factory submission
  guidelines.
- Add a runtime dependency on Python for createmodule.py script.
- Set /usr/bin/python3 as interpreter for all Python scripts (instead
  of relying on /usr/bin/env, which is used by default).
- Add fdupes back to solve rpmlint warning.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1620302400">- Update to upstream version 4.7.1
  * Doc: clarify the license terms used by the project. (fix issue #389)
  * Align all files from the Modules project under the GPLv2+ license.
    Scripts and libraries that were previously licensed with GPLv3+ have
    been moved to GPLv2+ with the consent of their respective copyright
    holders. (fix issue #389)
  * Revert "Install: have configure script assume the . dot directory
    when invoked without the prepended ./" as consent was not obtained
    from author to relicense the contribution to GPLv2+.
  * Doc: fixes few typos in module(1) and modulefile(4).
  * Update the sh-to-mod mechanism to support version 3.2 of the fish
    shell. Fish 3.2 introduces the . builtin command that should be
    regexp-escaped when determining the shell functions or aliases
    defined by the script analyzed by sh-to-mod.
  * Vim: update addon files to highlight modulefile variables ModuleTool,
    ModuleToolVersion and ModulesCurrentModulefile.
  * Doc: update the description and default value of the
  - -with-dark-background-colors and --with-light-background-colors
    installation options.
  * Doc: add description of changes that occurred on versions 4.6 and 4.7
    for the --with-dark-background-colors and --with-light-background-colors
    installation options and for the MODULES_COLORS environment variable.
  * Doc: correct the default value of the --with-tag-abbrev installation
    option.
  * Doc: add Sticky modules cookbook recipe.
- Correct package license to GPLv2+, matching upstream.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1627732800">- Update to upstream version 4.8.0
  See https://modules.readthedocs.io/en/latest/NEWS.html#modules-4-8-0-2021-07-14
  for a list of changes.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
</package>
<package pkgid="5b8a79cf8e1444a9e4c2a5d009666de1e854ba42d5934f585a455936c73b1422186ce4320775c883df626aac5b7533f1e52839972ce33d68966f5844df459ccb" name="Modules-doc" arch="noarch">
  <version epoch="0" ver="4.8.0" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1409054400">- Resolve build failure with automake-1.14
- Use some RPM macros instead of hardcoded paths;
  remove redundant %clean section</changelog>
  <changelog author="Led &lt;ledest@gmail.com&gt;" date="1416139200">- fix bashism in add.modules script
- add patches:
  * modules-3.2.10-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523880000">- too many changes to put into changelog please read Changelog in
  /usr/share/doc/packages/Modules-doc/ChangeLog (installed from
  Modules-doc package)
- removed return.patch
- removed share.patch
- reworked return.patch and renamed to modules-4.1.2-return.patch
- reworked fixing-bashisms patch for current version
  renamed modules-3.2.10-fix-bashisms.patch to modules-4.1.2-fix-bashisms.patch</changelog>
  <changelog author="boris@steki.net" date="1523966400">- rolled back change from /usr/share/Modules (package name) to old
  expected behavior /usr/share/modules
- fixed redhat/fedora builds</changelog>
  <changelog author="Egbert Eich &lt;eich@suse.com&gt;" date="1589544000">- Update to version 4.5.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.5.0
  for details.
- Install profile script to set aliases (boo#1100410)
- Add: Remove-empty-unused-static-function.patch
    replaces: modules-4.1.2-return.patch
- Remove: modules-4.1.2-fix-bashisms.patch
  BOGUS: applied to a csh context.
- Install .vim files to /usr/share/vim/site.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1613822400">- Update to version 4.7.0
  Check https://github.com/cea-hpc/modules/releases/tag/v4.7.0
  for details.
- Mark sh and csh module initialization scripts installed into
  /etc/profile.d as managed by this package by moving the symlinking
  to the %install section.
- Support fish (shell completion and functionality).
- Use a source service instead of manually adding the source tarball.
- Clean up spec file to remove unused code (e.g. CFLAGS which aren't
  used in the source code any more, since it's all TCL now).
- Update description to match the current description on the homepage.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1616414400">- Mark the download service as disabled to meet factory submission
  guidelines.
- Add a runtime dependency on Python for createmodule.py script.
- Set /usr/bin/python3 as interpreter for all Python scripts (instead
  of relying on /usr/bin/env, which is used by default).
- Add fdupes back to solve rpmlint warning.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1620302400">- Update to upstream version 4.7.1
  * Doc: clarify the license terms used by the project. (fix issue #389)
  * Align all files from the Modules project under the GPLv2+ license.
    Scripts and libraries that were previously licensed with GPLv3+ have
    been moved to GPLv2+ with the consent of their respective copyright
    holders. (fix issue #389)
  * Revert "Install: have configure script assume the . dot directory
    when invoked without the prepended ./" as consent was not obtained
    from author to relicense the contribution to GPLv2+.
  * Doc: fixes few typos in module(1) and modulefile(4).
  * Update the sh-to-mod mechanism to support version 3.2 of the fish
    shell. Fish 3.2 introduces the . builtin command that should be
    regexp-escaped when determining the shell functions or aliases
    defined by the script analyzed by sh-to-mod.
  * Vim: update addon files to highlight modulefile variables ModuleTool,
    ModuleToolVersion and ModulesCurrentModulefile.
  * Doc: update the description and default value of the
  - -with-dark-background-colors and --with-light-background-colors
    installation options.
  * Doc: add description of changes that occurred on versions 4.6 and 4.7
    for the --with-dark-background-colors and --with-light-background-colors
    installation options and for the MODULES_COLORS environment variable.
  * Doc: correct the default value of the --with-tag-abbrev installation
    option.
  * Doc: add Sticky modules cookbook recipe.
- Correct package license to GPLv2+, matching upstream.</changelog>
  <changelog author="Philipp Wagner &lt;mail@philipp-wagner.com&gt;" date="1627732800">- Update to upstream version 4.8.0
  See https://modules.readthedocs.io/en/latest/NEWS.html#modules-4-8-0-2021-07-14
  for a list of changes.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
</package>
<package pkgid="79e7f73cb267ec1a89a1088c581bd1313e6ede60c05e2db1cb0d125a734553e61867ff966585792a2fc65686ad613629c6cb04831beb9fdf2f8004d6e2f9b53d" name="MozillaFirefox" arch="src">
  <version epoch="0" ver="127.0" rel="1.1"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1699444800">- Mozilla Firefox 119.0.1
  * Fixed a bug causing colors in the &lt;select&gt; HTML element to not
    be applied to dropdown menu arrows (bmo#1861253)
  * Fixed a bug with the &lt;input&gt; HTML element state not changing
    when dynamically updating the `disabled` attribute on an
    ancestor &lt;fieldset&gt; (bmo#1861027)
  * Fixed a bug causing elements with the indeterminate CSS
    selector in a radio group to not update (bmo#1861346)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Firefox 120.0
  https://www.mozilla.org/en-US/firefox/120.0/releasenotes
  MFSA 2023-49 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen
    transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6210 (bmo#1801501)
    Mixed-content resources not blocked in a javascript: pop-up
  * CVE-2023-6211 (bmo#1850200)
    Clickjacking to load insecure pages in HTTPS-only mode
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252,
    bmo#1856072, bmo#1856091, bmo#1859030, bmo#1860943,
    bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5
  * CVE-2023-6213 (bmo#1849265, bmo#1851118, bmo#1854911)
    Memory safety bugs fixed in Firefox 120
- rebased patches</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
</package>
<package pkgid="ffb4d69a398974af55f749aa4bc6368219529faaaf33acc8375c8b6c473c90079d85057d34c6fd89183d2aec2814455ae3ec0f0b7b69e490d556cb9f0410050c" name="MozillaFirefox" arch="x86_64">
  <version epoch="0" ver="127.0" rel="1.1"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1699444800">- Mozilla Firefox 119.0.1
  * Fixed a bug causing colors in the &lt;select&gt; HTML element to not
    be applied to dropdown menu arrows (bmo#1861253)
  * Fixed a bug with the &lt;input&gt; HTML element state not changing
    when dynamically updating the `disabled` attribute on an
    ancestor &lt;fieldset&gt; (bmo#1861027)
  * Fixed a bug causing elements with the indeterminate CSS
    selector in a radio group to not update (bmo#1861346)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Firefox 120.0
  https://www.mozilla.org/en-US/firefox/120.0/releasenotes
  MFSA 2023-49 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen
    transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6210 (bmo#1801501)
    Mixed-content resources not blocked in a javascript: pop-up
  * CVE-2023-6211 (bmo#1850200)
    Clickjacking to load insecure pages in HTTPS-only mode
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252,
    bmo#1856072, bmo#1856091, bmo#1859030, bmo#1860943,
    bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5
  * CVE-2023-6213 (bmo#1849265, bmo#1851118, bmo#1854911)
    Memory safety bugs fixed in Firefox 120
- rebased patches</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
</package>
<package pkgid="ab1e2a4c9e12c0158f7636074bd4f7c499c1635fa468e6ed3f910a8a2330393aa4bf22ce71e3786c841e9882e6108a9310a41cd15992e2d6af555c0b347e1b5c" name="MozillaFirefox" arch="src">
  <version epoch="0" ver="127.0.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719576000">- Fix GNOME search provider (boo#1225278)</changelog>
  <changelog author="Andrei Dziahel &lt;develop7@develop7.info&gt;" date="1719835200">- Mozilla Firefox 127.0.2
  * Fixed an issue where YouTube playback may experience stalling under
    certain conditions (bmo#1900191, bmo#1878510).
  * Fixed an issue where the Private Window icon was displayed in the taskbar
    on Windows when browser.privateWindowSeparation.enabled was
    set to false (bmo#1901840).
- Mozilla Firefox 127.0.1
  * Fixed an issue where users with a primary password set on their profile
    could lose their previous session of tabs upon upgrading if they dismissed
    the primary password prompt (bmo#1901899).
  * Fixed an issue where Linux users with accessibility.monoaudio.enable set
    to true were experiencing slow audio speeds (bmo#1900972).
  * Fixed an issue where, in some circumstances, the Firefox installer
    on Windows failed to complete the installation (bmo#1896868).
  * Fixed an issue causing Firefox to incorrectly reject cookies
    for certain websites (bmo#1901325).</changelog>
</package>
<package pkgid="29466dffa785792e6e7d2aa17399042e1dcc6d9d999061eebb8fefc6f4e447ab419515f12693c54c1c7efb3e602e071fcf000fbd8d53cbbaf07d5348ff4ead3a" name="MozillaFirefox" arch="x86_64">
  <version epoch="0" ver="127.0.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719576000">- Fix GNOME search provider (boo#1225278)</changelog>
  <changelog author="Andrei Dziahel &lt;develop7@develop7.info&gt;" date="1719835200">- Mozilla Firefox 127.0.2
  * Fixed an issue where YouTube playback may experience stalling under
    certain conditions (bmo#1900191, bmo#1878510).
  * Fixed an issue where the Private Window icon was displayed in the taskbar
    on Windows when browser.privateWindowSeparation.enabled was
    set to false (bmo#1901840).
- Mozilla Firefox 127.0.1
  * Fixed an issue where users with a primary password set on their profile
    could lose their previous session of tabs upon upgrading if they dismissed
    the primary password prompt (bmo#1901899).
  * Fixed an issue where Linux users with accessibility.monoaudio.enable set
    to true were experiencing slow audio speeds (bmo#1900972).
  * Fixed an issue where, in some circumstances, the Firefox installer
    on Windows failed to complete the installation (bmo#1896868).
  * Fixed an issue causing Firefox to incorrectly reject cookies
    for certain websites (bmo#1901325).</changelog>
</package>
<package pkgid="b93e7962f8deda00fca14e8d5f044531362ebdb76f4dfbae339d0f261984ea8ff3e26436ea4e372ce82b51b61c5c2d038326aee4468b3365bd021251083ad316" name="MozillaFirefox-branding-upstream" arch="x86_64">
  <version epoch="0" ver="127.0" rel="1.1"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1699444800">- Mozilla Firefox 119.0.1
  * Fixed a bug causing colors in the &lt;select&gt; HTML element to not
    be applied to dropdown menu arrows (bmo#1861253)
  * Fixed a bug with the &lt;input&gt; HTML element state not changing
    when dynamically updating the `disabled` attribute on an
    ancestor &lt;fieldset&gt; (bmo#1861027)
  * Fixed a bug causing elements with the indeterminate CSS
    selector in a radio group to not update (bmo#1861346)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Firefox 120.0
  https://www.mozilla.org/en-US/firefox/120.0/releasenotes
  MFSA 2023-49 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen
    transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6210 (bmo#1801501)
    Mixed-content resources not blocked in a javascript: pop-up
  * CVE-2023-6211 (bmo#1850200)
    Clickjacking to load insecure pages in HTTPS-only mode
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252,
    bmo#1856072, bmo#1856091, bmo#1859030, bmo#1860943,
    bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5
  * CVE-2023-6213 (bmo#1849265, bmo#1851118, bmo#1854911)
    Memory safety bugs fixed in Firefox 120
- rebased patches</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
</package>
<package pkgid="a9c76d31ed48cbaeabac32c537343419df74744ae43a237b02889adc1fbb8bf0473299acd90a39662f0475ec8c64e57062e10871a787a36290413b622c6e4c77" name="MozillaFirefox-branding-upstream" arch="x86_64">
  <version epoch="0" ver="127.0.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719576000">- Fix GNOME search provider (boo#1225278)</changelog>
  <changelog author="Andrei Dziahel &lt;develop7@develop7.info&gt;" date="1719835200">- Mozilla Firefox 127.0.2
  * Fixed an issue where YouTube playback may experience stalling under
    certain conditions (bmo#1900191, bmo#1878510).
  * Fixed an issue where the Private Window icon was displayed in the taskbar
    on Windows when browser.privateWindowSeparation.enabled was
    set to false (bmo#1901840).
- Mozilla Firefox 127.0.1
  * Fixed an issue where users with a primary password set on their profile
    could lose their previous session of tabs upon upgrading if they dismissed
    the primary password prompt (bmo#1901899).
  * Fixed an issue where Linux users with accessibility.monoaudio.enable set
    to true were experiencing slow audio speeds (bmo#1900972).
  * Fixed an issue where, in some circumstances, the Firefox installer
    on Windows failed to complete the installation (bmo#1896868).
  * Fixed an issue causing Firefox to incorrectly reject cookies
    for certain websites (bmo#1901325).</changelog>
</package>
<package pkgid="eea53f4afbdabfdb85bfefbcb0eb474935ab201d14941bf557374c3327af85b971aa6987a498112f1e4130f482499e3280730fef03af8e9929874db53471dbbc" name="MozillaFirefox-debuginfo" arch="x86_64">
  <version epoch="0" ver="127.0" rel="1.1"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1699444800">- Mozilla Firefox 119.0.1
  * Fixed a bug causing colors in the &lt;select&gt; HTML element to not
    be applied to dropdown menu arrows (bmo#1861253)
  * Fixed a bug with the &lt;input&gt; HTML element state not changing
    when dynamically updating the `disabled` attribute on an
    ancestor &lt;fieldset&gt; (bmo#1861027)
  * Fixed a bug causing elements with the indeterminate CSS
    selector in a radio group to not update (bmo#1861346)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Firefox 120.0
  https://www.mozilla.org/en-US/firefox/120.0/releasenotes
  MFSA 2023-49 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen
    transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6210 (bmo#1801501)
    Mixed-content resources not blocked in a javascript: pop-up
  * CVE-2023-6211 (bmo#1850200)
    Clickjacking to load insecure pages in HTTPS-only mode
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252,
    bmo#1856072, bmo#1856091, bmo#1859030, bmo#1860943,
    bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5
  * CVE-2023-6213 (bmo#1849265, bmo#1851118, bmo#1854911)
    Memory safety bugs fixed in Firefox 120
- rebased patches</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
</package>
<package pkgid="8d62fae1897c08bbdbb8aad10f74226c10d8422592b1475dbea8376bf2a9329d6dd47759e43feeecf25119daf44680826a0b13d338c35ecb2c19f08bae14b29e" name="MozillaFirefox-debuginfo" arch="x86_64">
  <version epoch="0" ver="127.0.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719576000">- Fix GNOME search provider (boo#1225278)</changelog>
  <changelog author="Andrei Dziahel &lt;develop7@develop7.info&gt;" date="1719835200">- Mozilla Firefox 127.0.2
  * Fixed an issue where YouTube playback may experience stalling under
    certain conditions (bmo#1900191, bmo#1878510).
  * Fixed an issue where the Private Window icon was displayed in the taskbar
    on Windows when browser.privateWindowSeparation.enabled was
    set to false (bmo#1901840).
- Mozilla Firefox 127.0.1
  * Fixed an issue where users with a primary password set on their profile
    could lose their previous session of tabs upon upgrading if they dismissed
    the primary password prompt (bmo#1901899).
  * Fixed an issue where Linux users with accessibility.monoaudio.enable set
    to true were experiencing slow audio speeds (bmo#1900972).
  * Fixed an issue where, in some circumstances, the Firefox installer
    on Windows failed to complete the installation (bmo#1896868).
  * Fixed an issue causing Firefox to incorrectly reject cookies
    for certain websites (bmo#1901325).</changelog>
</package>
<package pkgid="8abafc3c2677ea06bb6e8fe46639f170e0b27ab3c4e6de31f4d3f97b8696e447899c7d5174ca6584dc76e3237cfb50c21176b23f6a4d6b81b02bd222d73d9488" name="MozillaFirefox-debugsource" arch="x86_64">
  <version epoch="0" ver="127.0" rel="1.1"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1699444800">- Mozilla Firefox 119.0.1
  * Fixed a bug causing colors in the &lt;select&gt; HTML element to not
    be applied to dropdown menu arrows (bmo#1861253)
  * Fixed a bug with the &lt;input&gt; HTML element state not changing
    when dynamically updating the `disabled` attribute on an
    ancestor &lt;fieldset&gt; (bmo#1861027)
  * Fixed a bug causing elements with the indeterminate CSS
    selector in a radio group to not update (bmo#1861346)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Firefox 120.0
  https://www.mozilla.org/en-US/firefox/120.0/releasenotes
  MFSA 2023-49 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen
    transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6210 (bmo#1801501)
    Mixed-content resources not blocked in a javascript: pop-up
  * CVE-2023-6211 (bmo#1850200)
    Clickjacking to load insecure pages in HTTPS-only mode
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252,
    bmo#1856072, bmo#1856091, bmo#1859030, bmo#1860943,
    bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5
  * CVE-2023-6213 (bmo#1849265, bmo#1851118, bmo#1854911)
    Memory safety bugs fixed in Firefox 120
- rebased patches</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
</package>
<package pkgid="1e6c8843b2dd7f3701f3e4f9c4ea925c5a4df33539d71908d37466163def034b7a6cf9a6516874c3c4ddeb8a7dd5670f5b2a61302ecae936272cb0c61f33fbee" name="MozillaFirefox-debugsource" arch="x86_64">
  <version epoch="0" ver="127.0.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719576000">- Fix GNOME search provider (boo#1225278)</changelog>
  <changelog author="Andrei Dziahel &lt;develop7@develop7.info&gt;" date="1719835200">- Mozilla Firefox 127.0.2
  * Fixed an issue where YouTube playback may experience stalling under
    certain conditions (bmo#1900191, bmo#1878510).
  * Fixed an issue where the Private Window icon was displayed in the taskbar
    on Windows when browser.privateWindowSeparation.enabled was
    set to false (bmo#1901840).
- Mozilla Firefox 127.0.1
  * Fixed an issue where users with a primary password set on their profile
    could lose their previous session of tabs upon upgrading if they dismissed
    the primary password prompt (bmo#1901899).
  * Fixed an issue where Linux users with accessibility.monoaudio.enable set
    to true were experiencing slow audio speeds (bmo#1900972).
  * Fixed an issue where, in some circumstances, the Firefox installer
    on Windows failed to complete the installation (bmo#1896868).
  * Fixed an issue causing Firefox to incorrectly reject cookies
    for certain websites (bmo#1901325).</changelog>
</package>
<package pkgid="9a5e77b60833d3fce8e69bf8d3b2087f7e3292475f3a9660473ff30f60110383122f08653bb8914551e20580674127253f4bb4bd86eafa40f40dfcb38327872a" name="MozillaFirefox-devel" arch="noarch">
  <version epoch="0" ver="127.0" rel="1.1"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1699444800">- Mozilla Firefox 119.0.1
  * Fixed a bug causing colors in the &lt;select&gt; HTML element to not
    be applied to dropdown menu arrows (bmo#1861253)
  * Fixed a bug with the &lt;input&gt; HTML element state not changing
    when dynamically updating the `disabled` attribute on an
    ancestor &lt;fieldset&gt; (bmo#1861027)
  * Fixed a bug causing elements with the indeterminate CSS
    selector in a radio group to not update (bmo#1861346)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Firefox 120.0
  https://www.mozilla.org/en-US/firefox/120.0/releasenotes
  MFSA 2023-49 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen
    transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6210 (bmo#1801501)
    Mixed-content resources not blocked in a javascript: pop-up
  * CVE-2023-6211 (bmo#1850200)
    Clickjacking to load insecure pages in HTTPS-only mode
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252,
    bmo#1856072, bmo#1856091, bmo#1859030, bmo#1860943,
    bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5
  * CVE-2023-6213 (bmo#1849265, bmo#1851118, bmo#1854911)
    Memory safety bugs fixed in Firefox 120
- rebased patches</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
</package>
<package pkgid="f36de688f4b742add7012254511c21720563826a67157786810febc058862f5694876e93c2ca4c33afba628c1db01c1667e5384c88dc1e7c7c05780ed2557a38" name="MozillaFirefox-devel" arch="noarch">
  <version epoch="0" ver="127.0.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719576000">- Fix GNOME search provider (boo#1225278)</changelog>
  <changelog author="Andrei Dziahel &lt;develop7@develop7.info&gt;" date="1719835200">- Mozilla Firefox 127.0.2
  * Fixed an issue where YouTube playback may experience stalling under
    certain conditions (bmo#1900191, bmo#1878510).
  * Fixed an issue where the Private Window icon was displayed in the taskbar
    on Windows when browser.privateWindowSeparation.enabled was
    set to false (bmo#1901840).
- Mozilla Firefox 127.0.1
  * Fixed an issue where users with a primary password set on their profile
    could lose their previous session of tabs upon upgrading if they dismissed
    the primary password prompt (bmo#1901899).
  * Fixed an issue where Linux users with accessibility.monoaudio.enable set
    to true were experiencing slow audio speeds (bmo#1900972).
  * Fixed an issue where, in some circumstances, the Firefox installer
    on Windows failed to complete the installation (bmo#1896868).
  * Fixed an issue causing Firefox to incorrectly reject cookies
    for certain websites (bmo#1901325).</changelog>
</package>
<package pkgid="5618c330370033681b373ecab3e393d278dbcd33124b89a11e7859d6abd1c4c3fc4cbfc17b299621d8d86f92dbac925ad748e6b592d7c57341d4361f1095f3cd" name="MozillaFirefox-translations-common" arch="x86_64">
  <version epoch="0" ver="127.0" rel="1.1"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1699444800">- Mozilla Firefox 119.0.1
  * Fixed a bug causing colors in the &lt;select&gt; HTML element to not
    be applied to dropdown menu arrows (bmo#1861253)
  * Fixed a bug with the &lt;input&gt; HTML element state not changing
    when dynamically updating the `disabled` attribute on an
    ancestor &lt;fieldset&gt; (bmo#1861027)
  * Fixed a bug causing elements with the indeterminate CSS
    selector in a radio group to not update (bmo#1861346)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Firefox 120.0
  https://www.mozilla.org/en-US/firefox/120.0/releasenotes
  MFSA 2023-49 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen
    transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6210 (bmo#1801501)
    Mixed-content resources not blocked in a javascript: pop-up
  * CVE-2023-6211 (bmo#1850200)
    Clickjacking to load insecure pages in HTTPS-only mode
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252,
    bmo#1856072, bmo#1856091, bmo#1859030, bmo#1860943,
    bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5
  * CVE-2023-6213 (bmo#1849265, bmo#1851118, bmo#1854911)
    Memory safety bugs fixed in Firefox 120
- rebased patches</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
</package>
<package pkgid="2a0d58f77c7dbdc711899dc91ea9a403d5530ab625af6cda0ef6282cb9c122550e9fc0b5c7b4a24f69d0ca5521c7eeb8ad789ea069770944071b8b23127e8d04" name="MozillaFirefox-translations-common" arch="x86_64">
  <version epoch="0" ver="127.0.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719576000">- Fix GNOME search provider (boo#1225278)</changelog>
  <changelog author="Andrei Dziahel &lt;develop7@develop7.info&gt;" date="1719835200">- Mozilla Firefox 127.0.2
  * Fixed an issue where YouTube playback may experience stalling under
    certain conditions (bmo#1900191, bmo#1878510).
  * Fixed an issue where the Private Window icon was displayed in the taskbar
    on Windows when browser.privateWindowSeparation.enabled was
    set to false (bmo#1901840).
- Mozilla Firefox 127.0.1
  * Fixed an issue where users with a primary password set on their profile
    could lose their previous session of tabs upon upgrading if they dismissed
    the primary password prompt (bmo#1901899).
  * Fixed an issue where Linux users with accessibility.monoaudio.enable set
    to true were experiencing slow audio speeds (bmo#1900972).
  * Fixed an issue where, in some circumstances, the Firefox installer
    on Windows failed to complete the installation (bmo#1896868).
  * Fixed an issue causing Firefox to incorrectly reject cookies
    for certain websites (bmo#1901325).</changelog>
</package>
<package pkgid="98e5a4a438b8d21c5a72ba96845f1d5779f991c16400a875cbc85a266a5d9d7f1dfd0910b2edacdcc9dd2ed6bc3145c8cccd59b6de5f3605462a519cbd5e6db8" name="MozillaFirefox-translations-other" arch="x86_64">
  <version epoch="0" ver="127.0" rel="1.1"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1699444800">- Mozilla Firefox 119.0.1
  * Fixed a bug causing colors in the &lt;select&gt; HTML element to not
    be applied to dropdown menu arrows (bmo#1861253)
  * Fixed a bug with the &lt;input&gt; HTML element state not changing
    when dynamically updating the `disabled` attribute on an
    ancestor &lt;fieldset&gt; (bmo#1861027)
  * Fixed a bug causing elements with the indeterminate CSS
    selector in a radio group to not update (bmo#1861346)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Firefox 120.0
  https://www.mozilla.org/en-US/firefox/120.0/releasenotes
  MFSA 2023-49 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen
    transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6210 (bmo#1801501)
    Mixed-content resources not blocked in a javascript: pop-up
  * CVE-2023-6211 (bmo#1850200)
    Clickjacking to load insecure pages in HTTPS-only mode
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252,
    bmo#1856072, bmo#1856091, bmo#1859030, bmo#1860943,
    bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5
  * CVE-2023-6213 (bmo#1849265, bmo#1851118, bmo#1854911)
    Memory safety bugs fixed in Firefox 120
- rebased patches</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
</package>
<package pkgid="289905475337e222837422d611285176bf1775b7270e3b3559ab7cf73ce3d1d29e246caaaf1012f99accba56b3abd1edc23253b5e96f727769096fe66782671b" name="MozillaFirefox-translations-other" arch="x86_64">
  <version epoch="0" ver="127.0.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1702036800">- Mozilla Firefox 120.0.1 (boo#1217910)
  * Fixed a bug that was causing persistent startup slowdowns
    (bmo#1867095)
  * Fixed an issue that was causing 100% CPU usage on sites such as
    Google Maps. (bmo#1866409)
  * Fixed an issue that was causing YouTube videos to show a green
    screen when hardware acceleration was enabled. (bmo#1865928)
  * Fixed an issue where the status bar was still visible when
    viewing fullscreen video. (bmo#1853896)
  * Fixed a startup crash affecting Linux users on some aarch64
    systems with page sizes other than 4KB. (bmo#1866025)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1703073600">- Mozilla Firefox 121.0
  https://www.mozilla.org/en-US/firefox/121.0/releasenotes
  MFSA 2023-56 (bsc#1217974)
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6135 (bmo#1853908)
    NSS susceptible to "Minerva" attack
  * CVE-2023-6865 (bmo#1864123)
    Potential exposure of uninitialized data in EncryptingOutputStream
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6866 (bmo#1849037)
    TypedArrays lack sufficient exception handling
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6867 (bmo#1863863)
    Clickjacking permission prompts using the popup transition
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6868 (bmo#1865488)
    WebPush requests on Firefox for Android did not require VAPID key
  * CVE-2023-6869 (bmo#1799036)
    Content can paint outside of sandboxed iframe
  * CVE-2023-6870 (bmo#1823316)
    Android Toast notifications may obscure fullscreen event
    notifications
  * CVE-2023-6871 (bmo#1828334)
    Lack of protocol handler warning in some instances
  * CVE-2023-6872 (bmo#1849186)
    Browsing history leaked to syslogs via GNOME
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328, bmo#1856090,
    bmo#1858033, bmo#1858509, bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6
  * CVE-2023-6873 (bmo#1855327, bmo#1862089, bmo#1862723)
    Memory safety bugs fixed in Firefox 121
- requires NSS 3.95</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1704801600">- Mozilla Firefox 121.0.1
  * Fixed unexpected line wrapping in some CJK contexts caused by
    changes in ideographic space handling. bmo#1870973)
  * Fixed a hang when loading sites containing column-based
    layouts under some circumstances. bmo#1867784)
  * Fixed missing rounded corners for videos playing over another
    video. bmo#1869994)
  * Fixed Firefox not closing properly and other applications being
    unable to use a USB security key after being previously used
    during a Firefox session. bmo#1863135)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Firefox 122.0
  https://www.mozilla.org/en-US/firefox/122.0/releasenotes/
  MFSA 2024-01 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-0744 (bmo#1871089)
    Wild pointer dereference in JavaScript
  * CVE-2024-0745 (bmo#1871838)
    Stack buffer overflow in WebAudio
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0748 (bmo#1783504)
    Compromised content process could modify document URI
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0752 (bmo#1866840)
    Use-after-free could occur when applying update on macOS
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0754 (bmo#1871605)
    Crash when using some WASM files in devtools
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7
- requires NSS 3.96.1
- rebased patches</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1706356800">- Fix file list</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1706616000">- Recommend libfido2-udev on codestreams that exist, in order to try
  to get security keys (e.g. Yubikeys) work out of the box. (bsc#1184272)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1707825600">- Mozilla Firefox 122.0.1
  https://www.mozilla.org/en-US/firefox/122.0.1/releasenotes/
  * Fixed the Library and Sidebar context menus only displaying
    Multi-Account Containers icons in the "Open in New Container
    Tab" menu. (bmo#1876518)
  * Fixed an issue when clicking the Dismiss button in
    notification pop-ups on Windows causing a webpage in a new tab.
    (bmo#1848801)
  * Fixed the yaru-remix system theme not applying correctly on
    Linux. (bmo#1877002)
  * Fixed adding an extra new line to a rule in the Developer
    Tools' Inspector when copying it to the clipboard.
    (bmo#1876220)
  * Rolled back a keyboard behavior change made to the Developer
    Tools' Rules view when validating a property name or input with
    the Enter key.
    This moves the focus to the next input, as was the behavior
    in Firefox 121. (bmo#1877457)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708603200">- Mozilla Firefox 123.0
  https://www.mozilla.org/en-US/firefox/123.0/releasenotes/
  MFSA 2024-05 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1554 (bmo#1816390)
    fetch could be used to effect cache poisoning
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1555 (bmo#1873223)
    SameSite cookies were not properly respected when opening a
    website from an external browser
  * CVE-2024-1556 (bmo#1870414)
    Invalid memory access in the built-in profiler
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498, bmo#1872296,
    bmo#1873521, bmo#1873577, bmo#1873597, bmo#1873866, bmo#1874080,
    bmo#1874740, bmo#1875795, bmo#1875906, bmo#1876425, bmo#1878211,
    bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * CVE-2024-1557 (bmo#1746471, bmo#1848829, bmo#1864011, bmo#1869175,
    bmo#1869455, bmo#1869938, bmo#1871606)
    Memory safety bugs fixed in Firefox 123
- requires NSS 3.97</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1709899200">- Mozilla Firefox 123.0.1
  * Fixed the *Firefox Translation* language indicator in the
    address bar displaying a colored square icon instead of the
    language code icon. (bmo#1879415)
  * Fixed a regression with the `onChange` event not firing when
    clearing the value of a `textarea` HTML field.
    (bmo#1881457)
  * Fixed a regression in the JavaScript JIT engine incorrectly
    inlining strings in some cases. (bmo#1882386)
  * Fixed: Fixed low contrast of text when selecting rows in the
    Developer tools' Storage panel. (bmo#1877090)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1711108800">- Mozilla Firefox 124.0.1
  https://www.mozilla.org/en-US/firefox/124.0.1/releasenotes/
  MFSA 2024-15 (bsc#1221850)
  * CVE-2024-29943 (bmo#1886849)
    Out-of-bounds access via Range Analysis bypass
  * CVE-2024-29944 (bmo#1886852)
    Privileged JavaScript Execution via Event Handlers
  Mozilla Firefox 124.0
  https://www.mozilla.org/en-US/firefox/124.0/releasenotes/
  MFSA 2024-12 (bsc#1221327)
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2606 (bmo#1879237)
    Mishandling of WASM register values
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2613 (bmo#1875701)
    Improper handling of QUIC ACK frame data could have led to OOM
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9
  * CVE-2024-2615 (bmo#1881074, bmo#1881650, bmo#1882438)
    Memory safety bugs fixed in Firefox 124
- requires
  NSS = 3.98
  rust-cbindgen &gt;= 0.26</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1712145600">- Mozilla Firefox 124.0.2
  https://www.mozilla.org/en-US/firefox/124.0.2/releasenotes/
  * Fixed an issue where users with a large amount of bookmarks would
    be unable to restore a bookmarks backup. (bmo#1884308)
  * Fixed an issue that would cause open Firefox windows
    to go blank or crash during video playback on sites such as
    Netflix. (bmo#1883932)
  * Fixed a crash that affected Linux AArch64 builds. (bmo#1866396)
  * Fixed an issue where some users experienced difficulties loading
    webpages due to changes made to the default AppArmor configuration
    shipping in Ubuntu 24.04. (bmo#1884347)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713700800">- Mozilla Firefox 125.0.2
  * The 125.0 and 125.0.1 releases were skipped due to problems
    with a feature that proactively blocked downloads from
    potentially untrustworthy URLs.
  * New: Firefox now supports the AV1 codec for Encrypted Media
    Extensions (EME), enabling higher-quality playback from video
    streaming providers
  * New: The Firefox PDF viewer now supports text highlighting.
  * New: Firefox View now displays pinned tabs in the Open tabs
    section. Tab indicators have also been added to Open tabs, so
    users can do things like see which tabs are playing media and
    quickly mute or unmute across windows. Indicators were also
    added for bookmarks, tabs with notifications, and more!
    their addresses upon submitting an address form, allowing
    Firefox to autofill stored address information in the future.
  * New: The URL Paste Suggestion feature provides a convenient
    way for users to quickly visit URLs copied to the clipboard
    in the address bar of Firefox. When the clipboard contains a
    URL and the URL bar is focused, an autocomplete result
    appears automatically. Activating the clipboard suggestion
    will navigate the user to the URL with 1 click.
  * New: Users of tab-specific Container add-ons can now search
    in the Address Bar for tabs that are open in different
    containers. Special thanks to volunteer contributor atararx
    for kicking off the work on this feature!
  * New: Firefox now provides an option to enable Web Proxy Auto-
    Discovery (WPAD) while configured to use system proxy
    settings.
  * Changed: In a group of radio buttons where no option is
    selected, the tab key now only reaches the first option
    rather than cycling through all available options. The arrow
    keys navigate between options as they do when there is a
    selected option. This makes keyboard navigation more
    efficient and consistent
  * HTML5: Firefox now supports the `popover` global attribute
    used for designating an element as a popover element. The
    element won't be rendered until it is made visible, after
    which it will appear on top of other page content.
  * HTML5: WebAssembly multi-memory is now enabled by default.
    Wasm multi-memory allows wasm modules to use and import
    multiple independent linear memories. This enables more
    efficient interoperability between modules and provides
    better polyfills for upcoming wasm standards, such as the
    component model.
  * HTML5: Added support for Unicode Text Segmentation to
    JavaScript.
  * HTML5: Added support for `contextlost` and `contextrestored`
    events on HTMLCanvasElement and OffscreenCanvas to allow user
    code to recover from context loss with hardware accelerated
    2d canvas.
  * HTML5: Firefox now supports the
    `navigator.clipboard.readText()` web API. A paste context
    menu will appear for the user to confirm when attempting to
    read clipboard data not provided by the same-origin page.
  * HTML5: Added support for the `content-box` and `stroke-box`
    keywords of the `transform-box` CSS property.
  * HTML5: The `align-content` property now works in block
    layout, allowing block direction alignment without needing a
    flex or grid container.
  * HTML5: Support for `SVGAElement.text` was removed in favor of
    the more widely-implemented `SVGAElement.textContent` method.
  * Developer: Following several requests, we have reintroduced
    the option to disable the Pause Debugger Overlay
    (`devtools.debugger.features.overlay`). This overlay appears
    over the page content when the debugger pauses JavaScript
    execution. In certain scenarios, the overlay can be
    intrusive, making it challenging to interact with the page,
    for instance, evaluating shades of color underneath.
  * Developer: We've added a new drop-down menu button at the
    bottom of the source view in the Debugger panel, specifically
    designed for Source Map related actions. Users can now easily
    disable or enable Source Maps support, open the Source Map
    file in a new tab, switch between the original source and the
    generated bundle, toggle the "open original source by
    default" option, and view the Source Map status such as
    errors, loading status, etc.
    MFSA 2024-18 (bsc#1221327)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3853 (bmo#1884427)
    Use-after-free if garbage collection runs during realm
    initialization
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3855 (bmo#1885828)
    Incorrect JIT optimization of MSubstr leads to out-of-bounds
    reads
  * CVE-2024-3856 (bmo#1885829)
    Use-after-free in WASM garbage collection
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-3858 (bmo#1888892)
    Corrupt pointer dereference in
    js::CheckTracedThing&lt;js::Shape&gt;
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType
    sanitizer
  * CVE-2024-3860 (bmo#1881417)
    Crash when tracing empty shape lists
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3862 (bmo#1884457)
    Potential use of uninitialized memory in MarkStack assignment
    operator on self-assignment
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on
    Windows
  * CVE-2024-3302 (bmo#1881183,
    bmo#https://kb.cert.org/vuls/id/421644)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10
  * CVE-2024-3865 (bmo#1881076, bmo#1884887, bmo#1885359,
    bmo#1889049)
    Memory safety bugs fixed in Firefox 125
- requires
  NSS 3.99
  rust 1.76
- add mozilla-libproxy-fix.patch to fix with-libproxy build variant</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1713960000">- Fix build on Leap by requiring gcc13 which has been made available
  as an update.</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714392000">- Mozilla Firefox 125.0.3
  * Fixed: Fixed an extra blank tab with an address of
    `https://0.0.0.1` sometimes appearing when attempting to
    launch Firefox when it is already running (bmo#1892612).
  * Fixed: Fixed an issue that could cause incorrect font
    selection in some situations for users with the Japanese
    locale set (bmo#1892363).
  * Fixed: Fixed text corruption when dragging text containing
    unicode characters on Linux systems (bmo#1888202).
  * Fixed: Fixed a correctness error when checking
    `arguments.length` (and not using arguments otherwise) inside
    of a generator or async function (bmo#1892699).
  * Fixed: Fixed an issue that could lead to inconsistent focus
    handling of `&lt;select&gt;` elements when opened (bmo#1893177).</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715774400">- Mozilla Firefox 126.0
  https://www.mozilla.org/en-US/firefox/126.0/releasenotes
  MFSA 2024-21 (bsc#1224056)
  * CVE-2024-4764 (bmo#1879093)
    Use-after-free when audio input connected with multiple consumers
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4765 (bmo#1871109)
    Web application manifests could have been overwritten via
    hash collision
  * CVE-2024-4766 (bmo#1871214, bmo#1871217)
    Fullscreen notification could have been obscured on Firefox
    for Android
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4771 (bmo#1893891)
    Failed allocation could lead to use-after-free
  * CVE-2024-4772 (bmo#1870579)
    Use of insecure rand() function to generate nonce
  * CVE-2024-4773 (bmo#1875248)
    URL bar could be cleared after network error
  * CVE-2024-4774 (bmo#1886598)
    Undefined behavior in ShmemCharMapHashEntry()
  * CVE-2024-4775 (bmo#1887332)
    Invalid memory access in the built-in profiler
  * CVE-2024-4776 (bmo#1887343)
    Window may remain disabled after file dialog is shown in
    full-screen
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11
  * CVE-2024-4778 (bmo#1838834, bmo#1889291, bmo#1889595,
    bmo#1890204, bmo#1891545)
    Memory safety bugs fixed in Firefox 126
- requires NSS 3.100
- removed obsolete mozilla-libproxy-fix.patch</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1716897600">- Backport upstream patches to fix build on aarch64 - boo#1225460
  * mozilla-bmo1886378.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Firefox 126.0.1
  * Fixed an issue with reading tagged PDF documents in a screen reader
    bmo#1894849
  * Fixed not displaying localized text for non-en-US locales in the
    Crash Reporter dialog box on macOS. (bmo#1896097)
  * Fixed issues with drag-and-drop functionality on Linux. (bmo#1897115)
  * Fixed an issue causing high GPU memory usage on certain versions
    of AMD cards. (bmo#1897006)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718107200">- Mozilla Firefox 127.0
  https://www.mozilla.org/en-US/firefox/127.0/releasenotes
  MFSA 2024-25 (bsc#1226027)
  * CVE-2024-5687 (bmo#1889066)
    An incorrect principal could have been used when opening new tabs
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5689 (bmo#1389707)
    User confusion and possible phishing vector via Firefox Screenshots
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1837514, bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5694 (bmo#1895055)
    Use-after-free in JavaScript Strings
  * CVE-2024-5695 (bmo#1895579)
    Memory Corruption using allocation using out-of-memory conditions
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5697 (bmo#1414937)
    Website was able to detect when Firefox was taking a
    screenshot of them
  * CVE-2024-5698 (bmo#1828259)
    Data-list could have overlaid address bar
  * CVE-2024-5699 (bmo#1891349)
    Cookie prefixes not treated as case-sensitive
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12
  * CVE-2024-5701 (bmo#1890909, bmo#1891422, bmo#1893915,
    bmo#1894047, bmo#1896024)
    Memory safety bugs fixed in Firefox 127
- removed obsolete mozilla-bmo1886378.patch</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719576000">- Fix GNOME search provider (boo#1225278)</changelog>
  <changelog author="Andrei Dziahel &lt;develop7@develop7.info&gt;" date="1719835200">- Mozilla Firefox 127.0.2
  * Fixed an issue where YouTube playback may experience stalling under
    certain conditions (bmo#1900191, bmo#1878510).
  * Fixed an issue where the Private Window icon was displayed in the taskbar
    on Windows when browser.privateWindowSeparation.enabled was
    set to false (bmo#1901840).
- Mozilla Firefox 127.0.1
  * Fixed an issue where users with a primary password set on their profile
    could lose their previous session of tabs upon upgrading if they dismissed
    the primary password prompt (bmo#1901899).
  * Fixed an issue where Linux users with accessibility.monoaudio.enable set
    to true were experiencing slow audio speeds (bmo#1900972).
  * Fixed an issue where, in some circumstances, the Firefox installer
    on Windows failed to complete the installation (bmo#1896868).
  * Fixed an issue causing Firefox to incorrectly reject cookies
    for certain websites (bmo#1901325).</changelog>
</package>
<package pkgid="f0d956cb0c0a62b099164bc227d5ec77f0a45aad605f1e040a2379b9ca018c0821f02fe93172dabd296146970fe4976150ea4bb85b07240d7b5ebbc8a68a75e5" name="MozillaThunderbird" arch="src">
  <version epoch="0" ver="115.12.0" rel="1.1"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1698148800">- Mozilla Thunderbird 115.4.1
  https://www.thunderbird.net/en-US/thunderbird/115.4.1/releasenotes
  https://www.thunderbird.net/en-US/thunderbird/115.4.0/releasenotes
  MFSA 2023-47 (bsc#1216338)
  * CVE-2023-5721 (bmo#1830820)
    Queued up rendering could have allowed websites to clickjack
  * CVE-2023-5732 (bmo#1690979, bmo#1836962)
    Address bar spoofing via bidirectional characters
  * CVE-2023-5724 (bmo#1836705)
    Large WebGL draw could have led to a crash
  * CVE-2023-5725 (bmo#1845739)
    WebExtensions could open arbitrary URLs
  * CVE-2023-5726 (bmo#1846205)
    Full screen notification obscured by file open dialog on macOS
  * CVE-2023-5727 (bmo#1847180)
    Download Protections were bypassed by .msix, .msixbundle,
    .appx, and .appxbundle files on Windows
  * CVE-2023-5728 (bmo#1852729)
    Improper object tracking during GC in the JavaScript engine
    could have led to a crash.
  * CVE-2023-5730 (bmo#1836607, bmo#1840918, bmo#1848694, bmo#1848833,
    bmo#1850191, bmo#1850259, bmo#1852596, bmo#1853201, bmo#1854002,
    bmo#1855306, bmo#1855640, bmo#1856695)
    Memory safety bugs fixed in Firefox 119, Firefox ESR 115.4,
    and Thunderbird 115.4.1
- removed obsolete mozilla-bmo1846703.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
</package>
<package pkgid="43d88afc60b5d1ce88a555684808241ae69dd48f377524264fee8368206506f78594555780f541ba573a774b6fd81fabece97ad27e4e80b6197a8babfd717422" name="MozillaThunderbird" arch="x86_64">
  <version epoch="0" ver="115.12.0" rel="1.1"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1698148800">- Mozilla Thunderbird 115.4.1
  https://www.thunderbird.net/en-US/thunderbird/115.4.1/releasenotes
  https://www.thunderbird.net/en-US/thunderbird/115.4.0/releasenotes
  MFSA 2023-47 (bsc#1216338)
  * CVE-2023-5721 (bmo#1830820)
    Queued up rendering could have allowed websites to clickjack
  * CVE-2023-5732 (bmo#1690979, bmo#1836962)
    Address bar spoofing via bidirectional characters
  * CVE-2023-5724 (bmo#1836705)
    Large WebGL draw could have led to a crash
  * CVE-2023-5725 (bmo#1845739)
    WebExtensions could open arbitrary URLs
  * CVE-2023-5726 (bmo#1846205)
    Full screen notification obscured by file open dialog on macOS
  * CVE-2023-5727 (bmo#1847180)
    Download Protections were bypassed by .msix, .msixbundle,
    .appx, and .appxbundle files on Windows
  * CVE-2023-5728 (bmo#1852729)
    Improper object tracking during GC in the JavaScript engine
    could have led to a crash.
  * CVE-2023-5730 (bmo#1836607, bmo#1840918, bmo#1848694, bmo#1848833,
    bmo#1850191, bmo#1850259, bmo#1852596, bmo#1853201, bmo#1854002,
    bmo#1855306, bmo#1855640, bmo#1856695)
    Memory safety bugs fixed in Firefox 119, Firefox ESR 115.4,
    and Thunderbird 115.4.1
- removed obsolete mozilla-bmo1846703.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
</package>
<package pkgid="20a8caaf89402125a0aac8f6ccb3bac5f37191413240298412a8683d3a10414fd1fb384163cd43ff45042932d4cf1fc2be520ea66bde3f24e8a819f6108273b1" name="MozillaThunderbird" arch="src">
  <version epoch="0" ver="115.12.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719921600">- Mozilla Thunderbird 115.12.2
  * fixed: Annual Thunderbird Beta appeal intended for
    Thunderbird 115.12.0 did not open as expected (bmo#1898084)
- Mozilla Thunderbird 115.12.1
  * 115.12.0 got pulled because of upstream automation process errors
    and Windows installer signing changes.
    No code changes, changelog is the same as 115.12.0 (bsc#1226495)
- Added thunderbird-fix-CVE-2024-34703.patch (bsc#1227239)</changelog>
</package>
<package pkgid="33fa9a459815978917e56fd1dfc5a066e791041ba54a4ed54e307795186df89251c36c6c299051406ef21b57ff4a4281796db855e70b7536c0613a4b3d311312" name="MozillaThunderbird" arch="x86_64">
  <version epoch="0" ver="115.12.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719921600">- Mozilla Thunderbird 115.12.2
  * fixed: Annual Thunderbird Beta appeal intended for
    Thunderbird 115.12.0 did not open as expected (bmo#1898084)
- Mozilla Thunderbird 115.12.1
  * 115.12.0 got pulled because of upstream automation process errors
    and Windows installer signing changes.
    No code changes, changelog is the same as 115.12.0 (bsc#1226495)
- Added thunderbird-fix-CVE-2024-34703.patch (bsc#1227239)</changelog>
</package>
<package pkgid="e3a1b4954b82040a04bfdcfb1ea0fcbfb3b73008d357d229001a490fe962479f06e473e24b6b1a96151a94ed6a5dcbaa6e4092d64e5ab8b4b1b3f19de9df677c" name="MozillaThunderbird-debuginfo" arch="x86_64">
  <version epoch="0" ver="115.12.0" rel="1.1"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1698148800">- Mozilla Thunderbird 115.4.1
  https://www.thunderbird.net/en-US/thunderbird/115.4.1/releasenotes
  https://www.thunderbird.net/en-US/thunderbird/115.4.0/releasenotes
  MFSA 2023-47 (bsc#1216338)
  * CVE-2023-5721 (bmo#1830820)
    Queued up rendering could have allowed websites to clickjack
  * CVE-2023-5732 (bmo#1690979, bmo#1836962)
    Address bar spoofing via bidirectional characters
  * CVE-2023-5724 (bmo#1836705)
    Large WebGL draw could have led to a crash
  * CVE-2023-5725 (bmo#1845739)
    WebExtensions could open arbitrary URLs
  * CVE-2023-5726 (bmo#1846205)
    Full screen notification obscured by file open dialog on macOS
  * CVE-2023-5727 (bmo#1847180)
    Download Protections were bypassed by .msix, .msixbundle,
    .appx, and .appxbundle files on Windows
  * CVE-2023-5728 (bmo#1852729)
    Improper object tracking during GC in the JavaScript engine
    could have led to a crash.
  * CVE-2023-5730 (bmo#1836607, bmo#1840918, bmo#1848694, bmo#1848833,
    bmo#1850191, bmo#1850259, bmo#1852596, bmo#1853201, bmo#1854002,
    bmo#1855306, bmo#1855640, bmo#1856695)
    Memory safety bugs fixed in Firefox 119, Firefox ESR 115.4,
    and Thunderbird 115.4.1
- removed obsolete mozilla-bmo1846703.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
</package>
<package pkgid="7c53e6302f54f82cd1f71d962a3b68e0e3e3acbfe103954763494be360c6aba1949660435ca079da0ceeb08b86de1954cc7da5216baf1103797f278ad41386ad" name="MozillaThunderbird-debuginfo" arch="x86_64">
  <version epoch="0" ver="115.12.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719921600">- Mozilla Thunderbird 115.12.2
  * fixed: Annual Thunderbird Beta appeal intended for
    Thunderbird 115.12.0 did not open as expected (bmo#1898084)
- Mozilla Thunderbird 115.12.1
  * 115.12.0 got pulled because of upstream automation process errors
    and Windows installer signing changes.
    No code changes, changelog is the same as 115.12.0 (bsc#1226495)
- Added thunderbird-fix-CVE-2024-34703.patch (bsc#1227239)</changelog>
</package>
<package pkgid="f90e428b5e789cddb8101afd001e36ab85c9074b52a9abe0ef073d49880df82945cd6ea34624afcdf6a246c7d33f00259a10897b6de888c14337d33c842191f6" name="MozillaThunderbird-debugsource" arch="x86_64">
  <version epoch="0" ver="115.12.0" rel="1.1"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1698148800">- Mozilla Thunderbird 115.4.1
  https://www.thunderbird.net/en-US/thunderbird/115.4.1/releasenotes
  https://www.thunderbird.net/en-US/thunderbird/115.4.0/releasenotes
  MFSA 2023-47 (bsc#1216338)
  * CVE-2023-5721 (bmo#1830820)
    Queued up rendering could have allowed websites to clickjack
  * CVE-2023-5732 (bmo#1690979, bmo#1836962)
    Address bar spoofing via bidirectional characters
  * CVE-2023-5724 (bmo#1836705)
    Large WebGL draw could have led to a crash
  * CVE-2023-5725 (bmo#1845739)
    WebExtensions could open arbitrary URLs
  * CVE-2023-5726 (bmo#1846205)
    Full screen notification obscured by file open dialog on macOS
  * CVE-2023-5727 (bmo#1847180)
    Download Protections were bypassed by .msix, .msixbundle,
    .appx, and .appxbundle files on Windows
  * CVE-2023-5728 (bmo#1852729)
    Improper object tracking during GC in the JavaScript engine
    could have led to a crash.
  * CVE-2023-5730 (bmo#1836607, bmo#1840918, bmo#1848694, bmo#1848833,
    bmo#1850191, bmo#1850259, bmo#1852596, bmo#1853201, bmo#1854002,
    bmo#1855306, bmo#1855640, bmo#1856695)
    Memory safety bugs fixed in Firefox 119, Firefox ESR 115.4,
    and Thunderbird 115.4.1
- removed obsolete mozilla-bmo1846703.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
</package>
<package pkgid="a0c6499a836014123e2f4c5e2735b7c12bd36a35b6c1e82fd1c752994b729155afa5945d1c5d06e327aa42cb4e127cfd087f626096a1a0e69dc7abbd9c0f1cdd" name="MozillaThunderbird-debugsource" arch="x86_64">
  <version epoch="0" ver="115.12.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719921600">- Mozilla Thunderbird 115.12.2
  * fixed: Annual Thunderbird Beta appeal intended for
    Thunderbird 115.12.0 did not open as expected (bmo#1898084)
- Mozilla Thunderbird 115.12.1
  * 115.12.0 got pulled because of upstream automation process errors
    and Windows installer signing changes.
    No code changes, changelog is the same as 115.12.0 (bsc#1226495)
- Added thunderbird-fix-CVE-2024-34703.patch (bsc#1227239)</changelog>
</package>
<package pkgid="96d7d9a3642c73064da965d01f9a8a7ee178c27f09ef793c536e45d0282743317088320520cc0418e1f1275b68a851fd3352816e79d64c326f3261617e6f1814" name="MozillaThunderbird-openpgp-librnp" arch="x86_64">
  <version epoch="0" ver="115.12.0" rel="1.1"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1698148800">- Mozilla Thunderbird 115.4.1
  https://www.thunderbird.net/en-US/thunderbird/115.4.1/releasenotes
  https://www.thunderbird.net/en-US/thunderbird/115.4.0/releasenotes
  MFSA 2023-47 (bsc#1216338)
  * CVE-2023-5721 (bmo#1830820)
    Queued up rendering could have allowed websites to clickjack
  * CVE-2023-5732 (bmo#1690979, bmo#1836962)
    Address bar spoofing via bidirectional characters
  * CVE-2023-5724 (bmo#1836705)
    Large WebGL draw could have led to a crash
  * CVE-2023-5725 (bmo#1845739)
    WebExtensions could open arbitrary URLs
  * CVE-2023-5726 (bmo#1846205)
    Full screen notification obscured by file open dialog on macOS
  * CVE-2023-5727 (bmo#1847180)
    Download Protections were bypassed by .msix, .msixbundle,
    .appx, and .appxbundle files on Windows
  * CVE-2023-5728 (bmo#1852729)
    Improper object tracking during GC in the JavaScript engine
    could have led to a crash.
  * CVE-2023-5730 (bmo#1836607, bmo#1840918, bmo#1848694, bmo#1848833,
    bmo#1850191, bmo#1850259, bmo#1852596, bmo#1853201, bmo#1854002,
    bmo#1855306, bmo#1855640, bmo#1856695)
    Memory safety bugs fixed in Firefox 119, Firefox ESR 115.4,
    and Thunderbird 115.4.1
- removed obsolete mozilla-bmo1846703.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
</package>
<package pkgid="6c18a693e8649cdf3c933c682d9b2ba1f805ec24ef178db22df3d193165717dd6ce99c658c52cfcb61770fe0fb0032457ad7e28a15a187988de36ad2378fee3e" name="MozillaThunderbird-openpgp-librnp" arch="x86_64">
  <version epoch="0" ver="115.12.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719921600">- Mozilla Thunderbird 115.12.2
  * fixed: Annual Thunderbird Beta appeal intended for
    Thunderbird 115.12.0 did not open as expected (bmo#1898084)
- Mozilla Thunderbird 115.12.1
  * 115.12.0 got pulled because of upstream automation process errors
    and Windows installer signing changes.
    No code changes, changelog is the same as 115.12.0 (bsc#1226495)
- Added thunderbird-fix-CVE-2024-34703.patch (bsc#1227239)</changelog>
</package>
<package pkgid="f31ddbd88fa587b9337e17e0b52210081d1473a39c72f511776813bd1c726a7793f0030ded69585e69b9af0058a0882feda5e0a18031e77741fd11eb2342ad23" name="MozillaThunderbird-openpgp-librnp-debuginfo" arch="x86_64">
  <version epoch="0" ver="115.12.0" rel="1.1"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1698148800">- Mozilla Thunderbird 115.4.1
  https://www.thunderbird.net/en-US/thunderbird/115.4.1/releasenotes
  https://www.thunderbird.net/en-US/thunderbird/115.4.0/releasenotes
  MFSA 2023-47 (bsc#1216338)
  * CVE-2023-5721 (bmo#1830820)
    Queued up rendering could have allowed websites to clickjack
  * CVE-2023-5732 (bmo#1690979, bmo#1836962)
    Address bar spoofing via bidirectional characters
  * CVE-2023-5724 (bmo#1836705)
    Large WebGL draw could have led to a crash
  * CVE-2023-5725 (bmo#1845739)
    WebExtensions could open arbitrary URLs
  * CVE-2023-5726 (bmo#1846205)
    Full screen notification obscured by file open dialog on macOS
  * CVE-2023-5727 (bmo#1847180)
    Download Protections were bypassed by .msix, .msixbundle,
    .appx, and .appxbundle files on Windows
  * CVE-2023-5728 (bmo#1852729)
    Improper object tracking during GC in the JavaScript engine
    could have led to a crash.
  * CVE-2023-5730 (bmo#1836607, bmo#1840918, bmo#1848694, bmo#1848833,
    bmo#1850191, bmo#1850259, bmo#1852596, bmo#1853201, bmo#1854002,
    bmo#1855306, bmo#1855640, bmo#1856695)
    Memory safety bugs fixed in Firefox 119, Firefox ESR 115.4,
    and Thunderbird 115.4.1
- removed obsolete mozilla-bmo1846703.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
</package>
<package pkgid="1972f5405274410dc8e3f9e29fd3b83bb0b43a109019a5284045a2beb6dc8c926dd9f935b85ea049c5cd28f102cf9e7001b2ef14e09260fc726773bd6579bf94" name="MozillaThunderbird-openpgp-librnp-debuginfo" arch="x86_64">
  <version epoch="0" ver="115.12.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719921600">- Mozilla Thunderbird 115.12.2
  * fixed: Annual Thunderbird Beta appeal intended for
    Thunderbird 115.12.0 did not open as expected (bmo#1898084)
- Mozilla Thunderbird 115.12.1
  * 115.12.0 got pulled because of upstream automation process errors
    and Windows installer signing changes.
    No code changes, changelog is the same as 115.12.0 (bsc#1226495)
- Added thunderbird-fix-CVE-2024-34703.patch (bsc#1227239)</changelog>
</package>
<package pkgid="1149fdc20a29db3f531a020a7e09c2544981f00dae404174830ef10ebfe137ac42ddfe1b7126caeeadfe6ea124f8590010b151ae23476ca3ebb798325c7d86fb" name="MozillaThunderbird-translations-common" arch="x86_64">
  <version epoch="0" ver="115.12.0" rel="1.1"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1698148800">- Mozilla Thunderbird 115.4.1
  https://www.thunderbird.net/en-US/thunderbird/115.4.1/releasenotes
  https://www.thunderbird.net/en-US/thunderbird/115.4.0/releasenotes
  MFSA 2023-47 (bsc#1216338)
  * CVE-2023-5721 (bmo#1830820)
    Queued up rendering could have allowed websites to clickjack
  * CVE-2023-5732 (bmo#1690979, bmo#1836962)
    Address bar spoofing via bidirectional characters
  * CVE-2023-5724 (bmo#1836705)
    Large WebGL draw could have led to a crash
  * CVE-2023-5725 (bmo#1845739)
    WebExtensions could open arbitrary URLs
  * CVE-2023-5726 (bmo#1846205)
    Full screen notification obscured by file open dialog on macOS
  * CVE-2023-5727 (bmo#1847180)
    Download Protections were bypassed by .msix, .msixbundle,
    .appx, and .appxbundle files on Windows
  * CVE-2023-5728 (bmo#1852729)
    Improper object tracking during GC in the JavaScript engine
    could have led to a crash.
  * CVE-2023-5730 (bmo#1836607, bmo#1840918, bmo#1848694, bmo#1848833,
    bmo#1850191, bmo#1850259, bmo#1852596, bmo#1853201, bmo#1854002,
    bmo#1855306, bmo#1855640, bmo#1856695)
    Memory safety bugs fixed in Firefox 119, Firefox ESR 115.4,
    and Thunderbird 115.4.1
- removed obsolete mozilla-bmo1846703.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
</package>
<package pkgid="1cc2aeff0187d31ee1f0be6b4390403b2eba2ca50fd6d2fb3c0fd0daa39e0091981f6909d46a36ed70145ca00183afaff4d59ac5e8dc380d1e505c0b8494703d" name="MozillaThunderbird-translations-common" arch="x86_64">
  <version epoch="0" ver="115.12.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719921600">- Mozilla Thunderbird 115.12.2
  * fixed: Annual Thunderbird Beta appeal intended for
    Thunderbird 115.12.0 did not open as expected (bmo#1898084)
- Mozilla Thunderbird 115.12.1
  * 115.12.0 got pulled because of upstream automation process errors
    and Windows installer signing changes.
    No code changes, changelog is the same as 115.12.0 (bsc#1226495)
- Added thunderbird-fix-CVE-2024-34703.patch (bsc#1227239)</changelog>
</package>
<package pkgid="f9ce572e000c86e1df36449e75d7cc3720764d772af9ed2abfa84419ce08ead394464c63e9d3e50b4a2a76b05fe811a95cb362c217dcd128e546f6b7545e8c46" name="MozillaThunderbird-translations-other" arch="x86_64">
  <version epoch="0" ver="115.12.0" rel="1.1"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1698148800">- Mozilla Thunderbird 115.4.1
  https://www.thunderbird.net/en-US/thunderbird/115.4.1/releasenotes
  https://www.thunderbird.net/en-US/thunderbird/115.4.0/releasenotes
  MFSA 2023-47 (bsc#1216338)
  * CVE-2023-5721 (bmo#1830820)
    Queued up rendering could have allowed websites to clickjack
  * CVE-2023-5732 (bmo#1690979, bmo#1836962)
    Address bar spoofing via bidirectional characters
  * CVE-2023-5724 (bmo#1836705)
    Large WebGL draw could have led to a crash
  * CVE-2023-5725 (bmo#1845739)
    WebExtensions could open arbitrary URLs
  * CVE-2023-5726 (bmo#1846205)
    Full screen notification obscured by file open dialog on macOS
  * CVE-2023-5727 (bmo#1847180)
    Download Protections were bypassed by .msix, .msixbundle,
    .appx, and .appxbundle files on Windows
  * CVE-2023-5728 (bmo#1852729)
    Improper object tracking during GC in the JavaScript engine
    could have led to a crash.
  * CVE-2023-5730 (bmo#1836607, bmo#1840918, bmo#1848694, bmo#1848833,
    bmo#1850191, bmo#1850259, bmo#1852596, bmo#1853201, bmo#1854002,
    bmo#1855306, bmo#1855640, bmo#1856695)
    Memory safety bugs fixed in Firefox 119, Firefox ESR 115.4,
    and Thunderbird 115.4.1
- removed obsolete mozilla-bmo1846703.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
</package>
<package pkgid="cd4b272ceacce9e5afcf83baacc140ea8874f0a61dfd1eb9e580cc1900e547465252462a8a2448bcc7476773abda69d5fccf9aced5bc364ca67a9c5fae3d1dea" name="MozillaThunderbird-translations-other" arch="x86_64">
  <version epoch="0" ver="115.12.2" rel="1.0.4.1.sr20240605"/>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1699099200">- Mozilla Thunderbird 115.4.2
  https://www.thunderbird.net/en-US/thunderbird/115.4.2/releasenotes
- build using rust/cargo 1.72 (1.69 about to be dropped from Factory)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700049600">- Mozilla Thunderbird 115.4.3
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.4.3/releasenotes</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1700654400">- Mozilla Thunderbird 115.5.0
  https://www.thunderbird.net/en-US/thunderbird/115.5.0/releasenotes
  MFSA 2023-52 (bsc#1217230)
  * CVE-2023-6204 (bmo#1841050)
    Out-of-bound memory access in WebGL2 blitFramebuffer
  * CVE-2023-6205 (bmo#1854076)
    Use-after-free in MessagePort::Entangled
  * CVE-2023-6206 (bmo#1857430)
    Clickjacking permission prompts using the fullscreen transition
  * CVE-2023-6207 (bmo#1861344)
    Use-after-free in ReadableByteStreamQueueEntry::Buffer
  * CVE-2023-6208 (bmo#1855345)
    Using Selection API would copy contents into X11 primary
    selection.
  * CVE-2023-6209 (bmo#1858570)
    Incorrect parsing of relative URLs starting with "///"
  * CVE-2023-6212 (bmo#1658432, bmo#1820983, bmo#1829252, bmo#1856072,
    bmo#1856091, bmo#1859030, bmo#1860943, bmo#1862782)
    Memory safety bugs fixed in Firefox 120, Firefox ESR 115.5,
    and Thunderbird 115.5</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1701172800">- Mozilla Thunderbird 115.5.1
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.1/releasenotes
  * Advanced GnuPG keys may be protected with an unexpected passphrase
  * OpenPGP signatures rejected due to mismatched signature timestamp
    now display signature timestamp and clarifying message
  * Advanced address book search did not return results if display name
    was left blank
  * Clicking on attendee when inviting attendees added the attendee twice</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702382400">- Mozilla Thunderbird 115.5.2
  Bugfix release
  https://www.thunderbird.net/en-US/thunderbird/115.5.2/releasenotes/</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1702814400">- Mozilla Thunderbird 115.6.0
  https://www.thunderbird.net/en-US/thunderbird/115.6.0/releasenotes/
  * Message selection misbehaved after selecting a sub-message in an
    expanded thread, collapsing the thread, then pressing up/down to
    move selection
  * Thunderbird now attempts to reconnect on a new connection after
    SMTP 4xx errors
  * HTML FileLink attachments used the wrong encoding
  MFSA 2023-55 (bsc#1217230)
  * CVE-2023-50762 (bmo#1862625)
    Truncated signed text was shown with a valid OpenPGP
    signature
  * CVE-2023-50761 (bmo#1865647)
    S/MIME signature accepted despite mismatching message date
  * CVE-2023-6856 (bmo#1843782)
    Heap-buffer-overflow affecting WebGL DrawElementsInstanced
    method with Mesa VM driver
  * CVE-2023-6857 (bmo#1796023)
    Symlinks may resolve to smaller than expected buffers
  * CVE-2023-6858 (bmo#1826791)
    Heap buffer overflow in nsTextFragment
  * CVE-2023-6859 (bmo#1840144)
    Use-after-free in PR_GetIdentitiesLayer
  * CVE-2023-6860 (bmo#1854669)
    Potential sandbox escape due to VideoBridge lack of texture
    validation
  * CVE-2023-6861 (bmo#1864118)
    Heap buffer overflow affected nsWindow::PickerOpen(void) in
    headless mode
  * CVE-2023-6862 (bmo#1868042)
    Use-after-free in nsDNSService
  * CVE-2023-6863 (bmo#1868901)
    Undefined behavior in ShutdownObserver()
  * CVE-2023-6864 (bmo#1736385, bmo#1810805, bmo#1846328,
    bmo#1856090, bmo#1858033, bmo#1858509, bmo#1862089,
    bmo#1862777, bmo#1864015)
    Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6,
    and Thunderbird 115.6</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1704888000">- Mozilla Thunderbird 115.6.1
  https://www.thunderbird.net/en-US/thunderbird/115.6.1/releasenotes/
  * new: OAuth2 now supported for comcast.net (bmo#1844810)
  * fixed: High CPU usage sometimes occurred with IMAP CONDSTORE
    (conditional STORE) enabled (bmo#1839256)
  * fixed: Replying to a collapsed thread via keyboard shortcut
    (Ctrl+R/Cmd+R) opened a reply for every message in the thread
    (bmo#1866819)
  * fixed: Enabling Grouped By view after reversing sort order of
    column header caused messages to be grouped incorrectly
    (bmo#1868794)
  * fixed: Opening thread pane context menu via keyboard did not
    always scroll view to selection (bmo#1867532)
  * fixed: New mail indicator for POP3 accounts did not indicate
    new messages ready to be downloaded (bmo#1870619)
  * fixed: Messages could not be moved to folders using Message &gt;
    Move To if text or a link in the message had been clicked on
    first (bmo#1868474)
  * fixed: MIME part boundaries were not properly terminated
    (bmo#1805558)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1705838400">- Mozilla Thunderbird 115.7.0
  https://www.thunderbird.net/en-US/thunderbird/115.7.0/releasenotes/
  MFSA 2024-04 (bsc#1218955)
  * CVE-2024-0741 (bmo#1864587)
    Out of bounds write in ANGLE
  * CVE-2024-0742 (bmo#1867152)
    Failure to update user input timestamp
  * CVE-2024-0746 (bmo#1660223)
    Crash when listing printers on Linux
  * CVE-2024-0747 (bmo#1764343)
    Bypass of Content Security Policy when directive unsafe-inline was set
  * CVE-2024-0749 (bmo#1813463)
    Phishing site popup could show local origin in address bar
  * CVE-2024-0750 (bmo#1863083)
    Potential permissions request bypass via clickjacking
  * CVE-2024-0751 (bmo#1865689)
    Privilege escalation through devtools
  * CVE-2024-0753 (bmo#1870262)
    HSTS policy on subdomain could bypass policy of upper domain
  * CVE-2024-0755 (bmo#1868456, bmo#1871445, bmo#1873701)
    Memory safety bugs fixed in Firefox 122, Firefox ESR 115.7,
    and Thunderbird 115.7</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1708344000">- Mozilla Thunderbird 115.8.0
  MFSA 2024-07 (bsc#1220048)
  * CVE-2024-1546 (bmo#1843752)
    Out-of-bounds memory read in networking channels
  * CVE-2024-1547 (bmo#1877879)
    Alert dialog could have been spoofed on another site
  * CVE-2024-1548 (bmo#1832627)
    Fullscreen Notification could have been hidden by select
    element
  * CVE-2024-1549 (bmo#1833814)
    Custom cursor could obscure the permission dialog
  * CVE-2024-1550 (bmo#1860065)
    Mouse cursor re-positioned unexpectedly could have led to
    unintended permission grants
  * CVE-2024-1551 (bmo#1864385)
    Multipart HTTP Responses would accept the Set-Cookie header
    in response parts
  * CVE-2024-1552 (bmo#1874502)
    Incorrect code generation on 32-bit ARM devices
  * CVE-2024-1553 (bmo#1855686, bmo#1867982, bmo#1871498,
    bmo#1872296, bmo#1873521, bmo#1873577, bmo#1873597,
    bmo#1873866, bmo#1874080, bmo#1874740, bmo#1875795,
    bmo#1875906, bmo#1876425, bmo#1878211, bmo#1878286)
    Memory safety bugs fixed in Firefox 123, Firefox ESR 115.8,
    and Thunderbird 115.8
  * new: Added option to show packet dump when OpenPGP fails to
    decrypt (bmo#1874504)
  * fixed: Thunderbird slowed down significantly when opening
    email files (.eml) (bmo#1863957)
  * fixed: Inbox view intermittently reverted to default view
    after moving or deleting messages (bmo#1725127)
  * fixed: Size of collapsed folders in folder pane did not
    include size of subfolders (bmo#1870641)
  * fixed: Hovering over folder does not always expand subfolders
    (bmo#1873101)
  * fixed: Switching to thread pane of a folder using keyboard
    navigation did not focus top message (bmo#1869557)
  * fixed: Clicking "Sent unsent messages" in Outbox context menu
    while in offline mode did not prompt user to go online
    (bmo#1873487)
  * fixed: Mail tab-specific Unified Toolbar buttons received
    focus incorrectly (bmo#1872239)
  * fixed: Quick Filter settings did not persist when Quick
    Filter bar was turned off (bmo#1850266)
  * fixed: Quick Filters were unusually slow (bmo#1849650)
  * fixed: OpenPGP Key Manager filtering did not work
    (bmo#1873655)
  * fixed: OpenPGP sometimes attempted to decrypt message with
    incorrect key (bmo#1865620)
  * fixed: Autoconfig failed on servers that did not support
    OAuth2 (bmo#1869122)
  * fixed: Opening different attachments with the same name in
    different messages could cause attachment files to become
    conflated (bmo#1873023)
  * fixed: Overflowed attachment list could not be scrolled
    (bmo#1871343)
  * fixed: Passwords disappeared from password manager list after
    applying and clearing filters (bmo#1874646)
  * fixed: Cookies in cookie manager list disappeared after
    applying and then clearing filters (bmo#1876733)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@@rosenauer.org&gt;" date="1709640000">- Mozilla Thunderbird 115.8.1
  https://www.thunderbird.net/en-US/thunderbird/115.8.1/releasenotes/
  MFSA 2024-11
  * CVE-2024-1936 (bmo#1860977)
    Leaking of encrypted email subjects to other conversations</changelog>
  <changelog author="Adam Mizerski &lt;adam@mizerski.pl&gt;" date="1709640001">- Create subpackage MozillaThunderbird-openpgp-librnp</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1710590400">- Mozilla Thunderbird 115.9.0
  https://www.thunderbird.net/en-US/thunderbird/115.9.0/releasenotes/
  MFSA 2024-14 (bsc#1221327)
  * CVE-2024-0743 (bmo#1867408)
    Crash in NSS TLS method
  * CVE-2024-2605 (bmo#1872920)
    Windows Error Reporter could be used as a Sandbox escape vector
  * CVE-2024-2607 (bmo#1879939)
    JIT code failed to save return registers on Armv7-A
  * CVE-2024-2608 (bmo#1880692)
    Integer overflow could have led to out of bounds write
  * CVE-2024-2616 (bmo#1846197)
    Improve handling of out-of-memory conditions in ICU
  * CVE-2023-5388 (bmo#1780432)
    NSS susceptible to timing attack against RSA decryption
  * CVE-2024-2610 (bmo#1871112)
    Improper handling of html and body tags enabled CSP nonce leakage
  * CVE-2024-2611 (bmo#1876675)
    Clickjacking vulnerability could have led to a user accidentally
    granting permissions
  * CVE-2024-2612 (bmo#1879444)
    Self referencing object could have potentially led to a use-
    after-free
  * CVE-2024-2614 (bmo#1685358, bmo#1861016, bmo#1880405, bmo#1881093)
    Memory safety bugs fixed in Firefox 124, Firefox ESR 115.9,
    and Thunderbird 115.9</changelog>
  <changelog author="Manfred Hollstein &lt;manfred.h@gmx.net&gt;" date="1710936000">- LLVM18 breaks building Thunderbird on Tumbleweed; add
  * mozilla-fix-issues-with-llvm18.patch</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713096000">- Mozilla Thunderbird 115.10.0
  https://www.thunderbird.net/en-US/thunderbird/115.10.0/releasenotes/
  MFSA 2024-20 (bsc#1222535)
  * CVE-2024-3852 (bmo#1883542)
    GetBoundName in the JIT returned the wrong object
  * CVE-2024-3854 (bmo#1884552)
    Out-of-bounds-read after mis-optimized switch statement
  * CVE-2024-3857 (bmo#1886683)
    Incorrect JITting of arguments led to use-after-free during
    garbage collection
  * CVE-2024-2609 (bmo#1866100)
    Permission prompt input delay could expire when not in focus
  * CVE-2024-3859 (bmo#1874489)
    Integer-overflow led to out-of-bounds-read in the OpenType sanitizer
  * CVE-2024-3861 (bmo#1883158)
    Potential use-after-free due to AlignedBuffer self-move
  * CVE-2024-3863 (bmo#1885855)
    Download Protections were bypassed by .xrm-ms files on Windows
  * CVE-2024-3302 (bmo#1881183)
    Denial of Service using HTTP/2 CONTINUATION frames
  * CVE-2024-3864 (bmo#1888333)
    Memory safety bug fixed in Firefox 125, Firefox ESR 115.10,
    and Thunderbird 115.10</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1713528000">- Mozilla Thunderbird 115.10.1
  https://www.thunderbird.net/en-US/thunderbird/115.10.1/releasenotes/
  * fixed hangup introduced with 115.10.0 (bmo#1891889)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714824000">- Mozilla Thunderbird 115.10.2:
  https://www.thunderbird.net/en-US/thunderbird/115.10.2/releasenotes/
  This release is identical to 115.10.1, other than changing the
  Update channel for self-updating builds to ESR. (bmo#1893271)</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1715688000">- Mozilla Thunderbird 115.11.0
  MFSA 2024-23 (bsc#1224056)
  * CVE-2024-4367 (bmo#1893645)
    Arbitrary JavaScript execution in PDF.js
  * CVE-2024-4767 (bmo#1878577)
    IndexedDB files retained in private browsing mode
  * CVE-2024-4768 (bmo#1886082)
    Potential permissions request bypass via clickjacking
  * CVE-2024-4769 (bmo#1886108)
    Cross-origin responses could be distinguished between script
    and non-script content-types
  * CVE-2024-4770 (bmo#1893270)
    Use-after-free could occur when printing to PDF
  * CVE-2024-4777 (bmo#1878199, bmo#1893340)
    Memory safety bugs fixed in Firefox 126, Firefox ESR 115.11,
    and Thunderbird 115.11</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1716984000">- Mozilla Thunderbird 115.11.1
  * Added a short anonymous survey that a small number of users will
    be randomly asked to complete</changelog>
  <changelog author="Wolfgang Rosenauer &lt;wr@rosenauer.org&gt;" date="1718625600">- Mozilla Thunderbird 115.12.0
  https://www.thunderbird.net/en-US/thunderbird/115.12.0/releasenotes
  MFSA 2024-28 (bsc#1226027)
  * CVE-2024-5702 (bmo#1193389)
    Use-after-free in networking
  * CVE-2024-5688 (bmo#1895086)
    Use-after-free in JavaScript object transplant
  * CVE-2024-5690 (bmo#1883693)
    External protocol handlers leaked by timing attack
  * CVE-2024-5691 (bmo#1888695)
    Sandboxed iframes were able to bypass sandbox restrictions to
    open a new window
  * CVE-2024-5692 (bmo#1891234)
    Bypass of file name restrictions during saving
  * CVE-2024-5693 (bmo#1891319)
    Cross-Origin Image leak via Offscreen Canvas
  * CVE-2024-5696 (bmo#1896555)
    Memory Corruption in Text Fragments
  * CVE-2024-5700 (bmo#1862809, bmo#1889355, bmo#1893388, bmo#1895123)
    Memory safety bugs fixed in Firefox 127, Firefox ESR 115.12,
    and Thunderbird 115.12</changelog>
  <changelog author="Martin Sirringhaus &lt;martin.sirringhaus@suse.com&gt;" date="1719921600">- Mozilla Thunderbird 115.12.2
  * fixed: Annual Thunderbird Beta appeal intended for
    Thunderbird 115.12.0 did not open as expected (bmo#1898084)
- Mozilla Thunderbird 115.12.1
  * 115.12.0 got pulled because of upstream automation process errors
    and Windows installer signing changes.
    No code changes, changelog is the same as 115.12.0 (bsc#1226495)
- Added thunderbird-fix-CVE-2024-34703.patch (bsc#1227239)</changelog>
</package>
<package pkgid="166575ca87c7e3e732b558f18bd3cf4ae18d7536a69e41a8bf638b30dd23619516acc721121dc26c07b59556db08b41ed0599987121866ce6052a8dd33b8d811" name="OpenBoard" arch="src">
  <version epoch="0" ver="1.7.1" rel="2.1"/>
  <changelog author="Frank Sch&#xFC;tte &lt;F.Schuette@t-online.de&gt;" date="1560168000">- remove openssl patch</changelog>
  <changelog author="Frank Sch&#xFC;tte &lt;F.Schuette@t-online.de&gt;" date="1590148800">- update to 1.5.4</changelog>
  <changelog author="Frank Sch&#xFC;tte &lt;F.Schuette@t-online.de&gt;" date="1590235200">- fixed building with patches from https://github.com/flathub/ch.openboard.OpenBoard</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1606132800">- 0001-Rewrite-libs.pri.patch:
  + update patch and BR on now weirdly named quazip - pkgconfig(quazip1-qt5)
  + continue to function with with pkgconfig(quazip) in Leap 15.2
- Remove BR on libx264-devel and fdk-aac-devel as these are no longer
  available in Factory</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1612785600">- Compile translations so they are installed (bsc#1181857)</changelog>
  <changelog author="Martin Winter &lt;martin@winter-rosenheim.de&gt;" date="1640692800">- update to OpenBoard 1.6.1
  - adapt patches</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1647345600">- add 0573-compile-with-poppler-22.03.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1654516800">- Update to 1.6.2
  - see https://github.com/OpenBoard-org/OpenBoard/releases/tag/v1.6.2
  - adapt 0001-Rewrite-libs.pri.patch
  - adapt 0002-Install-to-correct-directories-on-linux.patch
  - drop 0573-compile-with-poppler-22.03.patch (upstreamed)</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1655121600">- Update to 1.6.3
  - see https://github.com/OpenBoard-org/OpenBoard/releases/tag/v1.6.3</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1655640000">- update to 1.7.0~git47a96e1
  - use development branch to enable build for Tumbleweed
    (switch from QWebKit to QWebEngine)
- add patches fixing known issues according to existing upstream PRs
  - 0551-common-background-drawing.patch
  - 0569-scale-mirror-pixmap.patch
  - 0604-qt-5.12-compatibility.patch
  - 0629-bug-ruler.patch
  - 0633-improve-displaymanager.patch
- remove unused build dependencies</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1656072000">- fix several issues
  - add 0008-install-fonts.patch
  - add 0637-fix-pdf-background-export.patch
  - add 0641-fix-font-handling.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1656072001">- minor changes in spec file</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1663156800">- update to version 1.7.0~git20220914.47a96e1
- feat: user configurable shortcuts
  * add 0460-shortcut-configuration.patch
- fix: boxing in single screen mode
  * update 0633-improve-displaymanager.patch
- fix: PDF background export
  * update 0637-fix-pdf-background-export.patch
- fix: font handling
  * update 0641-fix-font-handling.patch
- fix: PDF export scaling
  * add 0649-fix-pdf-export-scaling.patch
- refactor: Linux build and installation
  * add 0651-chore-reorganize-linux-build.patch
  * replaces 0001-Rewrite-libs.pri.patch
  * replaces 0002-Install-to-correct-directories-on-linux.patch
  * replaces 0003-podcast.pri-port-to-pkgconfig.patch
  * replaces 0004-Use-QStandardPaths-to-locate-resources.patch
  * replaces 0005-Add-svg-icon.patch
  * replaces 0006-pro-Remove-UB_THIRDPARTY_INTERACTIVE.patch
  * replaces 0007-Linux-Only-use-onboard-by-default-if-it-s-installed.patch
  * replaces 0008-install-fonts.patch
  * add mimespec for .ubz files
  * also improve handling of onboard on-screen keyboard
- refactor: clean spec file</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1663675200">- fix file list in spec file
  - do not include /usr/share/mime/packages directory owned by
    filesystem</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1669723200">- update to version 1.7.0~git20221129.9de37af
- feat: user configurable shortcuts
  * replace 0460-shortcut-configuration.patch by updated
    0686-shortcut-configuration.patch
  * add 9686-cmake-add-shortcut-manager.patch
    add new files to CMakeLists.txt
- fix: background drawing when switching page size
  * update 0551-common-background-drawing.patch
- fix: mirror pixmap size
  * update 0569-scale-mirror-pixmap.patch
- remove upstreamed patches
  * remove upstreamed 0604-qt-5.12-compatibility.patch
  * remove upstreamed 0629-bug-ruler.patch
  * remove upstreamed 0633-improve-displaymanager.patch
  * remove upstreamed 0637-fix-pdf-background-export.patch
  * remove upstreamed 0641-fix-font-handling.patch
  * remove upstreamed 0649-fix-pdf-export-scaling.patch
- chore: replace qmake by cmake build system
  * remove 0651-chore-reorganize-linux-build.patch
  * add 0698-add-cmake-build-system.patch
- fix: page size for PDF export
  * add 0677-pdf-export-page-size.patch
- disable software update from openboard web page
  * add 9117-disable-software-update.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1674648000">- BuildRequire pkgconfig(libavdevice) instead of ffmpeg-devel: let
  OBS figure out the right packages that do not conlfict.</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1687089600">- update to version 1.7.0~git20230614.2ff8f29
  * feature freeze before release
- remove upstreamed patches
  * remove upstreamed 0551-common-background-drawing.patch
  * remove upstreamed 0677-pdf-export-page-size.patch
- update patches to match updated sources
  * update 0686-shortcut-configuration.patch
  * update 0698-add-cmake-build-system.patch
  * update 9117-disable-software-update.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1702123200">- update to release version 1.7.0
- update patches to match updated sources
  * update 0569-scale-mirror-pixmap.patch
  * update 0686-shortcut-configuration.patch
- replace build system patch
  * remove 0698-add-cmake-build-system.patch
  * add 0830-cmake-community-builds.patch
- switch from pgkconfig to cmake for some BuildRequires</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1715169600">- update to release version 1.7.1
- remove upstreamed patches
  * remove 0830-cmake-community-builds.patch
  * remove 9686-cmake-add-shortcut-manager.patch
- update patch to match updated sources
  * replace 0686-shortcut-configuration.patch by 0955-shortcut-configuration.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1717934400">- fix a problem with latest plasma5 security patches
  * add 1010-fix-qapp-cast.patch</changelog>
</package>
<package pkgid="8d8518262e76155adaaeebfb79ce105d9ff35b5fd76528bcd1c7c9925c6618e9a58e0f6f5c8adf350c36a5de49af9b635f1d57c43e5b353442a99eee710d7a36" name="OpenBoard" arch="x86_64">
  <version epoch="0" ver="1.7.1" rel="2.1"/>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1612785600">- Compile translations so they are installed (bsc#1181857)</changelog>
  <changelog author="Martin Winter &lt;martin@winter-rosenheim.de&gt;" date="1640692800">- update to OpenBoard 1.6.1
  - adapt patches</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1647345600">- add 0573-compile-with-poppler-22.03.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1654516800">- Update to 1.6.2
  - see https://github.com/OpenBoard-org/OpenBoard/releases/tag/v1.6.2
  - adapt 0001-Rewrite-libs.pri.patch
  - adapt 0002-Install-to-correct-directories-on-linux.patch
  - drop 0573-compile-with-poppler-22.03.patch (upstreamed)</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1655121600">- Update to 1.6.3
  - see https://github.com/OpenBoard-org/OpenBoard/releases/tag/v1.6.3</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1655640000">- update to 1.7.0~git47a96e1
  - use development branch to enable build for Tumbleweed
    (switch from QWebKit to QWebEngine)
- add patches fixing known issues according to existing upstream PRs
  - 0551-common-background-drawing.patch
  - 0569-scale-mirror-pixmap.patch
  - 0604-qt-5.12-compatibility.patch
  - 0629-bug-ruler.patch
  - 0633-improve-displaymanager.patch
- remove unused build dependencies</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1656072000">- fix several issues
  - add 0008-install-fonts.patch
  - add 0637-fix-pdf-background-export.patch
  - add 0641-fix-font-handling.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1656072001">- minor changes in spec file</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1663156800">- update to version 1.7.0~git20220914.47a96e1
- feat: user configurable shortcuts
  * add 0460-shortcut-configuration.patch
- fix: boxing in single screen mode
  * update 0633-improve-displaymanager.patch
- fix: PDF background export
  * update 0637-fix-pdf-background-export.patch
- fix: font handling
  * update 0641-fix-font-handling.patch
- fix: PDF export scaling
  * add 0649-fix-pdf-export-scaling.patch
- refactor: Linux build and installation
  * add 0651-chore-reorganize-linux-build.patch
  * replaces 0001-Rewrite-libs.pri.patch
  * replaces 0002-Install-to-correct-directories-on-linux.patch
  * replaces 0003-podcast.pri-port-to-pkgconfig.patch
  * replaces 0004-Use-QStandardPaths-to-locate-resources.patch
  * replaces 0005-Add-svg-icon.patch
  * replaces 0006-pro-Remove-UB_THIRDPARTY_INTERACTIVE.patch
  * replaces 0007-Linux-Only-use-onboard-by-default-if-it-s-installed.patch
  * replaces 0008-install-fonts.patch
  * add mimespec for .ubz files
  * also improve handling of onboard on-screen keyboard
- refactor: clean spec file</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1663675200">- fix file list in spec file
  - do not include /usr/share/mime/packages directory owned by
    filesystem</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1669723200">- update to version 1.7.0~git20221129.9de37af
- feat: user configurable shortcuts
  * replace 0460-shortcut-configuration.patch by updated
    0686-shortcut-configuration.patch
  * add 9686-cmake-add-shortcut-manager.patch
    add new files to CMakeLists.txt
- fix: background drawing when switching page size
  * update 0551-common-background-drawing.patch
- fix: mirror pixmap size
  * update 0569-scale-mirror-pixmap.patch
- remove upstreamed patches
  * remove upstreamed 0604-qt-5.12-compatibility.patch
  * remove upstreamed 0629-bug-ruler.patch
  * remove upstreamed 0633-improve-displaymanager.patch
  * remove upstreamed 0637-fix-pdf-background-export.patch
  * remove upstreamed 0641-fix-font-handling.patch
  * remove upstreamed 0649-fix-pdf-export-scaling.patch
- chore: replace qmake by cmake build system
  * remove 0651-chore-reorganize-linux-build.patch
  * add 0698-add-cmake-build-system.patch
- fix: page size for PDF export
  * add 0677-pdf-export-page-size.patch
- disable software update from openboard web page
  * add 9117-disable-software-update.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1674648000">- BuildRequire pkgconfig(libavdevice) instead of ffmpeg-devel: let
  OBS figure out the right packages that do not conlfict.</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1687089600">- update to version 1.7.0~git20230614.2ff8f29
  * feature freeze before release
- remove upstreamed patches
  * remove upstreamed 0551-common-background-drawing.patch
  * remove upstreamed 0677-pdf-export-page-size.patch
- update patches to match updated sources
  * update 0686-shortcut-configuration.patch
  * update 0698-add-cmake-build-system.patch
  * update 9117-disable-software-update.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1702123200">- update to release version 1.7.0
- update patches to match updated sources
  * update 0569-scale-mirror-pixmap.patch
  * update 0686-shortcut-configuration.patch
- replace build system patch
  * remove 0698-add-cmake-build-system.patch
  * add 0830-cmake-community-builds.patch
- switch from pgkconfig to cmake for some BuildRequires</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1715169600">- update to release version 1.7.1
- remove upstreamed patches
  * remove 0830-cmake-community-builds.patch
  * remove 9686-cmake-add-shortcut-manager.patch
- update patch to match updated sources
  * replace 0686-shortcut-configuration.patch by 0955-shortcut-configuration.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1717934400">- fix a problem with latest plasma5 security patches
  * add 1010-fix-qapp-cast.patch</changelog>
</package>
<package pkgid="945b3bc20f3004ca728bf93c04f7ffba5ef1c38789b34ba214a2f78d3995c93c921db09a8f30fba8f2d0b0ed72294750438564740e1450ef34f462bf5fb69e9d" name="OpenBoard-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.7.1" rel="2.1"/>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1612785600">- Compile translations so they are installed (bsc#1181857)</changelog>
  <changelog author="Martin Winter &lt;martin@winter-rosenheim.de&gt;" date="1640692800">- update to OpenBoard 1.6.1
  - adapt patches</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1647345600">- add 0573-compile-with-poppler-22.03.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1654516800">- Update to 1.6.2
  - see https://github.com/OpenBoard-org/OpenBoard/releases/tag/v1.6.2
  - adapt 0001-Rewrite-libs.pri.patch
  - adapt 0002-Install-to-correct-directories-on-linux.patch
  - drop 0573-compile-with-poppler-22.03.patch (upstreamed)</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1655121600">- Update to 1.6.3
  - see https://github.com/OpenBoard-org/OpenBoard/releases/tag/v1.6.3</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1655640000">- update to 1.7.0~git47a96e1
  - use development branch to enable build for Tumbleweed
    (switch from QWebKit to QWebEngine)
- add patches fixing known issues according to existing upstream PRs
  - 0551-common-background-drawing.patch
  - 0569-scale-mirror-pixmap.patch
  - 0604-qt-5.12-compatibility.patch
  - 0629-bug-ruler.patch
  - 0633-improve-displaymanager.patch
- remove unused build dependencies</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1656072000">- fix several issues
  - add 0008-install-fonts.patch
  - add 0637-fix-pdf-background-export.patch
  - add 0641-fix-font-handling.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1656072001">- minor changes in spec file</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1663156800">- update to version 1.7.0~git20220914.47a96e1
- feat: user configurable shortcuts
  * add 0460-shortcut-configuration.patch
- fix: boxing in single screen mode
  * update 0633-improve-displaymanager.patch
- fix: PDF background export
  * update 0637-fix-pdf-background-export.patch
- fix: font handling
  * update 0641-fix-font-handling.patch
- fix: PDF export scaling
  * add 0649-fix-pdf-export-scaling.patch
- refactor: Linux build and installation
  * add 0651-chore-reorganize-linux-build.patch
  * replaces 0001-Rewrite-libs.pri.patch
  * replaces 0002-Install-to-correct-directories-on-linux.patch
  * replaces 0003-podcast.pri-port-to-pkgconfig.patch
  * replaces 0004-Use-QStandardPaths-to-locate-resources.patch
  * replaces 0005-Add-svg-icon.patch
  * replaces 0006-pro-Remove-UB_THIRDPARTY_INTERACTIVE.patch
  * replaces 0007-Linux-Only-use-onboard-by-default-if-it-s-installed.patch
  * replaces 0008-install-fonts.patch
  * add mimespec for .ubz files
  * also improve handling of onboard on-screen keyboard
- refactor: clean spec file</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1663675200">- fix file list in spec file
  - do not include /usr/share/mime/packages directory owned by
    filesystem</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1669723200">- update to version 1.7.0~git20221129.9de37af
- feat: user configurable shortcuts
  * replace 0460-shortcut-configuration.patch by updated
    0686-shortcut-configuration.patch
  * add 9686-cmake-add-shortcut-manager.patch
    add new files to CMakeLists.txt
- fix: background drawing when switching page size
  * update 0551-common-background-drawing.patch
- fix: mirror pixmap size
  * update 0569-scale-mirror-pixmap.patch
- remove upstreamed patches
  * remove upstreamed 0604-qt-5.12-compatibility.patch
  * remove upstreamed 0629-bug-ruler.patch
  * remove upstreamed 0633-improve-displaymanager.patch
  * remove upstreamed 0637-fix-pdf-background-export.patch
  * remove upstreamed 0641-fix-font-handling.patch
  * remove upstreamed 0649-fix-pdf-export-scaling.patch
- chore: replace qmake by cmake build system
  * remove 0651-chore-reorganize-linux-build.patch
  * add 0698-add-cmake-build-system.patch
- fix: page size for PDF export
  * add 0677-pdf-export-page-size.patch
- disable software update from openboard web page
  * add 9117-disable-software-update.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1674648000">- BuildRequire pkgconfig(libavdevice) instead of ffmpeg-devel: let
  OBS figure out the right packages that do not conlfict.</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1687089600">- update to version 1.7.0~git20230614.2ff8f29
  * feature freeze before release
- remove upstreamed patches
  * remove upstreamed 0551-common-background-drawing.patch
  * remove upstreamed 0677-pdf-export-page-size.patch
- update patches to match updated sources
  * update 0686-shortcut-configuration.patch
  * update 0698-add-cmake-build-system.patch
  * update 9117-disable-software-update.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1702123200">- update to release version 1.7.0
- update patches to match updated sources
  * update 0569-scale-mirror-pixmap.patch
  * update 0686-shortcut-configuration.patch
- replace build system patch
  * remove 0698-add-cmake-build-system.patch
  * add 0830-cmake-community-builds.patch
- switch from pgkconfig to cmake for some BuildRequires</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1715169600">- update to release version 1.7.1
- remove upstreamed patches
  * remove 0830-cmake-community-builds.patch
  * remove 9686-cmake-add-shortcut-manager.patch
- update patch to match updated sources
  * replace 0686-shortcut-configuration.patch by 0955-shortcut-configuration.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1717934400">- fix a problem with latest plasma5 security patches
  * add 1010-fix-qapp-cast.patch</changelog>
</package>
<package pkgid="db4dcddad4d4b038ba6e176474aff371ade348b80ba2a216251d2234307d1cefb74885592a80995cf07392bf6ada89763bc31924f2898757d4a5b1077bbf9aa8" name="OpenBoard-debugsource" arch="x86_64">
  <version epoch="0" ver="1.7.1" rel="2.1"/>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1612785600">- Compile translations so they are installed (bsc#1181857)</changelog>
  <changelog author="Martin Winter &lt;martin@winter-rosenheim.de&gt;" date="1640692800">- update to OpenBoard 1.6.1
  - adapt patches</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1647345600">- add 0573-compile-with-poppler-22.03.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1654516800">- Update to 1.6.2
  - see https://github.com/OpenBoard-org/OpenBoard/releases/tag/v1.6.2
  - adapt 0001-Rewrite-libs.pri.patch
  - adapt 0002-Install-to-correct-directories-on-linux.patch
  - drop 0573-compile-with-poppler-22.03.patch (upstreamed)</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1655121600">- Update to 1.6.3
  - see https://github.com/OpenBoard-org/OpenBoard/releases/tag/v1.6.3</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1655640000">- update to 1.7.0~git47a96e1
  - use development branch to enable build for Tumbleweed
    (switch from QWebKit to QWebEngine)
- add patches fixing known issues according to existing upstream PRs
  - 0551-common-background-drawing.patch
  - 0569-scale-mirror-pixmap.patch
  - 0604-qt-5.12-compatibility.patch
  - 0629-bug-ruler.patch
  - 0633-improve-displaymanager.patch
- remove unused build dependencies</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1656072000">- fix several issues
  - add 0008-install-fonts.patch
  - add 0637-fix-pdf-background-export.patch
  - add 0641-fix-font-handling.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1656072001">- minor changes in spec file</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1663156800">- update to version 1.7.0~git20220914.47a96e1
- feat: user configurable shortcuts
  * add 0460-shortcut-configuration.patch
- fix: boxing in single screen mode
  * update 0633-improve-displaymanager.patch
- fix: PDF background export
  * update 0637-fix-pdf-background-export.patch
- fix: font handling
  * update 0641-fix-font-handling.patch
- fix: PDF export scaling
  * add 0649-fix-pdf-export-scaling.patch
- refactor: Linux build and installation
  * add 0651-chore-reorganize-linux-build.patch
  * replaces 0001-Rewrite-libs.pri.patch
  * replaces 0002-Install-to-correct-directories-on-linux.patch
  * replaces 0003-podcast.pri-port-to-pkgconfig.patch
  * replaces 0004-Use-QStandardPaths-to-locate-resources.patch
  * replaces 0005-Add-svg-icon.patch
  * replaces 0006-pro-Remove-UB_THIRDPARTY_INTERACTIVE.patch
  * replaces 0007-Linux-Only-use-onboard-by-default-if-it-s-installed.patch
  * replaces 0008-install-fonts.patch
  * add mimespec for .ubz files
  * also improve handling of onboard on-screen keyboard
- refactor: clean spec file</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1663675200">- fix file list in spec file
  - do not include /usr/share/mime/packages directory owned by
    filesystem</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1669723200">- update to version 1.7.0~git20221129.9de37af
- feat: user configurable shortcuts
  * replace 0460-shortcut-configuration.patch by updated
    0686-shortcut-configuration.patch
  * add 9686-cmake-add-shortcut-manager.patch
    add new files to CMakeLists.txt
- fix: background drawing when switching page size
  * update 0551-common-background-drawing.patch
- fix: mirror pixmap size
  * update 0569-scale-mirror-pixmap.patch
- remove upstreamed patches
  * remove upstreamed 0604-qt-5.12-compatibility.patch
  * remove upstreamed 0629-bug-ruler.patch
  * remove upstreamed 0633-improve-displaymanager.patch
  * remove upstreamed 0637-fix-pdf-background-export.patch
  * remove upstreamed 0641-fix-font-handling.patch
  * remove upstreamed 0649-fix-pdf-export-scaling.patch
- chore: replace qmake by cmake build system
  * remove 0651-chore-reorganize-linux-build.patch
  * add 0698-add-cmake-build-system.patch
- fix: page size for PDF export
  * add 0677-pdf-export-page-size.patch
- disable software update from openboard web page
  * add 9117-disable-software-update.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1674648000">- BuildRequire pkgconfig(libavdevice) instead of ffmpeg-devel: let
  OBS figure out the right packages that do not conlfict.</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1687089600">- update to version 1.7.0~git20230614.2ff8f29
  * feature freeze before release
- remove upstreamed patches
  * remove upstreamed 0551-common-background-drawing.patch
  * remove upstreamed 0677-pdf-export-page-size.patch
- update patches to match updated sources
  * update 0686-shortcut-configuration.patch
  * update 0698-add-cmake-build-system.patch
  * update 9117-disable-software-update.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1702123200">- update to release version 1.7.0
- update patches to match updated sources
  * update 0569-scale-mirror-pixmap.patch
  * update 0686-shortcut-configuration.patch
- replace build system patch
  * remove 0698-add-cmake-build-system.patch
  * add 0830-cmake-community-builds.patch
- switch from pgkconfig to cmake for some BuildRequires</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1715169600">- update to release version 1.7.1
- remove upstreamed patches
  * remove 0830-cmake-community-builds.patch
  * remove 9686-cmake-add-shortcut-manager.patch
- update patch to match updated sources
  * replace 0686-shortcut-configuration.patch by 0955-shortcut-configuration.patch</changelog>
  <changelog author="Martin Winter &lt;me@letsfindaway.de&gt;" date="1717934400">- fix a problem with latest plasma5 security patches
  * add 1010-fix-qapp-cast.patch</changelog>
</package>
<package pkgid="829ccf6fa65933fedf29cf30b4e7203506eda617e065a49e3e8033e020a19574992a03efbf61a709f0c19708f3446b7bceee8f7c731d1d5394f1a4f0dada249d" name="R-KernSmooth" arch="i586">
  <version epoch="0" ver="2.23.24" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="428a77b5d799451a814487df3079716da03bf0b5597e8441bdde2d0eabfd12a9196069138f745862c60e0cc11bac5fc7f87acb97a0843486d1f2d00357bdfd1b" name="R-KernSmooth" arch="x86_64">
  <version epoch="0" ver="2.23.24" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="1b7a9c8fd90d53547438c0a43a4443bd0bcc84ae2455729697822d4ae2997212d728b3b9673d2c320758955e03ebba939f8ef12acb31422f112c658602e2a389" name="R-KernSmooth-debuginfo" arch="i586">
  <version epoch="0" ver="2.23.24" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="2426512c6de0a4cfdb34c4bc48dfbc5aafbc9b8570dc0c1021bfb4e36a068cc2a1641cc55fa6d3fa296d21aeca697699cba8a17af3e3878cc5f810f0e09a49e1" name="R-KernSmooth-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.23.24" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="72e6821e1cbd6e59d46a917ba6c45e8b6d4872304477c19ba9a2fb2d0d6f183e2607d0dc25eb1aa93bb5d17614f2c06507276533fad9d54b1a3810f83a0ba7ca" name="R-MASS" arch="i586">
  <version epoch="0" ver="7.3.60.2" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="993ef4dcf60cb053a0f7ec87249177751bc849bd63cbfc3fdb64a4f188db8ff8c5af7c10382d2bb3a6ec3ca1dd05e6cbb4d9fc830489cfdcf7c8f3474fcfd8de" name="R-MASS" arch="x86_64">
  <version epoch="0" ver="7.3.60.2" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="8fb18684c2a0ff4727ac50c66db25390a70c9c6e3d44a73047ea62b8cd0127c713b6627d00e3f0b2507eb76c700ab700c44fb3f2e817c401332f38ca1fe4389e" name="R-MASS-debuginfo" arch="i586">
  <version epoch="0" ver="7.3.60.2" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="80aa23435cfc6ebc0b045507a64abe6df056a7610541712c45c92ce3b28cb487888aa40686741a7b1475b0191e86f951fa5fd6780e53ec0e1fba98635df32662" name="R-MASS-debuginfo" arch="x86_64">
  <version epoch="0" ver="7.3.60.2" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="e94187759533479c3d72c47dbd51167a422851e93f85554bf9220136a74e14a35a8c6f1a48cef3a16a33a2108558cb246ffb513be1d60a06ca33448419b96e5c" name="R-Matrix" arch="i586">
  <version epoch="0" ver="1.7.0" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="4f39c9be9ef8e8add312b01e598905b9929e3473c5cbb54a5417c3c6ea2e8ccda3c186b51f105d755c581f880c00fe07d964a22e9fb14aeb23a759dd9ab8a404" name="R-Matrix" arch="x86_64">
  <version epoch="0" ver="1.7.0" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="19f9b76eec62b7fa520b0ec45b5a44365c27896383af0414494ed64e5a016384440a8b5403f7c77d5970e7d74428b9f5769b46b8f0d4d7386e60ccae7aadb333" name="R-Matrix-debuginfo" arch="i586">
  <version epoch="0" ver="1.7.0" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="eb86880374f59250e6a282cdfcbfe32e17b2908314b8209b7341ca22fea7b89094afe95c877748b673bd14e0d68d4641763c534d5b423648f833f33469e33b49" name="R-Matrix-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.7.0" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="137b518d20d6ad892fc6fcac9f48be7289b51720d483927347009be4de3dbba4ee9134a3ce31d41958b9f82ecc6a724407ab8f4137f4779ab8add8cef3fef2d4" name="R-base" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="c5af46785d0611eca97896f416b99ed7bac167a3c64e49c1d92d1b9fa16ac622dbaa0a9bd336851085c68a7f657c0442be07429c97113ff1994a3e14e14b898a" name="R-base" arch="src">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="8f550f4eed4d4437843c9c4c3712d07af73c9f0458b9bb6b35879045f0d92f51a5af27721a9cf74d39cfde8db249d3d662d333490abffed1d0cf7e12081a4edb" name="R-base" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="983f8d09ae7d4bb4705e6b153365f78a7cfc210453e8a211aaf0dcda36ac2e30c5aab8f2cfd0cc695627049a1182d3fae5fd443fe2e6b50953eadd8ebaf4fd85" name="R-base-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="9ff98c6e694462c4c7f4eb7e03b04bbbbade7d39d0f420de63759d5162e1f2e898b5d36602f4ff79b3e1c9238581213189a59a0b7bc6035fcfcd41375636a5af" name="R-base-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="b0e78d093a497569d629476eb3497ed47d6ec30e77a92b7be3821b38fee7f152e4ac384c2f6921e68084ca0d4b53598e8c269a20d6192befbaddace8cae1451f" name="R-base-debugsource" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="a88de09e95132c3811a0016dffb0d9a4c70f39d77e1d051f18ee6ed2b7bef20885151675fba80994c96ae638586836b552987bed85764b0173208f339b8a5d1b" name="R-base-debugsource" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="0e924c3b8e50694ff36d86f5025fd8d40d8a965873639dffb6ed26b1f872417f52ce3db662d4d028316158002e3ebc00f52a0e804c1046b0d13cb8fe6e85eac0" name="R-base-devel" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="d6ef6f4f9a1ea416972aa4bcebc0a3bc7bb999c69a417b3e436de39f384b320b80f0de1b8ae33723b72cf36e8e473f94443b853f57c1d55e4ff5a50fbfa8bc05" name="R-base-devel" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="4f8b94ba4f4892de14dddaf046da151d53873ee2d00d61ba1579c6464cbdd62652e40945f9d6b3cd5dd59f13953194cb63d91193810193ed98077356f9e95baa" name="R-boot" arch="i586">
  <version epoch="0" ver="1.3.30" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="3497713f5dd8ecb1c7145ccd26033a433cddea187788263696cd76853529d6cbcfbfeecd0701840a8823aa1847e76cc700b46a403576575b578a7bf08ca830a4" name="R-boot" arch="x86_64">
  <version epoch="0" ver="1.3.30" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="a23a1d0d478eab3b5f46698b1b3b66575a4d3c55a917c5e4f08014b329d608dcec4f7b4732be26290fe26dbcd00c366b07274d69953bc5486a77f40647bae7f7" name="R-class" arch="i586">
  <version epoch="0" ver="7.3.22" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="e8c5c6782601d54bd51a4f27348b82f45af012f5de772783733ec76c6b205f484f53c8fb5d3136d6719b0b390ae2d26014bafc81c8a92b61a29a51f8cb2b1687" name="R-class" arch="x86_64">
  <version epoch="0" ver="7.3.22" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="f72dc64441565a472b419ad52313680d22f82bb7b2be461b0f14ce33aabb537870fb77725f5b1f5a4ed56a286929adea2254f8cd39dabf101270fc8cb3b59859" name="R-class-debuginfo" arch="i586">
  <version epoch="0" ver="7.3.22" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="7ce87f7bcc851fa5629d17a9fd22b368bba1db9d24c7c81e5898ac7d249f0cb68ba9b7d8ba82aac4167bd923bc2d7e8854161748a7bb4fabde78ca3230806b21" name="R-class-debuginfo" arch="x86_64">
  <version epoch="0" ver="7.3.22" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="70eb74d70ada78f3c3f9630af7351e0620bbe639b9735e50f944f60bd9b8fa543003c48c98386f18262e62266dfdaeb85af3c3920acc962b461d2905f0a31a01" name="R-cluster" arch="i586">
  <version epoch="0" ver="2.1.6" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="7f0e463c4815196cece9f843e5c9ed047f050c1d58126fe63099d6c09c59af1fa084dee97a01bdb303c8d11bf857024a655aa47c126721a323e39e665ec95072" name="R-cluster" arch="x86_64">
  <version epoch="0" ver="2.1.6" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="54fbf6a89c975f55d7e9dd39a870376c1d5df3910ec36c4138471613429f5cf6b0e35d6a96e8a1b9d622f0e164b51f394fa499c9d2027b3e83628bc4c4c90e06" name="R-cluster-debuginfo" arch="i586">
  <version epoch="0" ver="2.1.6" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="a0983bb74f651fd8d45a16b634adc0b6e52d1dc62c53113fcce2001579f47a9c21286b470a3618e3658914a3304c9af40424cff00a0cc5532ea7baf70e67e84e" name="R-cluster-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.1.6" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="6b0511f90cb8c66fd8eaea050e376a375ccb2cadd5eb9170826bbe438ec115f4935f4c927a88b8aefbf19daf0bcdd75c7b11f6e3616f760c72ddfaa9f103cd98" name="R-codetools" arch="i586">
  <version epoch="0" ver="0.2.20" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="f27d973ba39ca9a9b7b402309c90b1f555fe05b5e404ef78e801190dd1aee0b2c351707dfd8b77e5ab2b67026b89f541c4a98e9e443aeadbb8c1f1ec17e8cbbf" name="R-codetools" arch="x86_64">
  <version epoch="0" ver="0.2.20" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="30b3728fc02afb4aa36ee1e0d6dd11b24318f60fe3d9c652ed5741d9fb5f4f9beb2a251723efaec2d0ca1d4e9557de4b6e6d9ec43d3641ffd38dbad7780016b4" name="R-compiler" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="5a7c28e2f5fe34e324d3e6ec135e99838fc6e9771d4ef6f61961677c8f6e0403a2f91405e7787b118cadac8ec4768c03d4fa501b7e4193628d0b842391494fa7" name="R-compiler" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="c3fe09e2e3308b736fed2bb373cca13c40c2b230b4578a0c900972450f433bbedf33500b9560769d2c911ef901b33109875641597b4f00d18435f349f0d45789" name="R-core" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="923b35dea3a5800697dc4cd8fbf6026c18f3e1d071539698331dab541b0d49aa393fb9b0a0ffb12a91dacf3bfa692917f5b42c9330efdddbb983ef450adafcb1" name="R-core" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="c3a6688c2d6ea198cc83bbf4f5206c1836053a625314149120c8eda0c1400f8ca93764865148a5b6ef9f6e5880dcea1d8ff94450978bf505293da96fad26358b" name="R-core-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="26d4d99c16013733ef42f7c3b5bfcb150a212d169ccb85900b6f2b92eb65687a3d3483a21604039e5ef129a66c406facf4f129dd51febd53b733077da6b309c4" name="R-core-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="f34e0c039f6d4c89471b5534670f2639f14fd3e1d36e0bd05d49a34b5212cc0a4a6e9f924a7dbc09a87d53d8b8c3e5b71430433a159cc062d40a32b00212a4ce" name="R-core-devel" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="e9c63278568383582a9a3684fe5fccb46c9a2dc3571f196a2a1f416d0bae8834fc1ef61f10f806a3159169dacddeb8dabbff11679d064067c0d7b7f22829d75a" name="R-core-devel" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="8518090bd6f12242f13c413f1a02f87b49ab102a03f3502f0eb7a0da5cf25beea55d50054892354d602492a40eab50f04277a93642e86b7a8c10272004aeb480" name="R-core-doc" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="6335a14e57c72e8a25ec4e6924134e897a6b00426f4c942a4a8103d59a271010512b7fd10957a4e8927016d36dc8a0ab17644319470cea5a392ffb003fd30a0f" name="R-core-doc" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="222fcc904659a59e2a5e9a4330167e7ef86b0857c689c9a2f3d944f198d20efe054ea04acd8ed05c4d5279ecd146b7df1ab3d5e3d38921cee4a6e6a9831eb82c" name="R-core-libs" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="d6272ff6734d64fdcee6aa308c3152ff2837a2ddc5bd808243f8d0dff63da11d6d0c5f5d1c82eb3aed56034639423136c90b78ec9b1a70e17b89867b9bc768af" name="R-core-libs" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="617bc7861328b42a1b490aaf1cd9aedbbd66156a75bcd989e5412ac746b4c18db4f64de089d5852e9f0eed1be010af9c7ce2babb024f95b383542bfc09355b25" name="R-core-libs-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="b983c7ae523054f9934e4eb29ea7a9a3577cf04ddd5274a25218119478b597ccfaa5a396565f8da9e09e478e73aa3ede52de207367402ba8e8ad623c05f4f897" name="R-core-libs-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="e34b4bd6b8b53634339894e0cd2ea72c51cee770cb7f82dcc237b08cf48332567d0f75c76dbf74ccd14f425a56e6e0a2e9283c8954b301447c514997fc323432" name="R-core-packages" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="4d34e7362dd638c9d5b8c8c77afc1244602597502bde9cb55dc4353b78d240ce5d3a80a921f4697cdfc23b0698c5b63d4986c3cefb6987ad8d5031edfa12ae7b" name="R-core-packages" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="0404e0496ad2226680c278626b27061304b9bea949c82806d2b9c0bb6e23ccdcdb1fca4942f024e3bbe8ba788246c4c6a9a352250dee1c3cbd7ade81b3c1afc9" name="R-datasets" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="bdebf4b8a63530f4bc3d3d939b6adeb4c27b5579520fe5b537e84a729c55d45513d73935680c7e33ed884c272e5df7dc518eb0999b2770f680ae8ea17b5c7282" name="R-datasets" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="103e3401cb5dd68d1a2d3b069701fdeaba770d6ad5adad68f95f779b91059d7c4556668c410c5a87e18b5184d7658653f1973bd35c3eea32068c4f96e2d2d712" name="R-foreign" arch="i586">
  <version epoch="0" ver="0.8.86" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="04f1c0c5165fbceedc430736f032557c37131e65e6393ce65d184848395ed47dd1925d8711220a0d0d4d70a116c772d6cd67ffa40d106cc114b2ea5c24ec5196" name="R-foreign" arch="x86_64">
  <version epoch="0" ver="0.8.86" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="5417c50998340805d6518d77eff8e29a2f5c94edde6a8f247029e63e081b5c1d01459ad45b224703e681a8266e15c0b074dae86a738e0da6a7517f686a4cea5a" name="R-foreign-debuginfo" arch="i586">
  <version epoch="0" ver="0.8.86" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="ec8548714c9ceb1eaec25a4ec4da568e4c40bd3998b0e109e2230059d78583a65f5170f92e2e558ccf2af0394e267cd8908741bc573f0dbcdce9d90533b77e6f" name="R-foreign-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8.86" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="25723197fe57e6e6356df9b0f15ac6d668ff3011b6139ae42921a3e085d583eb1c510dba825e3d74e9714bb961a36e265cb915ca166554bf1102dd26453441d0" name="R-grDevices" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="cf3e08d25819d877ce90c0eb39daa2f21e77ed8766b01a88d8976ff56bb313082f271bfb38c690588d113c437c17e8d3b20390266c9e6812f0dbe9ca10d91e7e" name="R-grDevices" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="3b92360955144031f59bc0f93de37096bfed12d93e9a125d2d913eae3ae64b95636a3bddf17bfb4f3503360c40401ebf736714afe0e49c7d7c492527fd2cbb69" name="R-grDevices-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="6bc893f901ab4e4cdc0e31015e633faf05cb5308c23dd4895706d6a94c1f0b72149ad3b52119c55fa77301adb017a5840517d5d9cad1545c3f6b7b82e1b7e518" name="R-grDevices-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="d8c225099bdba80c0e3538e18672a3d5e6563a21e17eebcf1b2b439cfe09dd94dc5fea0af3670ee1688689a0118268b42cd70b07dbcf67c97e0ccf749caffbf2" name="R-graphics" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="5cd14b3230fbb5faabe648111abc2d9e84f0e0af503bc2095ba364bbbe90266603cd16068bb7eebb17827923349e51c0d59e245ded258312a3774735786c1588" name="R-graphics" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="027afaa75944a48153868312dab9f7963ec745a77d753df26fd66ab8f2c8ea8f7950c6b71050df07a30fb4aa69d4e778695e1465116874b80b751b1425335145" name="R-graphics-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="6ad450b3c5f7bea223386bc630eec85c1595cc8e18b117d1271602872796e14431fc875ef8ef70750823d6555a699bf8149a17295b390958d8e2fede48ae011d" name="R-graphics-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="32ae52d74568d5cc8de7ea4d17b061d559ab5b615ec6ea6988783b8de02cbc6436df7ab6a48e6768f834258e732378b778023f9cde92b3c0d8f761cc56fc0a8a" name="R-grid" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="6f6d1c46071351678512c785e77a503c7edbb582293b2e434bfca78f01a6c135f35c145ae670f460c2055ff29ea838faff29de616ddbb0a9ae65e52369fa1cfe" name="R-grid" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="cf6c96cce7c1fb6c26ed902e69b3c94b0e5b44fe1d9cba6ce50f69a26a79fb13ffe37c3ace33950b52bdde9a3f7b1c00e9727552ca37b376bd7dd5832035c2ff" name="R-grid-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="529db5622f00e93621a6ec6c8d63752ca4f33fe890bede7ca3d86695013f587ac42ccf165d02e76efa321f02bde712785278a67527a68ba5826c861adb94c9d7" name="R-grid-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="d0044a330ba27edb224d4d3960694c1c2a10e8a4bf8039cdfd3df659a7976e8ecedda0cc6c86ac3e037d38a68035070a3a4e974ce2e8bf6116579c02e7edf4f1" name="R-lattice" arch="i586">
  <version epoch="0" ver="0.22.6" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="f10d6bbb67fe0990aee69e43ec5896a956896c1114295e9e1fdedec4eaec51454d81c59b34c23bafb37bb0f8041a861a57ba4a40ea92858cf63e7352f2cf7b66" name="R-lattice" arch="x86_64">
  <version epoch="0" ver="0.22.6" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="159d448045030ebe45378976b639cb0234deb718faf34a42031374c1bb8617c1f8d0aae96ab867ae4540a7fa2697b85393db5097f52e6f98c0948793368b51d4" name="R-lattice-debuginfo" arch="i586">
  <version epoch="0" ver="0.22.6" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="2a8f5a593ddb10c001400f9a8a4acedb842d3544834ca8971d0839e4614d8a4766f3646a7e5f324172fbd4f1d661e26cac9e4e079c96c806aeb35936d4514508" name="R-lattice-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.22.6" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="706de4c1edb02872f6a81d315ce1fd2cb0a7d16b59aadf8cc3b370fce5dfa22e7ba48a86d33bb2143aba6ab691329ef00f652292b6402fff5caa7707b5c4a8f3" name="R-methods" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="d24afbb7b939a09e3eb8f53d099abf49cafb7744baecd1073b3781e41f495f1baad91d834bc47199bf77304d0f9b0ee833029e0dcb247860d505730101c92d0d" name="R-methods" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="8977739b7f49dd8a6e251d675b8988a382aa15bf5f5b41efced4de68750e6f5843ddb8a7cce28c1d56b9ccad7be8ae7d22478ca7d7d5e3ed2a8ab6a0706575aa" name="R-methods-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="18f48b081e5de0ec2e750eef07d84bec55e2f61757a2f2a7af69a0fc6a9c0c4f1e47b826751e3ea7026fda2e37104fc0cf8330703b904e99a1adabee73e81d63" name="R-methods-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="d48618cc32cad8d7f2ff72dbb4726fdce87438df866fb11e75acfc09400f888157a0433aeb7ed8769f91799e9213b837ae04ecb992112be884976e1403710c15" name="R-mgcv" arch="i586">
  <version epoch="0" ver="1.9.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="34fe44e31ac65045a883e9791ae38cc1c05f47ce2262ddfd9a35e37d2b969b5258a72dc3aeffc520ce760fb8e6e2547b5be07c4df7100311985e0e97b1bdec1d" name="R-mgcv" arch="x86_64">
  <version epoch="0" ver="1.9.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="f456ebaf5acfbd44c7c06cf4b0b6995431345f3915a77e95bb193b518e0fdc8d96d0efe9a12ee6bb61f67e053ff3c55ae3dd45af2b105757a01cec2be0fccf42" name="R-mgcv-debuginfo" arch="i586">
  <version epoch="0" ver="1.9.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="3b0f0a52340d5fe3e5cee0b50cf99c29784004c080c1feb5040b5f9bf30f535b5cd2c38f94c1f3d8fe9c8dc910a71efcb47c5280bda2e85c31aa6dc6027166d3" name="R-mgcv-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.9.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="9c11ca0d241200c8711a991ca33098f07a5a89226ab3301c40f622fc7fbf1c129f4e1ceda778724c3766b2b86a36a7ffdc5e63b8cd29825a63c252f8e5c39926" name="R-nlme" arch="i586">
  <version epoch="0" ver="3.1.164" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="28a351ba9a9ce85171630f4cdffbbd26dea9894ff0f8f47c6a96f55af15a2fd75cc96f0750738bdf30534b23e79eedf98692e9663e370230c47e5d87a3bf20c4" name="R-nlme" arch="x86_64">
  <version epoch="0" ver="3.1.164" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="2e4b24dcfb42212d286ed058d1b4f5cb8991e529d9b741db42fec2f4525f6b9f5684042eb7432ef60adafa7131c4735e700ac36fc609006bc6347dd9e1b07f13" name="R-nlme-debuginfo" arch="i586">
  <version epoch="0" ver="3.1.164" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="3e95df3a9d2a65b8d3aeb0e5a1388e6a8655326b3d8c18c4a330d4768ca6428b2faf06abf798116cab545e51837e7c135d05147a07a05704beba165ee2af96c3" name="R-nlme-debuginfo" arch="x86_64">
  <version epoch="0" ver="3.1.164" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="6835eeab420ec393d87f136f0af9c3fe808f0df3fee269067f409f7864e214bad5a21a63683c901062fce88418439be0fa8011c097210e6721b9985734cf588a" name="R-nnet" arch="i586">
  <version epoch="0" ver="7.3.19" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="20ca0e777497acb42502138a8db9765099baa8c2f8d2a6627dfce451cd212bdd1c40d3297da270d528a964f22f663701b5dbc011c727b140db201afca4e29e7e" name="R-nnet" arch="x86_64">
  <version epoch="0" ver="7.3.19" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="b1e5a6cb11742f8a1e89b7e3a67114e2a5aed825ed8d96c186975ffccecf2da94fb8d528717378d30c8aeebc8ad5f9a93408430180019803428787c8e34df7c4" name="R-nnet-debuginfo" arch="i586">
  <version epoch="0" ver="7.3.19" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="c90ac9b34ca815338745a429a10eea523a637cc815b8edce3c5330d277162ad3e50e2977315b40d996cb9fe72c6238fc30c2aba0a3cde6e4f4656107413fc7c4" name="R-nnet-debuginfo" arch="x86_64">
  <version epoch="0" ver="7.3.19" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="430025932989166c7df703386b35d2b17971e80167a1d93278966665557d3830ca88eb87759c665bf6294b64d919068ebc990c1769e9a89924c6c40a7f351e99" name="R-parallel" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="a772d07cd4dc950f4d1180060e4e1330051b27487fd3f2c1651b7d686699ac58bb8fb6c0d77962b6d28868b4d4e50de3e86ee261f6d45ea09866ab6e492fbc19" name="R-parallel" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="11f43fa3bfec0d4f84f33ed95cf50798a06b508c7981dfe251065716f3556eb431520e7a4f05370d7defc9520919d8fd09f192712e0f4e922836b68bf0993ebc" name="R-parallel-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="b9d992a0fada61155de6f24d01f8e493ad3d6d802ad45f35d632bfee10e95577e221477b69dda7444369c9b2f75b306382103fede9594a475e773ee8b08d17ae" name="R-parallel-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="3ab2be664c79ac60e7e86d749cb80fb5dde0e0cea09d769397be0244cc493cf7c1a59e59226e39aebe67853ebd50a10469d69cf1985d6b8638b6c4c284500c72" name="R-recommended-packages" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="69dfeed6c774d1377d27f5846d973d14824b6b47a70e90d8f2da75ed63695e971a03049b2d9611b8c55f9b6170284a56da9d9971797b84b9bf06f8508fecedf7" name="R-recommended-packages" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="7e0fbf15f4d22ec7e07e7b9e56becf5161be5345c855728a44fdd1e5057adca0ef0a4fc758e41fa665640dd45cc49b9ead4cdc571528017cbbb5fbd452338ae3" name="R-rpart" arch="i586">
  <version epoch="0" ver="4.1.23" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="478b17a5d25a35d85a749b391e1c77d6563d01d895837247cd884ae2c6e5da6d21563ca51c290d20e0e2619d653fe43e15eff9e8d9c69c1149c471d29d4efdce" name="R-rpart" arch="x86_64">
  <version epoch="0" ver="4.1.23" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="7048d914615586b25e388ca986475847c15d0d14768fc4a31ede519a4fb59942b10531bf5be1dbb8083f47bc4deeb589cb4e98ba5c46fb41f5de36c8b28fe9fa" name="R-rpart-debuginfo" arch="i586">
  <version epoch="0" ver="4.1.23" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="4861398bcf9af24ccc7599eb9cddb123baa26a2211721172e1956c1d280409cf6199d34ca731bf578ffe05bf496b3f627f74c113f916bf02031d7f5cf544cd90" name="R-rpart-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.1.23" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="d50e931e064d3d7c7eb327bcb7efece1ab1863c84d8dd1829fec2fa339c575c8924d411d241b2c41f1c979d5d503116f712719a7e43d3fc9e2f458b77b8b0c82" name="R-spatial" arch="i586">
  <version epoch="0" ver="7.3.17" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="5ae6d8c60cabdf5ca748878ac08acdfd3b7961190e2d7e6a40259a2e78b5c110a28b110ee4cb0822fad96b220b0194e832765305e93ff5c8d726230723f25322" name="R-spatial" arch="x86_64">
  <version epoch="0" ver="7.3.17" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="09134ca4f5a7cc44541255f5e3f97a6c904f074739e98316372526fceaf95704bf009d043d55fe7de99026cebf88d7e1ad78f8935de93894de055dbd04bbfaeb" name="R-spatial-debuginfo" arch="i586">
  <version epoch="0" ver="7.3.17" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="a6649d8d13a801b4fc6c52f4eb266a7da52157cd633ce5242659f9516da344ffb0dc113d776b52dc6c781be4ed8913682c22f4cf7a433413de21a3c5cd1eaccc" name="R-spatial-debuginfo" arch="x86_64">
  <version epoch="0" ver="7.3.17" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="fafcff0b1ff54846f0908f950acf8e409cc3632453fa39021d3a7805d358be1b920f01bfc7c17dd304d9472c36e1727178dd325e8dcd9c94020bca965023a151" name="R-splines" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="07b9cd01840dceb074494620cbc8e5498242379f447a8366419b182d9b4c7c071b60fdea938a37eb115ddb4f4510b9572829e7913b17c0139b0481eb6c2de37b" name="R-splines" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="793ddf4dc00c09d8e3ad59037b580cd4a63d3e12067bda780061180573f2e50a8fded16c3ed62bf787f94eea99109c643d14c7af0dee7ea9ecad7069d1591732" name="R-splines-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="2acf0ab2e223725ece870224e77ac8f6f4581f7d265e3ed8dbf683d0595701ab4b8ae430da58942822fd339094b0c7f1b25d092b248e901e8189555b3db6d37c" name="R-splines-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="a3e639d0aa1cbb20c285479971a45833a22b1627ca194084c059195a6d91d5d46a9d80390d7513452e097df544fc8ec98c378287bb83fe86abcbf9bc01a92673" name="R-stats" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="c1f2e8ce6b1376db4c1ae6899da6c4751e552be30928154fb23ff7c0e161dc6e760b51d03ae48256e6aa91e1d90b432063d2cbcc862be105c0196e9da4f07244" name="R-stats" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="b433f7e4a18e485347d507b7b1dc3225f4c5e602339cf087c27376fc33896e9d4d73110c55a1525a8b87a7123fe3e6d5f13157a941492132529a0cfcb772b1fe" name="R-stats-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="c850d71c4f5fa76cdd1ddf9c1642e788678c42cff87b05de2d49db49c82b90f036af10a6980aaf67cdb0166ed03e59ab90cadfb5ec0e8ba4b2240671b297baf3" name="R-stats-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="d59f90ceeca92f51b970c61a4a96654b2265fa12a4c437c14084b0ccbbd16ce76aae0e5f195abbc4639a71ee277bd88a24111c517638fc61c9eb8f2f8b6f1971" name="R-stats4" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="48391d0617b623037e5baa6834cb2c05b657d7ab1fa67fbeeda875247dcf69f71d43b05d3c75bf43eaf9eda0381fecf9fdbb0c50fabc0f69296edaf7dcf07076" name="R-stats4" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="5b299ee2a5e5a0ce1fc84c48fe5755f3fdbf45b5d4d5ee406e9f68a538a1a3ab23adc4f74669897ca2868480be3acd32ec19941fd84e7153839cb99b63883fb7" name="R-survival" arch="i586">
  <version epoch="0" ver="3.6.4" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="08f9d62263df9f08222209dcf6c6daa7036d59b9ff19d3dc424fa9464ab522bac8375521aa4a19fc219619f662bd9e4af8c812bcd3d6266b61874d4f332d6da4" name="R-survival" arch="x86_64">
  <version epoch="0" ver="3.6.4" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="74a7229a6d190dc3cbe0634c722f257cb9e0999e0e6083a52812dbe50ea3a8a00f2e97737c617d4f5ff693f68ef8ee516b998b540739216849d6e0ddc3545fcf" name="R-survival-debuginfo" arch="i586">
  <version epoch="0" ver="3.6.4" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="d3562b7326e7d34e1e0595113478172232beb44d18fd511aa99fb5b9834405381ae26fc2b2aa3b736284f50b184bbc6bcf96de470d7e796dd0297a413380c525" name="R-survival-debuginfo" arch="x86_64">
  <version epoch="0" ver="3.6.4" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="b5162e2de022d15f5ef1d345a18c1d2ac0aa71bfea86862ed9649b65505238e7083540b0adde378124f8b35b5e70b6f7de279b23975f3ea2b102be2a00a9ccfe" name="R-tcltk" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="1f54737363ae5632e2e985140b8f1fe19c28648046ab07f43936a4cd70c0ef5be8d296de830d0accc62311d9db20a9ac1b6682b734f5718a9712c8870f8f9ec8" name="R-tcltk" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="b52dccc372d2b8a5be874ba985e99113cf89efc499b58f51a8dd814959d8915379b84025c70f56d4152dae99654736c897a807b1225c2970df376dd9939a3882" name="R-tcltk-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="97a49aa63492ead76ff3344a57dd5b58e42e060611cdd497226ab0925c5580f698c29631ffeab76abdaf6ddc083548d98d4b5b853eaccfe4be18d01e97f179b1" name="R-tcltk-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="606e396da0c26f556de473c88b868cdc7f5a08fc1afd466bedd63d05963b53c307919b16cc97191b15941985d4b3c0df01bafa7cc9d96ce143eec1c150e3644c" name="R-tools" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="97ee670b1b74f58f5794fe86298f7b270116baebd35343353689fda141cafe252edf17321d7efb21e9e2b509cca4b7acd5f0701ae3000ca414fdc49d8172cb77" name="R-tools" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="bf7c1dd4742dab842396b08573473bde0d2093dbac9fe5386cf0ba4ee8070e4533027802158c834e8cce85b29705f182651b8c12c8aea3d2cd72fd3cda22f491" name="R-tools-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="55e154aa284da7922ced06c8f2d156816177636bb50cb3e660ef89fb3ba16b6fd9c84450b1e7d8e91d23994a49b0034dbe492ce1c54e9793778064c4d17a98a7" name="R-tools-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="96146055a5927fa30f5de68924bdc34f5b1e2bc760bed6915a50948f52dfd3652ebf0bc25d688e5e82b5cb03bc64aa78bc9d679d680ec2489e89a9fdf63eb567" name="R-utils" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="a4762e91b261e0bfc5313ef592d172a587a86de03e2f42f39971e0c88c5c7651dd3724a459294a8aea34f2b41038fd9a04dc53d4038414e91ef14f7cef6773aa" name="R-utils" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="6b9a06f8a367c2e567c8ad8ca000e12370c35b833cc0d725e9ed1df7ad268d7b2028181e7f532e6b4b38852fef02c748a5ed731956b215d3c53d14e4f9edbbe5" name="R-utils-debuginfo" arch="i586">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="e79d5c1e4414739a604e7ef0eca2fc2266bb74154da40a3b2898475595aff9267c531cc7eeb808146dae58185a8cec2edaba4708667cd880b381deecdfa70ecc" name="R-utils-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.4.1" rel="50.0.2.1.sr20240605"/>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1617192000">- CHANGES IN R 4.0.5:
  BUG FIXES:
  * The change to the internal table in R 4.0.4 for iswprint has been
    reverted: it contained some errors in printability of 'East
  Asian' characters.
  * For packages using LazyData, R CMD build ignored the
  - -resave-data option and the BuildResaveData field of the
  DESCRIPTION file (in R versions 4.0.0 to 4.0.4).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1620302400">- To get in sync with d:l:R:autoCRAN the Matrix package's split
  in -devel was reversed.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339200">- improved spec file according to comments of dimstar in
  https://build.opensuse.org/request/show/892685</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1621339201">- CHANGES IN R 4.1.0:
  FUTURE DIRECTIONS:
  * It is planned that the 4.1.x series will be the last to support
    32-bit Windows, with production of binary packages for that
    series continuing until early 2023.
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Data set esoph in package datasets now provides the correct
    numbers of controls; previously it had the numbers of cases added
    to these.  (Reported by Alexander Fowler in PR#17964.)
  NEW FEATURES:
  * www.omegahat.net is no longer one of the repositories known by
    default to setRepositories().  (Nowadays it only provides source
    packages and is often unavailable.)
  * Function package_dependencies() (in package tools) can now use
    different dependency types for direct and recursive dependencies.
  * The checking of the size of tarball in R CMD check --as-cran
    &lt;pkg&gt; may be tweaked via the new environment variable
    _R_CHECK_CRAN_INCOMING_TARBALL_THRESHOLD_, as suggested in
    PR#17777 by Jan Gorecki.
  * Using c() to combine a factor with other factors now gives a
    factor, an ordered factor when combining ordered factors with
    identical levels.
  * apply() gains a simplify argument to allow disabling of
    simplification of results.
  * The format() method for class "ftable" gets a new option justify.
    (Suggested by Thomas Soeiro.)
  * New ...names() utility.  (Proposed by Neal Fultz in PR#17705.)
  * type.convert() now warns when its as.is argument is not
    specified, as the help file always said it _should_.  In that
    case, the default is changed to TRUE in line with its change in
    read.table() (related to stringsAsFactor) in R 4.0.0.
  * When printing list arrays, classed objects are now shown _via_
    their format() value if this is a short enough character string,
    or by giving the first elements of their class vector and their
    length.
  * capabilities() gets new entry "Rprof" which is TRUE when R has
    been configured with the equivalent of --enable-R-profiling (as
    it is by default).  (Related to Michael Orlitzky's report
    PR#17836.)
  * str(xS4) now also shows extraneous attributes of an S4 object
    xS4.
  * Rudimentary support for vi-style tags in rtags() and R CMD rtags
    has been added.  (Based on a patch from Neal Fultz in PR#17214.)
  * checkRdContents() is now exported from tools; it and also
    checkDocFiles() have a new option chkInternal allowing to check
    Rd files marked with keyword "internal" as well.  The latter can
    be activated for R CMD check via environment variable
    _R_CHECK_RD_INTERNAL_TOO_.
  * New functions numToBits() and numToInts() extend the raw
    conversion utilities to (double precision) numeric.
  * Functions URLencode() and URLdecode() in package utils now work
    on vectors of URIs.  (Based on patch from Bob Rudis submitted
    with PR#17873.)
  * path.expand() can expand ~user on most Unix-alikes even when
    readline is not in use.  It tries harder to expand ~, for example
    should environment variable HOME be unset.
  * For HTML help (both dynamic and static), Rd file links to help
    pages in external packages are now treated as references to
    topics rather than file names, and fall back to a file link only
    if the topic is not found in the target package. The earlier rule
    which prioritized file names over topics can be restored by
    setting the environment variable _R_HELP_LINKS_TO_TOPICS_ to a
    false value.
  * c() now removes NULL arguments before dispatching to methods,
    thus simplifying the implementation of c() methods, _but_ for
    back compatibility keeps NULL when it is the first argument.
    (From a report and patch proposal by Lionel Henry in PR#17900.)
  * Vectorize()'s result function's environment no longer keeps
    unneeded objects.
  * Function ...elt() now propagates visibility consistently with
    ..n.  (Thanks to Lionel Henry's PR#17905.)
  * capture.output() no longer uses non-standard evaluation to
    evaluate its arguments.  This makes evaluation of functions like
    parent.frame() more consistent.  (Thanks to Lionel Henry's
    PR#17907.)
  * packBits(bits, type="double") now works as inverse of
    numToBits().  (Thanks to Bill Dunlap's proposal in PR#17914.)
  * curlGetHeaders() has two new arguments, timeout to specify the
    timeout for that call (overriding getOption("timeout")) and TLS
    to specify the minimum TLS protocol version to be used for
    https:// URIs (_inter alia_ providing a means to check for sites
    using deprecated TLS versions 1.0 and 1.1).
  * For nls(), an optional constant scaleOffset may be added to the
    denominator of the relative offset convergence test for cases
    where the fit of a model is expected to be exact, thanks to a
    proposal by John Nash.  nls(*, trace=TRUE) now also shows the
    convergence criterion.
  * Numeric differentiation _via_ numericDeriv() gets new optional
    arguments eps and central, the latter for taking central divided
    differences.  The latter can be activated for nls() via
    nls.control(nDcentral = TRUE).
  * nls() now passes the trace and control arguments to getInitial(),
    notably for all self-starting models, so these can also be fit in
    zero-noise situations via a scaleOffset.  For this reason, the
    initial function of a selfStart model must now have ... in its
    argument list.
  * bquote(splice = TRUE) can now splice expression vectors with
    attributes: this makes it possible to splice the result of
    parse(keep.source = TRUE).  (Report and patch provided by Lionel
    Henry in PR#17869.)
  * textConnection() gets an optional name argument.
  * get(), exists(), and get0() now signal an error if the first
    argument has length greater than 1.  Previously additional
    elements were silently ignored.  (Suggested by Antoine Fabri on
    R-devel.)
  * R now provides a shorthand notation for creating functions, e.g.
    \(x) x + 1 is parsed as function(x) x + 1.
  * R now provides a simple native forward pipe syntax |&gt;.  The
    simple form of the forward pipe inserts the left-hand side as the
    first argument in the right-hand side call.  The pipe
    implementation as a syntax transformation was motivated by
    suggestions from Jim Hester and Lionel Henry.
  * all.equal(f, g) for functions now by default also compares their
    environment(.)s, notably via new all.equal method for class
    function.  Comparison of nls() fits, e.g., may now need
    all.equal(m1, m2, check.environment = FALSE).
  * .libPaths() gets a new option include.site, allowing to _not_
    include the site library.  (Thanks to Dario Strbenac's suggestion
    and Gabe Becker's PR#18016.)
  * Lithuanian translations are now available.  (Thanks to Rimantas
    Zakauskas.)
  * names() now works for DOTSXP objects.  On the other hand, in
    R-lang, the R language manual, we now warn against relying on the
    structure or even existence of such dot-dot-dot objects.
  * all.equal() no longer gives an error on DOTSXP objects.
  * capabilities("cairo") now applies only to the file-based devices
    as it is now possible (if very unusual) to build R with Cairo
    support for those but not for X11().
  * There is optional support for tracing the progress of
    loadNamespace() - see its help.
  * (Not Windows.)  l10n_info() reports an additional element, the
    name of the encoding as reported by the OS (which may differ from
    the encoding part (if any) of the result from
    Sys.getlocale("LC_CTYPE").
  * New function gregexec() which generalizes regexec() to find _all_
    disjoint matches and well as all substrings corresponding to
    parenthesized subexpressions of the given regular expression.
    (Contributed by Brodie Gaslam.)
  * New function charClass() in package utils to query the
    wide-character classification functions in use (such as
    iswprint).
  * The names of quantile()'s result no longer depend on the global
    getOption("digits"), but quantile() gets a new optional argument
    digits = 7 instead.
  * grep(), sub(), regexp and variants work considerably faster for
    long factors with few levels.  (Thanks to Michael Chirico's
    PR#18063.)
  * Provide grouping of x11() graphics windows within a window
    manager such as Gnome or Unity; thanks to a patch by Ivan Krylov
    posted to R-devel.
  * The split() method for class data.frame now allows the f argument
    to be specified as a formula.
  * sprintf now warns on arguments unused by the format string.
  * New palettes "Rocket" and "Mako" for hcl.colors() (approximating
    palettes of the same name from the 'viridisLite' package).
    Contributed by Achim Zeileis.
  * The base environment and its namespace are now locked (so one can
    no longer add bindings to these or remove from these).
  * Rterm handling of multi-byte characters has been improved,
    allowing use of such characters when supported by the current
    locale.
  * Rterm now accepts ALT+ +xxxxxxxx sequences to enter Unicode
    characters as hex digits.
  * Environment variable LC_ALL on Windows now takes precedence over
    LC_CTYPE and variables for other supported categories, matching
    the POSIX behaviour.
  * duplicated() and anyDuplicated() are now optimized for integer
    and real vectors that are known to be sorted via the ALTREP
    framework. Contributed by Gabriel Becker via PR#17993.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 14
    and so packages that provide graphics devices should be
    reinstalled.
  * Graphics devices should now specify deviceVersion to indicate
    what version of the graphics engine they support.
  * Graphics devices can now specify deviceClip.  If TRUE, the
    graphics engine will never perform any clipping of output itself.
    The clipping that the graphics engine does perform (for both
    canClip = TRUE and canClip = FALSE) has been improved to avoid
    producing unnecessary artifacts in clipped output.
  * The grid package now allows gpar(fill) to be a linearGradient(),
    a radialGradient(), or a pattern().  The viewport(clip) can now
    also be a grob, which defines a clipping path, and there is a new
    viewport(mask) that can also be a grob, which defines a mask.
    These new features are only supported so far on the Cairo-based
    graphics devices and on the pdf() device.
  * (Not Windows.)  A warning is given when a Cairo-based type is
    specified for a png(), jpeg(), tiff() or bmp() device but Cairo
    is unsupported (so type = "Xlib" is tried instead).
  * grSoftVersion() now reports the versions of FreeType and
    FontConfig if they are used directly (not _via_ Pango), as is
    most commonly done on macOS.
  C-LEVEL FACILITIES:
  * The _standalone_ libRmath math library and R's C API now provide
    log1pexp() again as documented, and gain log1mexp().
  INSTALLATION on a UNIX-ALIKE:
  * configure checks for a program pkgconf if program pkg-config is
    not found.  These are now only looked for on the path (like
    almost all other programs) so if needed specify a full path to
    the command in PKG_CONFIG, for example in file config.site.
  * C99 function iswblank is required - it was last seen missing ca
    2003 so the workaround has been removed.
  * There are new configure options --with-internal-iswxxxxx,
  - -with-internal-towlower and --with-internal-wcwidth which allows
    the system functions for wide-character classification,
    case-switching and width (wcwidth and wcswidth) to be replaced by
    internal ones.  The first has long been used on macOS, AIX (and
    Windows) but this enables it to be unselected there and selected
    for other platforms (it is the new default on Solaris).  The
    second is new in this version of R and is selected by default on
    macOS and Solaris.  The third has long been the default and
    remains so as it contains customizations for East Asian
    languages.
    System versions of these functions are often minimally
    implemented (sometimes only for ASCII characters) and may not
    cover the full range of Unicode points: for example Solaris (and
    Windows) only cover the Basic Multilingual Plane.
  * Cairo installations without X11 are more likely to be detected by
    configure, when the file-based Cairo graphics devices will be
    available but not X11(type = "cairo").
  * There is a new configure option --with-static-cairo which is the
    default on macOS.  This should be used when only static cairo
    (and where relevant, Pango) libraries are available.
  * Cairo-based graphics devices on platforms without Pango but with
    FreeType/FontConfig will make use of the latter for font
    selection.
  LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
  * Configuring with flag --enable-lto=R now also uses LTO when
    installing the recommended packages.
  * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use
    LTO when compiling code, for use with R configured with
  - -enable-lto=R.  For R configured with --enable-lto, they have
    the new flag --no-use-LTO.
    Packages can opt in or out of LTO compilation _via_ a UseLTO
    field in the DESCRIPTION file.  (As usual this can be overridden
    by the command-line flags.)
  BUILDING R on Windows:
  * for GCC &gt;= 8, FC_LEN_T is defined in config.h and hence character
    lengths are passed from C to Fortran in _inter alia_ BLAS and
    LAPACK calls.
  * There is a new text file src/gnuwin32/README.compilation, which
    outlines how C/Fortran code compilation is organized and
    documents new features:
  * R can be built with Link-Time Optimization with a suitable
    compiler - doing so with GCC 9.2 showed several
    inconsistencies which have been corrected.
  * There is support for cross-compiling the C and Fortran code
    in R and standard packages on suitable (Linux) platforms.
    This is mainly intended to allow developers to test later
    versions of compilers - for example using GCC 9.2 or 10.x has
    detected issues that GCC 8.3 in Rtools40 does not.
  * There is experimental support for cross-building R packages
    with C, C++ and/or Fortran code.
  * The R installer can now be optionally built to support a single
    architecture (only 64-bit or only 32-bit).
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++14 where
    available (which it is on all currently checked platforms): if
    not (as before) C++11 is used if available otherwise C++ is not
    supported.
    Packages which specify C++11 will still be installed using C++11.
    C++14 compilers may give deprecation warnings, most often for
    std::random_shuffle (deprecated in C++14 and removed in C++17).
    Either specify C++11 (see 'Writing R Extensions') or modernize
    the code and if needed specify C++14.  The latter has been
    supported since R 3.4.0 so the package's DESCRIPTION would need
    to include something like
    Depends: R (&gt;= 3.4)
  PACKAGE INSTALLATION on Windows:
  * R CMD INSTALL and R CMD SHLIB make use of their flag --use-LTO
    when the LTO_OPT make macro is set in file etc/${R_ARCH}/Makeconf
    or in a personal/site Makevars file.  (For details see 'Writing R
    Extensions' SS4.5.)
    This provides a valuable check on code consistency.  It does work
    with GCC 8.3 as in Rtools40, but that does not detect everything
    the CRAN checks with current GCC do.
  PACKAGE INSTALLATION on macOS:
  * The default personal library directory on builds with
  - -enable-aqua (including CRAN builds) now differs by CPU type,
    one of
    ~/Library/R/x86_64/x.y/library
    ~/Library/R/arm64/x.y/library
    This uses the CPU type R (and hence the packages) were built for,
    so when a x86_64 build of R is run under Rosetta emulation on an
    arm64 Mac, the first is used.
  UTILITIES:
  * R CMD check can now scan package functions for bogus return
    statements, which were possibly intended as return() calls (wish
    of PR#17180, patch by Sebastian Meyer). This check can be
    activated via the new environment variable
    _R_CHECK_BOGUS_RETURN_, true for --as-cran.
  * R CMD build omits tarballs and binaries of previous builds from
    the top-level package directory.  (PR#17828, patch by Sebastian
    Meyer.)
  * R CMD check now runs sanity checks on the use of LazyData, for
    example that a data directory is present and that
    LazyDataCompression is not specified without LazyData and has a
    documented value.  For packages with large LazyData databases
    without specifying LazyDataCompression, there is a reference to
    the code given in 'Writing R Extensions' SS1.1.6 to test the
    choice of compression (as in all the CRAN packages tested a
    non-default method was preferred).
  * R CMD build removes LazyData and LazyDataCompression fields from
    the DESCRIPTION file of packages without a data directory.
  ENCODING-RELATED CHANGES:
  * The parser now treats \Unnnnnnnn escapes larger than the upper
    limit for Unicode points (\U10FFFF) as an error as they cannot be
    represented by valid UTF-8.
    Where such escapes are used for outputting non-printable
    (including unassigned) characters, 6 hex digits are used (rather
    than 8 with leading zeros).  For clarity, braces are used, for
    example \U{0effff}.
  * The parser now looks for non-ASCII spaces on Solaris (as
    previously on most other OSes).
  * There are warnings (including from the parser) on the use of
    unpaired surrogate Unicode points such as \uD834.  (These cannot
    be converted to valid UTF-8.)
  * Functions nchar(), tolower(), toupper() and chartr() and those
    using regular expressions have more support for inputs with a
    marked Latin-1 encoding.
  * The character-classification functions used (by default) to
    replace the system iswxxxxx functions on Windows, macOS and AIX
    have been updated to Unicode 13.0.0.
    The character-width tables have been updated to include new
    assignments in Unicode 13.0.0.
  * The code for evaluating default (extended) regular expressions
    now uses the same character-classification functions as the rest
    of R (previously they differed on Windows, macOS and AIX).
  * There is a build-time option to replace the system's
    wide-character wctrans C function by tables shipped with R: use
    configure option --with-internal-towlower or (on Windows)
  - DUSE_RI18N_CASE in CFLAGS when building R.  This may be needed
    to allow tolower() and toupper() to work with Unicode characters
    beyond the Basic Multilingual Plane where not supported by system
    functions (e.g. on Solaris where it is the new default).
  * R is more careful when truncating UTF-8 and other multi-byte
    strings that are too long to be printed, passed to the system or
    libraries or placed into an internal buffer.  Truncation will no
    longer produce incomplete multibyte characters.
  DEPRECATED AND DEFUNCT:
  * Function plclust() from the package stats and
    package.dependencies(), pkgDepends(), getDepList(),
    installFoundDepends(), and vignetteDepends() from package tools
    are defunct.
  * Defunct functions checkNEWS() and readNEWS() from package tools
    and CRAN.packages() from utils have been removed.
  * R CMD config CXXCPP is defunct (it was deprecated in R 3.6.2).
  * parallel::detectCores() drops support for Irix (retired in 2013).
  * The LINPACK argument to chol.default(), chol2inv(),
    solve.default() and svd() has been defunct since R 3.1.0.  It was
    silently ignored up to R 4.0.3 but now gives an error.
  * Subsetting/indexing, such as ddd[*] or ddd$x on a DOTSXP
    (dot-dot-dot) object ddd has been disabled; it worked by accident
    only and was undocumented.
  BUG FIXES:
  * Many more C-level allocations (mainly by malloc and strdup) are
    checked for success with suitable alternative actions.
  * Bug fix for replayPlot(); this was turning off graphics engine
    display list recording if a recorded plot was replayed in the
    same session.  The impact of the bug became visible if resize the
    device after replay OR if attempted another savePlot() after
    replay (empty display list means empty screen on resize or empty
    saved plot).
  * R CMD check etc now warn when a package exports non-existing S4
    classes or methods, also in case of no "methods" presence.
    (Reported by Alex Bertram; reproducible example and patch by
    Sebastian Meyer in PR#16662.)
  * boxplot() now also accepts calls for labels such as ylab, the
    same as plot().  (Reported by Marius Hofert.)
  * The help page for xtabs() now correctly states that addNA is
    setting na.action = na.pass among others.  (Reported as PR#17770
    by Thomas Soeiro.)
  * The R CMD check &lt;pkg&gt; gives a longer and more comprehensible
    message when DESCRIPTION misses dependencies, e.g., in Imports:.
    (Thanks to the contributors of PR#17179.)
  * update.default() now calls the generic update() on the formula to
    work correctly for models with extended formulas.  (As reported
    and suggested by Neal Fultz in PR#17865.)
  * The horizontal position of leaves in a dendrogram is now correct
    also with center = FALSE.  (PR#14938, patch from Sebastian
    Meyer.)
  * all.equal.POSIXt() no longer warns about and subsequently ignores
    inconsistent "tzone" attributes, but describes the difference in
    its return value (PR#17277).  This check can be disabled _via_
    the new argument check.tzone = FALSE as suggested by Sebastian
    Meyer.
  * as.POSIXct() now populates the "tzone" attribute from its tz
    argument when x is a logical vector consisting entirely of NA
    values.
  * x[[2^31]] &lt;- v now works.  (Thanks to the report and patch by
    Suharto Anggono in PR#17330.)
  * In log-scale graphics, axis() ticks and label positions are now
    computed more carefully and symmetrically in their range,
    typically providing _more_ ticks, fulfilling wishes in PR#17936.
    The change really corresponds to an improved axisTicks() (package
    grDevices), potentially influencing grid and lattice, for
    example.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now correct to at
    least five digits where it was catastrophically wrong,
    previously.
  * sum(df) and similar "Summary"- and "Math"-group member functions
    now work for data frames df with logical columns, notably also of
    zero rows.  (Reported to R-devel by Martin "b706".)
  * unsplit() had trouble with tibbles due to unsound use of rep(NA,
    len)-indexing, which should use NA_integer_ (Reported to R-devel
    by Mario Annau.)
  * pnorm(x, log.p = TRUE) underflows to -Inf slightly later.
  * show(&lt;hidden S4 generic&gt;) prints better and without quotes for
    non-hidden S4 generics.
  * read.table() and relatives treated an "NA" column name as missing
    when check.names = FALSE PR#18007.
  * Parsing strings containing UTF-16 surrogate pairs such as
    "\uD834\uDD1E" works better on some (uncommon) platforms.
    sprintf("%X", utf8ToInt("\uD834\uDD1E")) should now give "1D11E"
    on all platforms.
  * identical(x,y) is no longer true for differing DOTSXP objects,
    fixing PR#18032.
  * str() now works correctly for DOTSXP and related exotics, even
    when these are doomed.
    Additionally, it no longer fails for lists with a class and
    "irregular" method definitions such that e.g. lapply(*) will
    necessarily fail, as currently for different igraph objects.
  * Too long lines in environment files (e.g. Renviron) no longer
    crash R. This limit has been increased to 100,000 bytes.
    (PR#18001.)
  * There is a further workaround for FreeType giving incorrect
    italic font faces with cairo-based graphics devices on macOS.
  * add_datalist(*, force = TRUE) (from package tools) now actually
    updates an existing data/datalist file for new content.  (Thanks
    to a report and patch by Sebastian Meyer in PR#18048.)
  * cut.Date() and cut.POSIXt() could produce an empty last interval
    for breaks = "months" or breaks = "years".  (Reported as PR#18053
    by Christopher Carbone.)
  * Detection of the encoding of 'regular' macOS locales such as
    en_US (which is UTF-8) had been broken by a macOS change:
    fortunately these are now rarely used with en_US.UTF-8 being
    preferred.
  * sub() and gsub(pattern, repl, x, *) now keep attributes of x such
    as names() also when pattern is NA (PR#18079).
  * Time differences ("difftime" objects) get a replacement and a
    rep() method to keep "units" consistent.  (Thanks to a report and
    patch by Nicolas Bennett in PR#18066.)
  * The \RdOpts macro, setting defaults for \Sexpr options in an Rd
    file, had been ineffective since R 2.12.0: it now works again.
    (Thanks to a report and patch by Sebastian Meyer in PR#18073.)
  * mclapply and pvec no longer accidentally terminate parallel
    processes started before by mcparallel or related calls in
    package parallel (PR#18078).
  * grep and other functions for evaluating (extended) regular
    expressions handle in Unicode also strings not explicitly flagged
    UTF-8, but flagged native when running in UTF-8 locale.
  * Fixed a crash in fifo implementation on Windows (PR#18031).
  * Binary mode in fifo on Windows is now properly detected from
    argument open (PR#15600, PR#18031).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1622808000">- The line %{__install} -m 755 -d %{_infodir}
  no longer works in TW or Factory.
  But without that line it works everywhere. So this instruction
  was commented out of the spec file.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1628596800">- CHANGES IN R 4.1.1:
  NEW FEATURES:
  * require(pkg, quietly = TRUE) is quieter and in particular does
    not warn if the package is not found.
  DEPRECATED AND DEFUNCT:
  * Use of ftp:// URIs should be regarded as deprecated, with
    on-going support confined to method = "libcurl" and not routinely
    tested.  (Nowadays no major browser supports them.)
  * The non-default method = "internal" is deprecated for http:// and
    ftp:// URIs for both download.file and url.
  * On Windows, method = "wininet" is deprecated for http://,
    https:// and ftp:// URIs for both download.file and url.  (A
    warning is only given for ftp://.)
    For ftp:// URIs the default method is now "libcurl" if available
    (which it is on CRAN builds).
    method = "wininet" remains the default for http:// and https://
    URIs but if libcurl is available, using method = "libcurl" is
    preferred.
  INSTALLATION:
  * make check now works also without a LaTeX installation.  (Thanks
    to Sebastian Meyer's PR#18103.)
  BUG FIXES:
  * make check-devel works again in an R build configured with
  - -without-recommended-packages.
  * qnbinom(p, size, mu) for large size/mu is correct now in a range
    of cases (PR#18095); similarly for the (size, prob)
    parametrization of the negative binomial.  Also qpois() and
    qbinom() are better and or faster for extreme cases.  The
    underlying C code has been modularized and is common to all four
    cases of discrete distributions.
  * gap.axis is now part of the axis() arguments which are passed
    from bxp(), and hence boxplot().  (Thanks to Martin Smith's
    report and suggestions in PR#18109.)
  * .First and .Last can again be set from the site profile.
  * seq.int(from, to, *) and seq.default(..) now work better in large
    range cases where from-to is infinite where the two boundaries
    are finite.
  * all.equal(x,y) now returns TRUE correctly also when several
    entries of abs(x) and abs(y) are close to .Machine$double.xmax,
    the largest finite numeric.
  * model.frame() now clears the object bit when removing the class
    attribute of a value via na.action (PR#18100).
  * charClass() now works with multi-character strings on Windows
    (PR#18104, fixed by Bill Dunlap).
  * encodeString() on Solaris now works again in Latin-1 encoding on
    characters represented differently in UTF-8.  Support for
    surrogate pairs on Solaris has been improved.
  * file.show() on Windows now works with non-ASCII path names
    representable in the current native encoding (PR#18132).
  * Embedded R on Windows can now find R home directory via the
    registry even when installed only for the current user
    (PR#18135).
  * pretty(x) with finite x now returns finite values also in the
    case where the extreme x values are close in size to the maximal
    representable number .Machine$double.xmax.
    Also, it's been tweaked for very small ranges and when a boundary
    is close (or equal) to zero; e.g., pretty(c(0,1e-317)) no longer
    has negative numbers, currently still warning about a very small
    range, and pretty(2^-(1024 - 2^-1/(c(24,10)))) is more accurate.
  * The error message for not finding vignette files when weaving has
    correct file sizes now. (Thanks to Sebastian Meyer's PR#18154.)
  * dnbinom(20, &lt;large&gt;, 1) now correctly gives 0, and similar cases
    are more accurate with underflow precaution.  (Reported by Francisco Vera Alcivar in PR#18072.)</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635163200">- repaired https://bugzilla.suse.com/show_bug.cgi?id=1191380
  (rpmacros now go to rpmmacrodir)
- minor clean-ups in spec file</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1635768000">- CHANGES IN R 4.1.2:
  C-LEVEL FACILITIES:
  * The workaround in headers R.h and Rmath.h (using namespace std;)
    for the Oracle Developer Studio compiler is no longer needed now
    C++11 is required so has been removed.  A couple more usages of
    log() (which should have been std::log()) with an int argument
    are reported on Solaris.
  * The undocumented limit of 4095 bytes on messages from the
    S-compatibility macros PROBLEM and MESSAGE is now documented and
    longer messages will be silently truncated rather than
    potentially causing segfaults.
  * If the R_NO_SEGV_HANDLER environment variable is non-empty, the
    signal handler for SEGV/ILL/BUS signals (which offers recovery
    user interface) is not set. This allows more reliable debugging
    of crashes that involve the console.
  DEPRECATED AND DEFUNCT:
  * The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN,
    WARNING, RECOVER, ... are deprecated and will be hidden in R
    4.2.0. R's native interface of Rf_error and Rf_warning has long
    been preferred.
  BUG FIXES:
  * .mapply(F, dots, .) no longer segfaults when dots is not a list
    and uses match.fun(F) as always documented; reported by Andrew
    Simmons in PR#18164.
  * hist(&lt;Date&gt;, ...) and hist(&lt;POSIXt&gt;, ...)  no longer pass
    arguments for rect() (such as col and density) to axis().
    (Thanks to Sebastian Meyer's PR#18171.)
  * \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and
    patch by Jeroen Ooms in PR#18152.)
  * Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now
    warns in more places, thanks to Andr'e Gillibert's report and
    patch in PR#18168.
  * gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183,
    reported by Till Krenz.
  * Fixed dnbinom(x, size=&lt;very_small&gt;, .., log=TRUE) regression,
    reported by Martin Morgan.
  * as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's
    report and patch in PR#18188.
  * model.response() now strips an "AsIs" class typically, thanks to
    Duncan Murdoch's report and other discussants in PR#18190.
  * try() is considerably faster in case of an error and long call,
    as e.g., from some do.call().  Thanks to Alexander Kaever's
    suggestion posted to R-devel.
  * qqline(y = &lt;object&gt;) such as y=I(.), now works, see also
    PR#18190.
  * Non-integer mgp par() settings are now handled correctly in
    axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's
    report and suggestion in PR#18194.
  * formatC(x) returns length zero character() now, rather than ""
    when x is of length zero, as documented, thanks to Davis
    Vaughan's post to R-devel.
  * removeSource(fn) now retains (other) attributes(fn).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1647000000">- CHANGES IN R 4.1.3:
  NEW FEATURES:
  * The default version of Bioconductor has been changed to 3.14.
    (This is used by setRepositories and the menus in GUIs.)
  UTILITIES:
  * R CMD check --as-cran has a workaround for a bug in versions of
    file up to at least 5.41 which mis-identify DBF files last
    changed in 2022 as executables.
  C-LEVEL FACILITIES:
  * The legacy S-compatibility macros SINGLE_* in R_ext/Constants.h
    (included by R.h) are deprecated and will be removed in R 4.2.0.
  BUG FIXES:
  * Initialization of self-starting nls() models with initialization
    functions following the pre-R-4.1.0 API (without the ...
    argument) works again for now, with a deprecation warning.
  * Fixed quoting of ~autodetect~ in Java setting defaults to avoid
    inadvertent user lookup due to leading ~, reported in PR#18231 by
    Harold Gutch.
  * substr(., start, stop) &lt;- v now treats _negative_ stop values
    correctly.  Reported with a patch in PR#18228 by Brodie Gaslam.
  * Subscripting an array x without dimnames by a
    length(dim(x))-column character matrix gave "random" non-sense,
    now an error; reported in PR#18244 by Mikael Jagan.
  * ...names() now matches names(list(...)) closely, fixing PR#18247.
  * all.equal(*, scale = s) now works as intended when length(s) &gt; 1,
    partly thanks to Michael Chirico's PR#18272.
  * print(x) for long vectors x now also works for named atomic
    vectors or lists and prints the correct number when reaching the
    getOption("max.print") limit; partly thanks to a report and
    proposal by Hugh Parsonage to the R-devel list.
  * all.equal(&lt;selfStart&gt;, *) no longer signals a deprecation
    warning.
  * reformulate(*, response=r) gives a helpful error message now when
    length(r) &gt; 1, thanks to Bill Dunlap's PR#18281.
  * Modifying globalCallingHandlers inside withCallingHandlers() now
    works or fails correctly, thanks to Henrik Bengtsson's PR#18257.
  * hist(&lt;Date&gt;, breaks = "days") and hist(&lt;POSIXt&gt;, breaks = "secs")
    no longer fail for inputs of length 1.
  * qbeta(.001, .9, .009) and similar cases now converge correctly
    thanks to Ben Bolker's report in PR#17746.
  * window(x, start, end) no longer wrongly signals "'start' cannot
    be after 'end'", fixing PR#17527 and PR#18291.
  * data() now checks that its (rarely used) list argument is a
    character vector - a couple of packages passed other types and
    gave incorrect results.
  * which() now checks its arr.ind argument is TRUE rather coercing
    to logical and taking the first element - which gave incorrect
    results in package code.
  * model.weights() and model.offset() more carefully extract their
    model components, thanks to Ben Bolker and Tim Taylor's R-devel
    post.
  * list.files(recursive = TRUE) now shows all broken symlinks
    (previously, some of them may have been omitted, PR#18296).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1650628800">- CHANGES IN R 4.2.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * The formula method of aggregate() now matches the generic in
    naming its first argument x (resolving PR#18299 by Thomas
    Soeiro).
    This means that calling aggregate() with a formula as a named
    first argument requires name formula in earlier versions of R and
    name x now, so portable code should not name the argument (code
    in many packages did).
  * Calling &amp;&amp; or || with either argument of length greater than one
    now gives a warning (which it is intended will become an error).
  * Calling if() or while() with a condition of length greater than
    one gives an error rather than a warning.  Consequently,
    environment variable _R_CHECK_LENGTH_1_CONDITION_ no longer has
    any effect.
  * Windows users should consult the WINDOWS section below for some
    profound changes including
  * Support for 32-bit builds has been dropped.
  * UTF-8 locales are used where available.
  * The default locations for the R installation and personal
    library folder have been changed.
    Thanks to Tomas Kalibera for months of work on the Windows port
    for this release.
  NEW FEATURES:
  * matrix(x, n, m) now warns in more cases where length(x) differs
    from n * m, as suggested by Abby Spurdle and Wolfgang Huber in
    Feb 2021 on the R-devel mailing list.
    This warning can be turned into an error by setting environment
    variable _R_CHECK_MATRIX_DATA_ to TRUE: R CMD check --as-cran
    does so unless it is already set.
  * Function file_test() in package utils gains tests for symlinks,
    readability and writability.
  * capabilities("libxml") is now false.
    The description of capabilities("http/ftp") now reflects that it
    refers to the default method, no longer the internal one.
  * simplify2array() gains an except argument for controlling the
    exceptions used by sapply().
  * Environment variables R_LIBS_USER and R_LIBS_SITE are both now
    set to the R system default if unset or empty, and can be set to
    NULL to indicate an empty list of user or site library
    directories.
  * The warning for axis()(-like) calls in cases of relatively small
    ranges (typically in log-scale situations) is slightly improved
    _and_ suppressed from explicit calls to .axisPars() as has always
    been the intention.
  * The contrasts setter function `contrasts&lt;-` gains an explicit
    default how.many = NULL rather than just using missing(how.many).
  * grid.pretty() gains a new optional argument n = 5.
  * There is a new function .pretty() with option bounds as a
    technical-utility version of pretty().  It and pretty() gain a
    new argument f.min with a better than back-compatible default.
  * Function grDevices::axisTicks() and related functions such as
    graphics::axis() work better, notably for the log scale; partly
    because of the pretty() improvements, but also because care is
    taken e.g., when ylim is finite but diff(ylim) is infinite.
  * nclass.FD() gains a digits option.
  * The R Mathlib internal C function bd0() (called indirectly from a
    dozen probability density and distribution functions such as
    dpois(), dbinom(), dgamma(), pgamma() _etc_) has been
    complemented by a more sophisticated and (mostly) more accurate C
    function ebd0(), currently called only by internal dpois_raw()
    improving accuracy for R level dpois() and potentially others
    calling it such as dnbinom(), dgamma() or pgamma().  (Thanks to
    Morten Welinder's PR#15628.)
  * write.ftable() gains sep = " " argument as suggested by Thomas
    Soeiro.
  * The names of the locale categories supported by R's
    Sys.getlocale() and Sys.setlocale() are now provided by variable
    .LC.categories in the base namespace.
  * The Date and POSIXt methods for hist() and the histogram method
    for plot() now also use the new default col = "lightgray" in
    consistency with the corresponding change to hist()'s default for
    R 4.0.0.
  * hist.default() gains new fuzz argument, and the histogram plot
    method no longer uses fractional axis ticks when displaying
    counts ("Frequency").
  * mapply() and hence Map() now also obey the "max-or-0-if-any"
    recycling rule, such that, e.g., Map(`+`, 1:3, 1[0]) is valid
    now.
  * as.character(&lt;obj&gt;) for "hexmode" or "octmode" objects now
    fulfils the important basic rule as.character(x)[j] ===
    as.character(x[j]).
  * The set utility functions, notably intersect() have been tweaked
    to be more consistent and symmetric in their two set arguments,
    also preserving a common mode.
  * substr(ch, start,end) &lt;- new now e.g., preserves names(ch); ditto
    for substring(), thanks to a patch from Brodie Gaslam.
  * plot(&lt;lm&gt;) gains a extend.ylim.f argument, in partial response to
    PR#15285; further PR#17784 is fixed thanks to several
    contributors and a patch by Elin Waring.  The Cook's dist
    contours get customizable via cook.col and cook.lty with a
    different default color and their legend is nicer by default and
    customizable via cook.legendChanges.
  * Attempting to subset an object that is not subsettable now
    signals an error of class notSubsettableError. The
    non-subsettable object is contained in the object field of the
    error condition.
  * Subscript-out-of-bounds errors are now signaled as errors of
    class subscriptOutOfBoundsError.
  * Stack-overflow errors are now signaled as errors inheriting from
    class stackOverflowError. See ?stackOverflowError for more
    details.
  * New partly experimental Sys.setLanguage() utility, solving the
    main problem of PR#18055.
  * gettext() and gettextf() get a new option trim = TRUE which when
    set to false allows translations for strings such as "Execution
    halted\n" typical for C code.
  * An experimental implementation of hash tables is now available.
    See ?hashtab for more details.
  * identical() gains a extptr.as.ref argument for requesting that
    external pointer objects be compared as reference objects.
  * reorder() gets an argument decreasing which it passes to sort()
    for level creation; based on the wish and patch by Thomas Soeiro
    in PR#18243.
  * as.vector() gains a data.frame method which returns a simple
    named list, also clearing a long standing 'FIXME' to enable
    as.vector(&lt;data.frame&gt;, mode="list").  This breaks code relying
    on as.vector(&lt;data.frame&gt;) to return the unchanged data frame.
  * legend() is now vectorized for arguments cex, x.intersp, and
    text.width.  The latter can now also be specified as a vector
    (one element for each column of the legend) or as NA for
    computing a proper column wise maximum value of strwidth(legend).
    The argument y.intersp can be specified as a vector with one
    entry for each row of the legend.
    legend() also gains new arguments title.cex and title.font.
    Thanks to Swetlana Herbrandt.
  * Deparsing no longer remaps attribute names dim, dimnames, levels,
    names and tsp to historical S-compatible names (which structure()
    maps back).
  * sample() and sample.int() have additional sanity checks on their
    size and n arguments.
    all.equal.numeric() gains a sanity check on its tolerance
    argument - calling all.equal(a, b, c) for three numeric vectors
    is a surprisingly common error.
    mean(na.rm =), rank(na.last =), barplot(legend.text =),
    boxplot(), contour(drawlabels =), polygon(border =) and
    methods::is(class2 =) have more robust sanity checks on their
    arguments.
    R CMD Rd2pdf (used by R CMD check) has a more robust sanity check
    on the format of \alias{} commands.
  * psigamma(x, deriv) for negative x now also works for deriv = 4
    and 5; their underlying C level dpsifn() is documented in
    'Writing R Extensions'.
  * The HTML help system now uses HTML5 (wish of PR#18149).
  * ks.test() now provides exact p-values also with ties and MC
    p-values in the two-sample (Smirnov) case.  By Torsten Hothorn.
  * ks.test() gains a formula interface, with y ~ 1 for the
    one-sample (Kolmogorov) test and y ~ group for the two-sample
    (Smirnov) test.  Contributed by Torsten Hothorn.
  * The return value from ks.test() now has class c("ks.test",
    "htest") - packages using try() need to take care to use
    inherits() and not == on the class.
  * New functions psmirnov(), qsmirnov() and rsmirnov() in package
    stats implementing the asymptotic and exact distributions of the
    two-sample Smirnov statistic.
  * iconv() now allows sub = "c99" to use C99-style escapes for UTF-8
    inputs which cannot be converted to encoding to.
  * In a forward pipe |&gt; expression it is now possible to use a named
    argument with the placeholder _ in the rhs call to specify where
    the lhs is to be inserted.  The placeholder can only appear once
    on the rhs.
  * The included LAPACK sources have been updated to version 3.10.0,
    except for the four Fortran 77 routines which 3.10.0 has
    re-implemented in Fortran 90 (where the older versions have been
    retained as the R build process does not support Fortran 90).
  * path.expand() and most other uses of tilde expansion now warn if
    a path would be too long if expanded.  (An exception is
    file.exists(), which silently returns false.)
  * trunc(&lt;Date&gt;, *) now supports units = "months" or "years" for
    consistency with the POSIXt method, thanks to Dirk Eddelbuettel's
    proposal in PR#18099.
  * list2DF() now checks that its arguments are of the same length,
    rather than use recycling.
  * The HTML help system has several new features: LaTeX-like math
    can be typeset using either KaTeX or MathJax, usage and example
    code is highlighted using Prism, and for dynamic help the output
    of examples and demos can be shown within the browser if the
    knitr package is installed. These features can be disabled by
    setting the environment variable _R_HELP_ENABLE_ENHANCED_HTML_ to
    a false value.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 15
    and so packages that provide graphics devices should be
    reinstalled.
  * The grid package now allows the user to specify a "vector" of
    pattern fills.  The fill argument to gpar() accepts a list of
    gradients and/or patterns and the functions linearGradient(),
    radialGradient(), and pattern() have a new group argument.
    Points grobs (data symbols) can now also have a pattern fill.
    The grobCoords() function now returns a more informative and
    complex result.
  * The grid package has new functions for drawing isolated groups:
    grid.group(), grid.define(), and grid.use().  These functions add
    compositing operators and affine transformations to R's graphics
    capabilities.
    The grid package also has new functions for stroking and filling
    paths: grid.stroke(), grid.fill(), and grid.fillStroke().
    A new function as.path() allows the user to specify the fill rule
    for a path that is to be used for clipping, stroking, or filling;
    available options are "winding" and "evenodd".  A new function
    as.mask() allows the user to specify the type of a mask;
    available options are "alpha" and "luminance".
    These new features are only supported so far (at most) on the
    Cairo-based graphics devices and on the pdf() device.
  * dev.capabilities() reports on device support for the new
    features.
  * par() now warns about unnamed non-character arguments to prevent
    misuse such as {usr &lt;- par("usr"); par(usr)}.
  INSTALLATION:
  * Facilities for accessing ftp:// sites are no longer tested
    (except _pro tem_ for curlGetHeaders()) as modern browsers have
    removed support.
  * R can now be built with DEFS = -DSTRICT_R_HEADERS .
  PACKAGE INSTALLATION:
  * R CMD INSTALL no longer tangles vignettes. This completes an R
    CMD build change in R 3.0.0 and affects packages built before R
    3.0.2. Such packages should be re-made with R CMD build to have
    the tangled R code of vignettes shipped with the tarball.
  * USE_FC_LEN_T will become the default: this uses the correct
    prototypes for Fortran BLAS/LAPACK routines called from C/C++,
    and requires adjustment of most such calls - see 'Writing R
    Extensions' SS6.6.2.  (This has been supported since R 3.6.2.)
  * Package installation speed for packages installed with
    keep.source has been improved. This resolve the issue reported by
    Ofek Shilon in PR#18236.
  UTILITIES:
  * R CMD check can optionally report files/directories left behind
    in home, /tmp (even though TMPDIR is set) and other directories.
    See the "R Internals" manual for details.
  * R CMD check now reports byte-compilation errors during
    installation.  These are not usually fatal but may result in
    parts of the package not being byte-compiled.
  * _R_CHECK_DEPENDS_ONLY_ can be applied selectively to examples,
    tests and/or vignettes in R CMD check: see the "R Internals"
    manual.
  * _R_CHECK_SRC_MINUS_W_IMPLICIT_ now defaults to true: recent
    versions of Apple clang on macOS have made implicit function
    declarations in C into a compilation error.
  * R CMD check --as-cran makes use of the environment variable
    AUTORECONF.  See the "R Internals" manual SS8 for further details.
  * R CMD check --use-valgrind also uses valgrind when re-building
    vignettes as some non-Sweave vignettes unhelpfully comment out
    all their code when R CMD check runs vignettes.
  * Errors in re-building vignettes (unless there are LaTeX errors)
    are reported by R CMD check as ERROR rather than WARNING when
    running vignettes has been skipped (as it frequently is in CRAN
    checks and by --as-cran).
  * R CMD Rd2pdf gains a --quiet option that is used by R CMD build
    when building the PDF package manual.
  * R CMD Rd2pdf now always runs LaTeX in batch mode, consistent with
    Texinfo &gt;= 6.7. The --batch option is ignored.
  * R CMD build and R CMD check now include the Rd file name and line
    numbers in the error message of an \Sexpr evaluation failure.
  * For packages using the \doi Rd macro (now an install-time \Sexpr)
    but no other dynamic Rd content, R CMD build now produces a
    smaller tarball and is considerably faster - skipping temporary
    package installation.
  C-LEVEL FACILITIES:
  * The non-API header R_ext/R-ftp-http.h is no longer provided, as
    the entry points it covered are now all defunct.
  * A number of non-API declarations and macro definitions have been
    moved from the installed header Rinternals.h to the internal
    header Defn.h. Packages that only use entry points and
    definitions documented to be part of the API as specified in
    'Writing R Extensions' SS6 should not be affected.
  * The macro USE_RINTERNALS no longer has any effect when compiling
    package code.  Packages which also use R_NO_REMAP will need to
    ensure that the remapped names are used for calls to API
    functions that were formerly also made available as macros.
  * The deprecated legacy S-compatibility macros PROBLEM, MESSAGE,
    ERROR, WARN, WARNING, RECOVER, ... are no longer defined in
    R_exts/RS.h (included by R.h).  Replace these by calls to
    Rf_error and Rf_warning (defined in header R_ext/Error.h included
    by R.h).
    Header R_ext/RS.h no longer includes R_ext/Error.h.
  * Header R_ext/Constants.h (included by R.h) when included from C++
    now includes the C++ header cfloat rather than the C header
    float.h (now possible as C++11 is required).
  * The legacy S-compatibility macros DOUBLE_* in R_ext/Constants.h
    (included by R.h) are deprecated.
  * The deprecated S-compatibility macros SINGLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * R_Calloc, R_Free and R_Realloc are preferred to their unprefixed
    forms and error messages now use the prefix. These forms were
    introduced in R 3.4.0 and are available even when
    STRICT_R_HEADERS is defined.
  * rmultinom has been documented in 'Writing R Extensions' SS6 so is
    now part of the R API.
  * Similarly, Rtanpi, called from R level tanpi() is now part of the
    R API.
  * The long-deprecated, undocumented and non-API entry point call_R
    is no longer declared in R_ext/RS.h (included by R.h).
  * The header S.h which has been unsupported since Jan 2016 has been
    removed.  Use R.h instead.
  DEPRECATED AND DEFUNCT:
  * The (non-default and deprecated) method = "internal" for
    download.file() and url() no longer supports http:// nor ftp://
    URIs.  (It is used only for file:// URIs.)
    On Windows, download.file(method = "wininet") no longer supports
    ftp:// URIs.  (It is no longer the default method, which is
    "libcurl" and does.)
    On Windows, the deprecated method = "wininet" now gives a warning
    for http:// and https:// URIs for both download.file() and url().
    (It is no longer the default method.)
  * On Windows, the command-line option --max-mem-size and
    environment variable R_MAX_MEM_SIZE are defunct.  The memory
    allocation limit was important for 32-bit builds, but these are
    no longer supported.
  * default.stringsAsFactors() is now formally deprecated, where that
    was only mentioned on its regular help page, previously.  So it
    now gives a warning if called.
  * unix.time() is defunct now; it had been deprecated since R 3.4.0.
  BUG FIXES:
  * Setting digits = 0 in format(), print.default() (and hence
    typically print()) or options() is again invalid.  Its behaviour
    was platform-dependent, and it is unclear what "zero significant
    digits" should mean (PR#18098).
  * Messages from C code in the cairo section of package grDevices
    are now also offered for translation, thanks to Michael Chirico's
    PR#18123.
  * mean(x) with finite x now is finite also without "long.double"
    capability.
  * R CMD Rd2pdf no longer leaves an empty build directory behind
    when it aborts due to an already existing output file.  (Thanks
    to Sebastian Meyer's PR#18141.)
  * density(x, weights = w, na.rm = TRUE) when anyNA(x) is true, now
    removes weights "in parallel" to x, fixing PR#18151, reported by
    Matthias Gondan.  Additionally, it gets a subdensity option.
  * Conversion of \Sexpr[]{&lt;expR&gt;} to LaTeX or HTML no longer
    produces long blocks of empty lines when &lt;expR&gt; itself contains
    several lines all producing empty output.  Thanks to a report and
    patch by Ivan Krylov posted to R-devel.
  * R CMD build no longer fails if a package vignette uses child
    documents and inst/doc exists.  (Thanks to Sebastian Meyer's
    PR#18156.)
  * When an R documentation ('help' source) file man/foo.Rd in a
    package has \donttest{..} examples with a syntax error, it is now
    signalled as ERROR and with correct line numbers relating to the
  * -Ex.R file, thanks to Duncan Murdoch and Sebastian Meyer's
    reports and patch proposals in PR#17501.
  * Improved determination of the correct translation domain in
    non-base packages, addressing the combination of PR#18092 and
    PR#17998 (#c6) with reports and _augmented_ patch #2904 by
    Suharto Anggono.
    Note that "R-base" is no longer the default domain e.g., for
    top-level calls to gettext(); rather translation needs explicit
    domain = * specification in such cases.
  * identical(attrib.as.set=FALSE) now works correctly with data
    frames with default row names (Thanks to Charlie Gao's PR#18179).
  * txtProgressBar() now enforces a non-zero width for argument char,
    without which no progress can be visible.
  * dimnames(table(d)) is more consistent in the case where d is a
    list with a single component, thanks to Thomas Soeiro's report to
    R-devel.
    Further, table(d1, d2) now gives an error when d1 and d2 are data
    frames as suggested by Thomas in PR#18224.
  * Fix for drawing semi-transparent lines and fills on the native
    Windows graphics device (PR#18219 and PR#16694).  Thanks to Nick
    Ray for helpful diagnosis on Bugzilla.
  * The deparser now wraps sub-expressions such as if(A) ..  with
    parentheses when needed; thanks to Duncan Murdoch's PR#18232 and
    Lionel Henry's patches there.
  * remove.packages() no longer tries to uninstall Priority: base
    packages, thanks to a report and suggestions by Colin Fay in
    PR#18227.
  * win.metafile() now has xpinch and ypinch arguments so that the
    user can override Windows' (potentially wrong) guess at device
    dimensions.
  * x[i] and x[[i]] for non-integer i should now behave in all cases
    as always documented: the index used is equivalent to
    as.integer(i) unless that would overflow where trunc(i) is used
    instead; thanks to Suharto Anggono's report and patch proposals
    in PR#17977.
  * asOneSidedFormula() now associates the resulting formula with the
    global environment rather than the evaluation environment created
    for the call.
  * &lt;bibentry&gt;$name now matches the field name case-insensitively,
    consistent with bibentry() creation and the replacement method.
  * cbind() failed to detect some length mismatches with a mixture of
    time-series and non-time-series inputs.
  * The default LaTeX style file Sweave.sty used by the RweaveLatex
    driver no longer loads the obsolete ae package; thanks to a
    report by Thomas Soeiro in PR#18271.  Furthermore, it now skips
    \usepackage[T1]{fontenc} for engines other than pdfTeX (if
    detected) or if the new [nofontenc] option is used.
  * smooth.spline() now stores its logical cv argument more safely,
    fixing a rare bug when printing, and also stores n.
  * smooth.spline(x,y,*) now computes the cv.crit statistic
    correctly, also when is.unsorted(x), fixing PR#18294.
  * The data.frame method of rbind() now warns when binding
    not-wholly-recycling vectors, by analogy to the default method
    (for matrices).
  * setAs() finds the correct class for name to when multiple
    packages define a class with that name. Thanks to Gabor Csardi
    for the report.
  * Fix for detaching a package when two classes of the same name are
    present in method signatures for the same generic. Thanks to
    Gabor Csardi for the report.
  * match.arg("", c("", "a", "B")) gives a better error message, in
    part from PR#17959, thanks to Elin Waring.
  * R CMD Sweave --clean no longer removes pre-existing files or
    subdirectories (PR#18242).
  * The quartz() device no longer splits polylines into subpaths.
    That has caused narrowly-spaced lines with many points to always
    look solid even when dashed line type was used due to dash phase
    restarts.
  * Deparsing constructs such as quote(1 + `!`(2) + 3) works again as
    before R 3.5.0, thanks to the report and patch in PR#18284 by
    Suharto Anggono.
  * as.list(f) for a factor f now keeps names(f), fixing PR#18309.
  * qbeta(.001, .9, .009) and analogous qf() calls now return a
    correct value instead of NaN or wrongly 1, all with a warning;
    thanks to the report by Ludger Goeminne in PR#18302.
  * plot.lm() failed to produce the plot of residuals vs.  factor
    levels (i.e., which=5 when leverages are constant) for models
    with character predictors (PR#17840).
  * interaction.plot(..., xtick = TRUE) misplaced the x-axis line
    (PR#18305).
  * Not strictly fixing a bug, format()ing and print()ing of
    non-finite Date and POSIXt values NaN and +/-Inf no longer show
    as NA but the respective string, e.g., Inf, for consistency with
    numeric vector's behaviour, fulfilling the wish of PR#18308.
  * R CMD check no longer runs test scripts generated from
    corresponding .Rin files twice and now signals an ERROR if
    processing an .Rin script fails.
  * tools::Rd2txt() used for plain-text help pages now renders \hrefs
    (if tools::Rd2txt_options(showURLs = TRUE)) and \urls with
    percent-encoding and standards-compliant delimiting style (angle
    brackets and no URL: prefix).  \email is now rendered with a
    mailto: prefix.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1655985600">- CHANGES IN R 4.2.1:
  NEW FEATURES:
  * New function utils::findCRANmirror() to find out if a CRAN mirror
    has been selected, otherwise fallback to the main site.  This
    behaves in the same way as tools::CRAN_package_db() and is
    intended for packages wishing to access CRAN for purposes other
    than installing packages.
    The need for this was shown by a day when the main CRAN website
    was offline and a dozen or so packages which had its URL
    hardcoded failed their checks.
  INSTALLATION on a UNIX-ALIKE:
  * The libraries searched for by --with-blas (without a value) now
    include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
    the Accelerate framework (after ATLAS).  (This is patterned after
    the AX_BLAS macro from the Autoconf Archive.)
  * The included LAPACK sources have been updated to 3.10.1.
  UTILITIES:
  * The (full path to) the command tidy to be used for HTML
    validation can be set by environment variable R_TIDYCMD.
  * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
    false value will override R CMD check --as-cran and turn off HTML
    validation.  This provides a way to circumvent a problematic
    tidy.
    The 2006 version that ships with macOS is always skipped.
  C-LEVEL FACILITIES:
  * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
    and SINT_MIN in header R.h are deprecated.
  BUG FIXES:
  * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
    by preventing/detecting an integer overflow reliably.
  * tar(., files=*) now produces correctly the warning about invalid
    uid or gid of files, fixing PR#18344, reported by Martin Morgan.
  * tk_choose.files() with multi = FALSE misbehaved on paths
    containing spaces (PR#18334) (regression introduced in R 4.0.0).
  * sort(x, partial = ind, *) now works correctly notably for the
    non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
    James Edwards.
  * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
    for checking .Rd cross-references in R CMD check (as documented)
    and not for other uses looking for a CRAN mirror.
  * The search for a CRAN mirror when checking packages now uses
    getOption("repos") if that specifies a CRAN mirror, even when it
    does not also specify all three Bioconductor repositories (as was
    previously required).
  * The HTML code generated by tools::Rd2HTML() has been improved to
    pass tidy 5.8.0.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1667217600">- CHANGES IN R 4.2.2:
  NEW FEATURES:
  * tools::Rdiff(useDiff = TRUE) checks for the presence of an
    external diff command and switches to useDiff = FALSE if none is
    found.  This allows R CMD Rdiff to always work.
  * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
    can be used to switch to only 'best-effort' SSL certificate
    revocation checks with the default "libcurl" download method.
    This reduces security, but may be needed for downloads to work
    with MITM proxies (PR#18379).
  * (macOS) The run-time check for libraries from XQuartz for X11 and
    Tcl/Tk no longer uses otool from the Apple Developer Tools
    (PR#18400).
  * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
    the standard amsmath, amsfonts and amssymb packages for greater
    coverage of math commands in the Rd \eqn and \deqn macros.  The
    \mathscr LaTeX command is also provided (via the mathrsfs
    package, if available, or the amsfonts bundle otherwise),
    fulfilling the wish of PR#18398.
  * (Windows) The default format of readClipboard() and
    writeClipboard() has been changed to 13 (CF_UNICODETEXT).
  INSTALLATION on a UNIX-ALIKE:
  * The PDF manuals (if built) can be compacted by the new target
    make compact-pdf (at the top level or in directory doc/manual).
  * There is now configure support for LLVM clang 15 on Linux, which
    defaults to position-independent (PIE) executables whereas
    gfortran does not.
  * Many small changes to ease compilation (and suppress warnings)
    with LLVM clang 15.
  BUG FIXES:
  * Rscript -e would fail if stdin were closed (Reported by Henrik
    Bengtsson.)
  * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
    final steps, thus fixing PR#18360.
  * tools::Rd2latex() now escapes hashes and ampersands when writing
    URLs, fixing LaTeX errors with such URLs in \tabular.
  * When isGeneric(f, fdef=*) is used with mismatching names, the
    warning is better understandable; reported (with fix) in PR#18370
    by Gabe Becker.
  * poly(x, n) now works again (and is now documented) when x is a
    "Date" or "POSIXct" object, or of another class while fulfilling
    mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
    such variables.  Reported by Michael Chirico to R-devel.
  * write.table(), write.csv() and write.csv2() restore their
    numerical precision (internal equivalent of digits = 15) after an
    interrupt (PR#18384).
  * One can now read also byte FF from a clipboard connection
    (PR#18385).
  * source("") and source(character()) now give more helpful error
    messages.
  * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
    intended effect.
  * as.POSIXlt(x) now also works with very large dates x, fixing
    PR#18401 reported by Hannes M"uhleisen.
  * Files can now be extracted even from very large zip archives
    (PR#18390, thanks to Martin Jakt).
  * Non-finite objects of class "POSIXlt" are now correctly coerced
    to classes "Date" and "POSIXct"; following up on the extension to
    format() them correctly.
  * Added methods for is.finite(), is.infinite() and is.nan() for
    "POSIXlt" date-time objects.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1678881600">- CHANGES IN R 4.2.3:
  C-LEVEL FACILITIES:
  * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
    be fully C-compliant.  This means that functions loaded _via_ for
    example R_GetCCallable need to be cast to an appropriate type if
    they have any arguments.
  * .Machine has a new element sizeof.time_t to identify old systems
    with a 32-bit type and hence a limited range of date-times (and
    limited support for dates millions of years from present).
  PACKAGE INSTALLATION:
  * (Windows) The default C++ standard had accidentally been left at
    C++11 when it was changed to C++14 on Unix.
  BUG FIXES:
  * As "POSIXlt" objects may be "partially filled" and their list
    components meant to be recycled, length() now is the length of
    the longest component.
  * as.POSIXlt.Date() could underflow for dates in the far past (more
    than half a million years BCE).
  * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
    4.2.2, e.g., for
    x &lt;- as.POSIXlt(c("2019-01-30","2001-1-1"))
    x$mon &lt;- c(0L, NA); as.Date(x)
  * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
    examples and vignettes (regression in R 4.2.0).
  * R CMD check did not re-build vignettes in separate processes by
    default (regression in R 4.2.0).
  * Running examples from HTML documentation now restores previous
    knitr settings and options (PR#18420).
  * Quartz: fonts are now located using Core Graphics API instead of
    deprecated ATS which is no longer supported in the macOS 13 SDK
    (PR#18426).  This also addresses an issue where the currently
    used font in the Quartz device context was not correctly
    retained.
  * (Windows) Math symbols in text drawing functions are again
    rendered correctly (PR#18440).  This fixes a regression in R
    4.2.1 caused by a fix in PR#18382 which uncovered an issue in
    GraphApp due to which the symbol charset was not used with TT
    Symbol font face.
  * (Windows) Installing a package with a src/Makefile.{win,ucrt}
    file includes ~/.R/Makevars.win64 in the search for user
    makevars, as documented in "R Installation and Administration"
    and done for packages with a src/Makevars.{win,ucrt} file.
  * format(&lt;POSIXlt_w/_unbalanced_sec&gt;, "....%OS&lt;n&gt;") with n &gt; 0 no
    longer accidentally uses the unbalanced seconds, thanks to
    Suharto Anggono's report (including patch) in PR#18448.
  * solve.default(a, b) works around issues with some versions of
    LAPACK when a contains NA or NaN values.
  * When UseMethod() cannot dispatch, it no longer segfaults
    producing the error message in case of a long class(), thanks to
    Joris Vankerschaver's report (including patch) in PR#18447.
  * When example(foo, ..) produces graphics on an interactive device
    it needs to open itself, it now leaves devAskNewPage() unchanged
    even when it was FALSE, thus fixing a 14 years old '&lt;FIXME&gt;'.
  * packageDescription() again catches errors from encoding
    conversions. This also fixes broken packageVersion() in C locale
    on systems where iconv does not support transliteration.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1681128000">- add patch to build with libcurl &gt;= 8</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1682078400">- CHANGES IN R 4.3.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Calling &amp;&amp; or || with LHS or (if evaluated) RHS of length greater
    than one is now always an error, with a report of the form
    'length = 4' in coercion to 'logical(1)'
    Environment variable _R_CHECK_LENGTH_1_LOGIC2_ no longer has any
    effect.
  NEW FEATURES:
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.10.1.  (This caused some platform-dependent
    changes to package check output.)  And then to the sources from
    LAPACK version 3.11.0 (with changes only to double complex
    subroutines).
  * The included LAPACK sources have been updated to include the four
    Fortran 90 routines rather than their Fortran 77 predecessors.
    This may give some different signs in SVDs or
    eigendecompositions..  (This completes the transition to LAPACK
    3.10.x begun in R 4.2.0.)
  * The LAPACK sources have been updated to version 3.11.0.  (No new
    subroutines have been added, so this almost entirely bug fixes:
    Those fixes do affect some computations with NaNs, including R's
    NA.)
  * The parser now signals _classed_ errors, notably in case of the
    pipe operator |&gt;.  The error object and message now give line and
    column numbers, mostly as proposed and provided by Duncan Murdoch
    in PR#18328.
  * toeplitz() is now generalized for asymmetric cases, with a
    toeplitz2() variant.
  * xy.coords() and xyz.coords() and consequently, e.g., plot(x,y,
    log = "y") now signal a _classed_ warning about negative values
    of y (where log(.) is NA).  Such a warning can be specifically
    suppressed or caught otherwise.
  * Regular expression functions now check more thoroughly whether
    their inputs are valid strings (in their encoding, e.g. in
    UTF-8).
  * The performance of grep(), sub(), gsub() and strsplit() has been
    improved, particularly with perl = TRUE and fixed = TRUE.  Use of
    useBytes = TRUE for performance reasons should no longer be
    needed and is discouraged: it may lead to incorrect results.
  * apropos() gains an argument dot_internals which is used by the
    completion (help(rcompgen)) engine to also see base internals
    such as .POSIXct().
  * Support in tools::Rdiff() for comparing uncompressed PDF files is
    further reduced - see its help page.
  * qqplot(x, y, ...) gains conf.level and conf.args arguments for
    computing and plotting a confidence band for the treatment
    function transforming the distribution of x into the distribution
    of y (Switzer, 1976, _Biometrika_). Contributed by Torsten
    Hothorn.
  * Performance of package_dependencies() has been improved for cases
    when the number of dependencies is large.
  * Strings newly created by gsub(), sub() and strsplit(), when any
    of the inputs is marked as "bytes", are also marked as "bytes".
    This reduces the risk of creating invalid strings and accidental
    substitution of bytes deemed invalid.
  * Support for readLines(encoding = "bytes") has been added to allow
    processing special text files byte-by-byte, without creating
    invalid strings.
  * iconv(from = "") now takes into account any declared encoding of
    the input elements and uses it in preference to the native
    encoding.  This reduces the risk of accidental creation of
    invalid strings, particularly when different elements of the
    input have different encoding (including "bytes").
  * Package repositories in getOption("repos") are now initialized
    from the repositories file when utils is loaded (if not already
    set, e.g., in .Rprofile).  (From a report and patch proposal by
    Gabriel Becker in PR#18405.)
  * compactPDF() gets a verbose option.
  * type.convert() and hence read.table() get new option tryLogical =
    TRUE with back compatible default.  When set to false, converts
    "F" or "T" columns to character.
  * Added new unit prefixes "R" and "Q" for abbreviating
    (unrealistically large) sizes beyond 10^{27} in standard = "SI",
    thanks to Henrik Bengtsson's PR#18435.
  * as.data.frame()'s default method now also works fine with atomic
    objects inheriting from classes such as "roman", "octmode" and
    "hexmode", such fulfilling the wish of PR#18421, by Benjamin
    Feakins.
  * The as.data.frame.vector() utility now errors for wrong-length
    row.names.  It warned for almost six years, with "Will be an
    error!".
  * sessionInfo() now also contains La_version() and reports codepage
    and timezone when relevant, in both print() and toLatex() methods
    which also get new option tzone for displaying timezone
    information when locale = FALSE.
  * New function R_compiled_by() reports the C and Fortran compilers
    used to build R, if known.
  * predict(&lt;lm&gt;, newdata = *) no longer unnecessarily creates an
    offset of all 0s.
  * solve() for complex inputs now uses argument tol and by default
    checks for 'computational singularity' (as it long has done for
    numeric inputs).
  * predict(&lt;rank-deficient lm&gt;, newdata=*) now obeys a new argument
    rankdeficient, with new default "warnif", warning only if there
    are non-estimable cases in newdata.  Other options include
    rankdeficient = "NA", predicting NA for non-estimable newdata
    cases.  This addresses PR#15072 by Russ Lenth and is based on his
    original proposal and discussions in PR#16158 also by David Firth
    and Elin Waring.  Still somewhat experimental.
  * Rgui console implementation now works better with the NVDA screen
    reader when the full blinking cursor is selected.  The underlying
    improvements in cursor handling may help also other screen
    readers on Windows.
  * The drop-field control in GraphApp can now be left with the TAB
    key and all controls can be navigated in the reverse order using
    the Shift+TAB key, improving accessibility of the Rgui
    configuration editor.
  * qnorm(&lt;very large negative&gt;, log.p=TRUE) is now fully accurate
    (instead of to "only" minimally five digits).
  * demo(error.catching) now also shows off withWarnings() and
    tryCatchWEMs().
  * As an experimental feature the placeholder _ can now also be used
    in the rhs of a forward pipe |&gt; expression as the first argument
    in an extraction call, such as _$coef. More generally, it can be
    used as the head of a chain of extractions, such as _$coef[[2]].
  * Spaces in the environment variable used to choose the R session's
    temporary directory (TMPDIR, TMP and TEMP are tried in turn) are
    now fatal.  (On Windows the 'short path' version of the path is
    tried and used if that does not contain a space.)
  * all.equal.numeric() gets a new optional switch giveErr to return
    the numeric error as attribute.  Relatedly,
    stopifnot(all.equal&lt;some&gt;(a, b, ..)) is as "smart" now, as
    stopifnot(all.equal(....)) has been already, thus allowing
    customized all.equal&lt;Some&gt;() wrappers.
  * R on Windows is now able to work with path names longer than 260
    characters when these are enabled in the system (requires at
    least Windows 10 version 1607).  Packages should be updated to
    work with long paths as well, instead of assuming PATH_MAX to be
    the maximum length.  Custom front-ends and applications embedding
    R need to update their manifests if they wish to allow this
    feature.  See
    &lt;https://blog.r-project.org/2023/03/07/path-length-limit-on-windows&gt;
    for more information.
  * 'Object not found' and 'Missing argument' errors now give a more
    accurate error context. Patch provided by Lionel Henry in
    PR#18241.
  * The @ operator is now an S3 generic. Based on contributions by
    Tomasz Kalinowski in PR#18482.
  * New generic chooseOpsMethod() provides a mechanism for objects to
    resolve cases where two suitable methods are found for an Ops
    Group Generic. This supports experimenting with alternative
    object systems. Based on contributions by Tomasz Kalinowski in
    PR#18484.
  * inherits(x, what) now accepts values other than a simple
    character vector for argument what. A new generic, nameOfClass(),
    is called to resolve the class name from what. This supports
    experimenting with alternative object systems. Based on
    contributions by Tomasz Kalinowski in PR#18485.
  * Detection of BLAS/LAPACK in use (sessionInfo()) with FlexiBLAS
    now reports the current backend.
  * The "data.frame" method for subset() now warns about extraneous
    arguments, typically catching the use of = instead of == in the
    subset expression.
  * Calling a:b when numeric a or b is longer than one may now be
    made into an error by setting environment variable
    _R_CHECK_LENGTH_COLON_ to a true value, along the proposal in
    PR#18419 by Henrik Bengtsson.
  * density(x, weights = *) now warns if automatic bandwidth
    selection happens without using weights; new optional warnWbw may
    suppress the warning.  Prompted by Christoph Dalitz' PR#18490 and
    its discussants.
  * rm(list = *) is faster and more readable thanks to Kevin Ushey's
    PR#18492.
  * The plot.lm() function no longer produces a normal Q-Q plot for
    GLMs. Instead it plots a half-normal Q-Q plot of the absolute
    value of the standardized deviance residuals.
  * The print() method for class "summary.glm" no longer shows
    summary statistics for the deviance residuals by default.  Its
    optional argument show.residuals can be used to show them if
    required.
  * The tapply() function now accepts a data frame as its X argument,
    and allows INDEX to be a formula in that case. by.data.frame()
    similarly allows INDICES to be a formula.
  * The performance of df[j] &lt;- value (including for missing j) and
    write.table(df) has been improved for data frames df with a large
    number of columns.  (Thanks to Gabriel Becker's PR#18500,
    PR#18503 and discussants, prompted by a report from Toby Dylan
    Hocking on the R-devel mailing list.)
  * The matrix multiply operator %*% is now an S3 generic, belonging
    to new group generic matrixOps.  From Tomasz Kalinowski's
    contribution in PR#18483.
  * New function array2DF() to convert arrays to data frames,
    particularly useful for the list arrays created by tapply().
  DATES and TIMES:
  * On platforms where (non-UTC) datetimes before 1902 (or before
    1900 as with system functions on recent macOS) are guessed by
    extrapolating time zones from 1902-2037, there is a warning at
    the first use of extrapolation in a session.  (As all time zones
    post 2037 are extrapolation, we do not warn on those.)
  * (Platforms using --with-internal-tzone, including Windows and by
    default macOS). How years are printed in dates or date-times can
    be controlled by environment variable R_PAD_YEARS_BY_ZERO.  The
    default remains to pad to 4 digits by zeroes, but setting value
    no gives no padding (as used by default by glibc).
  * strftime() tries harder to determine the offset for the "%z"
    format, and succeeds on the mainstream R platforms.
  * strftime() has a limit of 2048 bytes on the string produced -
    attempting to exceed this is an error.  (Previously it silently
    truncated at 255 bytes.)
  * sessionInfo() records (and by default prints) the system time
    zone as part of the locale information.  Also, the source
    (system/internal) of the date-time conversion and printing
    functions.
  * Objects of class "POSIXlt" created in this version of R always
    have 11 components: component zone is always set, and component
    gmtoff is set for times in UTC and usually set on the (almost
    all) platforms which have C-level support, otherwise is NA.
  * There are comprehensive validity checks on the structure of
    objects of class "POSIXlt" when converting (including formatting
    and printing).  (This avoids mis-conversions of hand-crafted
    objects.)
  * There is some support for using the native date-time routines on
    macOS: this is only viable on recent versions (e.g. 12.6 and 13)
    and does get wrong some historical changes (before 1900, during
    WWII).  Use of --with-internal-tzone remains the default.
  * as.POSIXct(&lt;numeric&gt;) and as.POSIXlt(.) (without specifying
    origin) now work.  So does as.Date(&lt;numeric&gt;).
  * as.Date.POSIXct(., tz) now treats several tz values, notably
    "GMT" as equivalent to "UTC", proposed and improved by Michael
    Chirico and Joshua Ulrich in PR#17674.
  * Experimental balancePOSIXlt() utility allows using "ragged" and
    or out-of-range "POSIXlt" objects more correctly, e.g., in
    subsetting and subassignments.  Such objects are now documented.
    More experimentally, a "POSIXlt" object may have an attribute
    "balanced" indicating if it is known to be filled or fully
    balanced.
  * Functions axis.Date() and axis.POSIXct() are rewritten to gain
    better default tick locations and better default formats by using
    prettyDate(). Thanks to Swetlana Herbrandt.
  * The mapping of Windows' names for time zones to IANA's 'Olson'
    names has been updated.  When ICU is available (it is by
    default), it is used to get a mapping for the current region set
    in Windows.  This can be overridden by setting environment
    variable TZ to the desired Olson name - see OlsonNames() for
    those currently available.
  GRAPHICS:
  * The graphics engine version, R_GE_version, has been bumped to 16
    and so packages that provide graphics devices should be
    reinstalled.
  * The grDevices and grid packages have new functions for rendering
    typeset glyphs, primarily: grDevices::glyphInfo() and
    grid::grid.glyph().
    Rendering of typeset glyphs is only supported so far on the
    Cairo-based graphics devices and on the pdf() and quartz()
    devices.
  * The defined behaviour for "clear" and "source" compositing
    operators (via grid::grid.group()) has been changed (to align
    better with simple interpretation of original Porter-Duff
    definitions).
  * Support for gradients, patterns, clipping paths, masks, groups,
    compositing operators, and affine transformations has been added
    to the quartz() device.
  INSTALLATION on a UNIX-ALIKE:
  * A system installation of generic LAPACK 3.10.0 or later will be
    preferred to the version in the R sources.
    configure option --with-lapack=no (equivalently --without-lapack)
    forces compilation of the internal LAPACK sources.
    If --with-lapack is not specified, a system liblapack is looked
    for and used if it reports version 3.10.0 or later and does not
    contain BLAS routines.
    Packages using LAPACK will need to be reinstalled if this changes
    to using an external library.
  * On aarch64 Linux platforms using GCC, configure now defaults to
  - fPIC (instead of -fpic), as desired in PR#18326.
  * configure now checks conversion of datetimes between POSIXlt and
    POSIXct around year 2020.  Failure (which has been seen on
    platforms missing tzdata) is fatal.
  * If configure option --with-valgrind-instrumentation is given
    value 1 or 2, option --with-system-valgrind-headers is now the
    default and ignored (with a warning).  It is highly recommended
    that the system headers are installed alongside valgrind: they
    are part of its packaging on some Linux distributions and
    packaged separately (e.g. in the valgrind-devel RPM) on others.
    configure will give a warning if they are not found.
    The system headers will be required in a future release of R to
    build with valgrind instrumentation.
  * libcurl 8.x is now accepted by configure: despite a change in
    major version number it changes neither API nor ABI.
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools43, an update of the Rtools42 toolchain.  It is
    based on gcc 12 and newer versions of MinGW-W64, binutils and
    libraries.  At this time R-devel can still be built using
    Rtools42 without changes, but when R-devel is installed via the
    installer, it will by default look for Rtools43.
  * Old make targets rsync-extsoft and 32-bit ones that are no longer
    needed have been removed.
  * Default builds (including for packages) no longer select C99.
    Thus the C standard used is the default for the compiler, which
    for the toolchain in Rtools43 is C17.  (This is consistent with
    Unix builds.)
  PACKAGE INSTALLATION:
  * The default C++ standard has been changed to C++17 where
    available (which it is on all currently checked platforms): if
    not C++14 or C++11 is used if available otherwise C++ is not
    supported.
  * USE_FC_LEN_T is the default: this uses the correct
    (compiler-dependent) prototypes for Fortran BLAS/LAPACK routines
    called from C/C++, and requires adjustment of many such calls -
    see 'Writing R Extensions' SS6.6.1.
  * There is initial support for C++23 as several compilers are now
    supporting -std=c++23 or -std=c++2b or similar.  As for C++20,
    there no additional configure checks for C++23 features beyond a
    check that the compiler reports a __cplusplus value greater than
    that in the C++20 standard.  C++ feature tests should be used.
  * There is support for a package to indicate the version of the C
    standard which should be used to compile it, and for the
    installing user to specify this.  In most cases R defaults to the
    C compiler's default standard which is C17 (a `bug-fix' of C11) -
    earlier versions of R or compilers may have defaulted to C99.
    Current options are:
    USE_C17 Use a standard that is at most C17.  The intention is to
    allow legacy packages to still be installed when later C
    standards become the default, including packages using new
    keywords as identifiers or with K&amp;R-style function
    declarations.  This will use C17 if available, falling back
    to C11.
    USE_C90 Use the C90 (aka C89) standard.  (As that standard did
    not require compilers to identify that version, all we can
    verify is that the compiler does not claim to be using a
    later standard.  It may accept C99 features - for example
    clang accepts // to make comments.)
    USE_C99 Use the C99 standard. This should be rarely needed - it
    avoids the few new features of C11/C17 which can be useful if
    a package assumes them if C17 is specified and they are not
    implemented.
    USE_C23 Use C23 (or in future, later).  Compiler/library support
    for C23 is still being implemented, but LLVM clang from
    15.0.0 and the upcoming GCC 13 have quite extensive support.
    These can be specified as part of the SystemRequirements field in
    the package's DESCRIPTION file or _via_ options --use-C17 and so
    on of R CMD INSTALL and R CMD SHLIB.
    For further details see "Writing R Extensions" SS1.2.5.
  * (Windows) A src/Makefile.ucrt or src/Makefile.win file is now
    included after R_HOME/etcR_ARCH/Makeconf and so no longer needs
    to include that file itself.  Installation of a package with such
    a file now uses a site Makevars file in the same way as a package
    with a src/Makevars.win file would.
  * configure is now passed crucial variables such as CC and CFLAGS
    in its environment, as many packages were not setting them (as
    documented in 'Writing R Extensions' SS1.2).
    This has most effect where configure is used to compile parts of
    the package - most often by cmake or libtool which obfuscate the
    actual compile commands used.
    Also used for configure.win and configure.ucrt on Windows.
  FORTRAN FLAGS:
  * The flag -fno-optimize-sibling-calls is no longer forced for
    gfortran 7 and later.  It should no longer be needed now using
    'hidden' character-length arguments when calling BLAS/LAPACK
    routines from C/C++ is the default even for packages.  (Unless
    perhaps packages call Fortran code from C/C++ without using R's
    headers and without allowing for these arguments.)
  C-LEVEL FACILITIES:
  * The deprecated S-compatibility macros DOUBLE_* in
    R_ext/Constants.h (included by R.h) have been removed.
  * The deprecated legacy typedefs of Sint and Sfloat in header R.h
    are no longer defined, and that header no longer includes header
    limits.h from C nor climits from C++.
  * New macro CAD5R() is provided in Rinternals.h and used in a few
    places in the R sources.
  * ALTREP now supports VECSXP vectors. Contributed by Gabor Csardi
    in PR#17620.
  * The Rcomplex definition (in header R_ext/Complex.h) has been
    extended to prevent possible mis-compilation when interfacing
    with Fortran (PR#18430).  The new definition causes compiler
    warnings with static initializers such as {1, 2}, which can be
    changed to {.r=1, .i=2}.
    Using the new definition from C++ depends on compiler extensions
    supporting C features that have not been incorporated into the
    C++ standards but are available in g++ and clang++: this may
    result in C++ compiler warnings but these have been worked around
    for recent versions of common compilers (GCC, Apple/LLVM clang,
    Intel).
    It is intended to change the inclusion of header R_ext/Complex.h
    by other R headers, so C/C++ code files which make use of
    Rcomplex should include that header explicitly.
  UTILITIES:
  * R CMD check does more checking of package .Rd files, warning
    about invalid email addresses and (some) invalid URIs and noting
    empty \item labels in description lists.
  * R CMD check now also reports problems when reading package news
    in md (file NEWS.md) and (optionally) plain text (file NEWS)
    formats.
  * _R_CHECK_TIMINGS_ defaults to a value from the environment even
    for R CMD check --as-cran; this allows for exceptionally fast or
    slow platforms.
    It now applies to checking PDF and HTML versions of the manuals,
    and 'checking CRAN incoming feasibility'.
  * R CMD check can optionally (but included in --as-cran) check
    whether HTML math rendering _via_ KaTeX works for the package .Rd
    files.
  * Non-interactive debugger invocations can be trapped by setting
    the environment variable _R_CHECK_BROWSER_NONINTERACTIVE_ to a
    true value.  This is enabled by R CMD check --as-cran to detect
    the use of leftover browser() statements in the package.
  * The use of sprintf and vsprintf from C/C++ has been deprecated in
    macOS 13 and is a known security risk.  R CMD check now reports
    (on all platforms) if their use is found in compiled code:
    replace by snprintf or vsnprintf respectively. [*NB:* whether
    such calls get compiled into the package is platform-dependent.]
  * Where recorded at installation, R CMD check reports the C and
    Fortran compilers used to build R.
    It reports the OS in use (if known, as given by osVersion) as
    well as that R was built for.
    It notes if a C++ standard was specified which is older than the
    current default: many packages have used C++11 to mean 'not
    C++98' - as C++11 is the minimum supported since R 4.0.0, that
    specification can probably be removed.
  * R CMD INSTALL reports the compilers (and on macOS, the SDK) used,
    and this is copied to the output of R CMD check.
    Where a C++ standard is specified, it is reported.
  * R CMD check's 'checking compilation flags in Makevars' has been
    relaxed to accept the use of flags such as -std=f2008 in
    PKG_FFLAGS.
  * tools::buildVignettes() has a new argument skip, which is used by
    R CMD check to skip (and note) vignettes with unavailable
    \VignetteDepends (PR#18318).
  * New generic .AtNames() added to enable class-specific completions
    after @. The formerly internal function findMatches() is now
    exported, mainly for use in methods for .DollarNames() and
    .AtNames().
  DEPRECATED AND DEFUNCT:
  * default.stringsAsFactors() is defunct.
  * Calling as.data.frame.&lt;class&gt;() directly (for 12 atomic classes)
    is going to be formally deprecated, currently activated by
    setting the environment variable
    _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ to non-empty, which also
    happens in R CMD check --as-cran.
  BUG FIXES:
  * Hashed environments with sizes less than 5 can now grow.
    (Reported to R-devel by Duncan Garmonsway.)
  * as.character(&lt;Rd&gt;, deparse = TRUE) failed to re-escape curly
    braces in LaTeX-like text.  (Reported by Hadley Wickham in
    PR#18324.)
  * library() now passes its lib.loc argument when requiring Depends
    packages; reported (with fix) in PR#18331 by Mikael Jagan.
  * R CMD Stangle: improved message about 'Output' files.
  * head(x, n) and tail(x, n) now signal an error if n is not
    numeric, instead of incidentally "working" sometimes returning
    all of x.  Reported and discussed by Colin Fay, in PR#18357.
  * The "lm" method for summary() now gives the correct F-statistic
    when the model contains an offset.  Reported in PR#18008.
  * C() and `contrasts&lt;-`() now preserve factor level names when
    given a function object (as opposed a function name which did
    preserve names). Reported in PR#17616.
  * c(a = 1, 2)[[]] no longer matches 2 but rather signals a
    _classed_ error.  Reported and analysed by Davis Vaughan in
    PR#18367, a duplicate of PR#18004, by Jan Meis et al.  For
    consistency, NULL[[]] is also erroneous now.  x[[]] &lt;- v gives an
    error of the same class "MissingSubscriptError".
  * The relist() function of utils now supports NULL elements in the
    skeleton (PR#15854).
  * ordered(levels = *) (missing x) now works analogously to factor(,
    ordered=TRUE); reported (with fix) by Achim Zeileis in PR#18389.
  * User-defined Rd macro definitions can now span multiple lines,
    thanks to a patch from Duncan Murdoch. Previously, the Rd parser
    silently ignored everything after the first line.
  * Plain-text help (tools::Rd2txt()) now preserves an initial blank
    line for text following description list items.
  * tools::Rd2HTML() and tools::Rd2latex() no longer split \arguments
    and \value lists at Rd comments.
  * tools::Rd2latex() now correctly handles optional text outside
    \items of argument lists as well as bracketed text at the
    beginning of sections, e.g., \value{[NULL]}.
  * as.character(&lt;POSIXt&gt;) now behaves more in line with the methods
    for atomic vectors such as numbers, and is no longer influenced
    by options().  Ditto for as.character(&lt;Date&gt;).  The
    as.character() method gets arguments digits and OutDec with
    defaults _not_ depending on options().  Use of as.character(*,
    format = .) now warns.
  * Similarly, the as.character.hexmode() and *.octmode() methods
    also behave as good citizen methods and back compatibility option
    keepStr = TRUE.
  * The as.POSIXlt(&lt;POSIXlt&gt;) and as.POSIXct(&lt;POSIXct&gt;) default
    methods now do obey their tz argument, also in this case.
  * as.POSIXlt(&lt;Date&gt;) now does apply a tz (time zone) argument, as
    does as.POSIXct(); partly suggested by Roland Fuss on the R-devel
    mailing list.
  * as.Date.POSIXlt(x) now also works when the list components are of
    unequal length, aka "partially filled" or "ragged".
  * expand.model.frame() looked up variables in the wrong environment
    when applied to models fitted without data.  Reported in
    PR#18414.
  * time() now (also) uses the ts.eps = getOption("ts.eps") argument
    and thus by default rounds values very close to the start (or
    end) of a year.  Based on a proposal by Andre"i V. Kostyrka on
    R-help.
  * Printing of a factanal() result with just one factor and sort =
    TRUE now works regularly, fixing PR#17863 by Timothy Bates,
    thanks to the 'R Contributors' working group.
  * Printing 0-length objects of class "factor", "roman", "hexmode",
    "octmode", "person", "bibentry", or "citation" now prints
    something better, one of which fixes PR#18422, reported by
    Benjamin Feakins.
  * Sys.timezone() queries timedatectl only if systemd is loaded;
    addressing a report by Jan Gorecki in PR#17421.
  * The formula method of cor.test() had scoping problems when
    environment(formula) was not the calling environment; reported
    with a patch proposal by Mao Kobayashi in PR#18439.
  * attach() of an environment with active bindings now preserves the
    active bindings.  Reported by Kevin Ushey in PR#18425.
  * BLAS detection now works also with system-provided libraries not
    available as regular files.  This fixes detection of the
    Accelerate framework on macOS since Big Sur.  Reported by David
    Novgorodsky.
  * download.file() gives a helpful error message in case of an
    invalid download.file.method option, thanks to Colin Fay's report
    in PR#18455.
  * Sporadic crashes of Rterm when using completion have been fixed.
  * Rprof() is now more reliable.  A livelock in thread
    initialization with too short sampling interval has been fixed on
    macOS.  A deadlock in using the C runtime has been fixed on
    Windows.  A potential deadlock has been prevented on Unix.
  * Cursor placement in Rgui now works even after a fixed-width font
    is selected.
  * Mandatory options (options()) are now set on startup so that
    saving and restoring them always works (PR#18372).
  * Package installation, R CMD INSTALL or install.packages(*), now
    parses each of the &lt;pkg&gt;/R/*.R files individually instead of
    first concatenating and then parse()ing the large resulting file.
    This allows parser or syntax errors to be diagnosed with correct
    file names and line numbers, thanks to Simon Dedman's report and
    Bill Dunlap's patch in PR#17859.
    This _does_ require syntactically self contained R source files
    now, fixing another inadvertent bug.
  * predict.lm(&lt;model with offset&gt;) now finds the offset in the
    correct environment, thanks to Andr'e Gillibert's report and patch
    in PR#18456.
  * getInitial(&lt;formula&gt;) now finds the selfStart model in the
    correct environment.  (Reported by Ivan Krylov in PR#18368.)
  * Fix for possible segfault when using recently-added graphics
    features, such as gradients, clipping paths, masks, and groups
    with pdf(file=NULL).
  * class(m) &lt;- class(m) no longer changes a matrix m by adding a
    class _attribute_.
  * packageDate(pkg) now only warns once if there is no pkg.
  * When ts() creates a multivariate time series, "mts", it also
    inherits from "array" now, and is.mts() is documented _and_
    stricter.
  * Rd2txt() now preserves line breaks of \verb Rd content and from
    duplicated \cr.  The former also fixes the rendering of verbatim
    output from Rd \Sexpr in plain-text help.
  * uniroot(f, interval) should no longer wrongly converge _outside_
    the interval in some cases where abs(f(x)) == Inf for an x at the
    interval boundary, thanks to posts by Ben Bolker and Serguei
    Sokol on R-devel.
  * Vectorized alpha handling in palette functions such as in gray(),
    rainbow(), or hcl.colors() works correctly now, thanks to Achim
    Zeileis' report and patch in PR#18476.
  * Formatting and print()ing of bibentry objects has dropped the
    deprecated citation.bibtex.max argument, such that the bibtex
    argument's default for print.bibentry() depends directly on the
    citation.bibtex.max option, whereas in format.bibentry() the
    option no longer applies.
  * Attempting to use a character string naming a foreign function
    entry point in a foreign function call in a package will now
    signal an error if the packages has called R_forceSymbols to
    specify that symbols must be used.
  * An error in table() could permanently set options(warn=2)
    promoting all subsequent warnings to errors.
  * The sigma() function gave misleading results for binary GLMs.  A
    new method for objects of class "glm" returns the square root of
    the estimate of the dispersion parameter using the same
    calculation as summary.glm().
  * bs() and ns() in the (typical) case of automatic knot
    construction, when some of the supposedly inner knots coincide
    with boundary knots, now moves them inside (with a warning),
    building on PR#18442 by Ben Bolker.
  * R CMD on Windows now skips the site profile with --no-site-file
    and --vanilla even when R_PROFILE is set (PR#18512, from Kevin
    Ushey).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1686916800">- CHANGES IN R 4.3.1:
  C-LEVEL FACILITIES:
  * The C-level API version of R's integrate(), Rdqags() in Applic.h,
    now returns the correct number of integrand evaluations neval,
    fixing PR#18515 reported and diagnosed by Stephen Wade.
  * The C prototypes for LAPACK calls dspgv and dtptrs in
    R_exts/Lapack.h had one too many and one too few character length
    arguments - but this has not caused any known issues. To get the
    corrected prototypes, include
    [#]include &lt;Rconfig.h&gt; // for PR18534fixed
    [#]ifdef PR18534fixed
    [#] define usePR18534fix 1
    [#]endif
    [#]include &lt;R_exts/Lapack.h&gt;
    in your C/C++ code (PR#18534).
  INSTALLATION:
  * Many of the checks of esoteric Internet operations and those
    using unreliable external sites have been moved to a new target
    that is not run by default and primarily intended for the core
    developers.  To run them use
    cd tests; make test-Internet-dev
  BUG FIXES:
  * .S3methods(), typically called from methods(), again marks
    methods from package base as visible.
    Also, the visibility of non-base methods is again determined by
    the method's presence in search().
  * tools::Rdiff() is now more robust against invalid strings, fixing
    installation tests on Windows without Rtools installed
    (PR#18530).
  * Fix (new) bug in hcl.colors(2, *), by Achim Zeileis (PR#18523).
  * head(., &lt;illegal&gt;) and tail(..) now produce more useful "Error in
    ...." error messages, fixing PR#18362.
  * Package code syntax on Windows is checked in UTF-8 when UTF-8 is
    the native encoding.
  * na.contiguous(x) now also returns the first run, when it is at
    the beginning and there is a later one of the same length;
    reported to R-devel, including a fix, by Georgi Boshnakov.
    Further, by default, it modifies only an existing attr(*,"tsp")
    but otherwise no longer sets one.
  * chol(&lt;not pos.def&gt;, pivot = &lt;T|F&gt;) now gives a correct error or
    warning message (depending on pivot), thanks to Mikael Jagan's
    (PR#18541).</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1699012800">- CHANGES IN R 4.3.2:
  NEW FEATURES:
  * The default initialization of the "repos" option from the
    repositories file at startup can be skipped by setting
    environment variable R_REPOSITORIES to NULL such that
    getOption("repos") is empty if not set elsewhere.
  * qr.X() is now an implicit S4 generic in methods.
  * iconv(to = "ASCII//TRANSLIT") is emulated using substitution on
    platforms which do not support it (notably Alpine Linux).  This
    should give a human-readable conversion in ASCII on all platforms
    (rather than NA_character_).
  * trans3d() gains options continuous and verbose addressing the
    problem of possible "wrap around" when projecting too long
    curves, as reported by Achim Zeileis in PR#18537.
  * tools::showNonASCII() has been rewritten to work better on macOS
    14 (which has a changed implementation of iconv()).
  * tiff(type = "quartz") (the default on macOS) now warns if
    compression is specified: it continues to be ignored.
  INSTALLATION on a UNIX-ALIKE:
  * There is some support for building with Intel's LLVM-based
    compilers on x86_64 Linux, such as (C) icx, (C++) ipcx and
    (Fortran) ifx from oneAPI 2023.x.y.
  * There is support for using LLVM's flang-new as the Fortran
    compiler from LLVM 16.0.x (preferably 17.0.0 or later).
  UTILITIES:
  * R CMD check reports the use of the Fortran 90 random number
    generator RANDOM_NUMBER() and the subroutines to initialize it.
    'Writing R Extensions' has example code to use R's RNGs from
    Fortran.
  BUG FIXES:
  * substr(x, n, L) &lt;- cc now works (more) correctly for multibyte
    UTF-8 strings x when L &gt; nchar(x), thanks to a report and patch
    by 'Architect 95'.
  * contrib.url(character()) now returns 0-length character() as
    documented, which also avoids spurious warnings from
    available.packages() et al. in the edge case of an empty vector
    of repository URLs.
  * readChar(., 4e8) no longer fails, thanks to Kodi Arfer's report
    (PR#18557).
  * lapply(&lt;list&gt;, as.data.frame) no longer warns falsely for some
    base vector components.
  * Communication between parent and child processes in the multicore
    part of parallel could fail on platforms that do not support an
    arbitrarily large payload in system functions read()/write() on
    pipes (seen on macOS where a restriction to INT_MAX bytes is
    documented, without doing a partial read unlike Linux). The
    payload is now split into 1Gb chunks to avoid that problem.
    (PR#18571)
  * qqplot(x,y, conf.level=.) gives better confidence bounds when
    length(x) != length(y), thanks to Alexander Ploner's report and
    patch proposal (PR#18557).
  * norm(&lt;0-length&gt;, "2") now gives zero instead of an error, as all
    the other norm types, thanks to Mikael Jagan's PR#18542.
  * Build-stage Rd macros \packageAuthor and \packageMaintainer now
    process Authors@R, fixing NA results when the package DESCRIPTION
    omits Author and Maintainer fields.
  * Formatting and printing complex numbers could give things like
    0.1683-0i because of rounding error: -0i is now replaced by +0i.
  * postscript() refused to accept a title comment containing the
    letter "W" (PR#18599).
  * isoreg(c(1,Inf)) signals an error instead of segfaulting, fixing
    PR#18603.
  * tiff(type = "Xlib") was only outputting the last page of
    multi-page plots.
  * tools::latexToUtf8() again knows about \~{n} and other letters
    with tilde, fixing a regression in R 4.3.0, and about \^{i} as an
    alternative to \^{\i} (similarly with other accents).
    Furthermore, LaTeX codes for accented I letters are now correctly
    converted, also fixing related mistakes in
    tools::encoded_text_to_latex().
  * tar(*, tar = "internal") no longer creates out-of-spec tar files
    in the very rare case of user or group names longer than 32
    bytes, fixing PR#17871 with thanks to Ivan Krylov.
  * When using the "internal" timezone datetime code, adding a
    fraction of a second no longer adds one second, fixing PR#16856
    from a patch by Ivan Krylov.
  * tools::checkRd() no longer produces spurious notes about
    "unnecessary braces" from multi-line Rd results of \Sexpr macros.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1709208000">- CHANGES IN R 4.3.3:
  NEW FEATURES:
  * iconv() now fixes up variant encoding names such as "utf8"
    case-insensitively.
  DEPRECATED AND DEFUNCT:
  * The legacy encoding = "MacRoman" is deprecated in pdf() and
    postscript(): support was incomplete in earlier versions of R.
  BUG FIXES:
  * Arguments are now properly forwarded to methods on S4 generics
    with ... in the middle of their formal arguments. This was broken
    for the case when a method introduced an argument but did not
    include ... in its own formals. Thanks to Herv'e Pag`es for the
    report PR#18538.
  * Some invalid file arguments to pictex(), postscript() and xfig()
    opened a file called NA rather than throw an error.  These
    included postscript(NULL) (which some people expected to work
    like pdf(NULL)).
  * Passing filename = NA to svg(), cairo_pdf(), cairo_ps() or the
    Cairo-based bitmap devices opened a file called NA: it now throws
    an error.
  * quartz(file = NA) opened a file called NA, including when used as
    a Quartz-based bitmap device.  It now gives an error.
  * rank(&lt;long vector&gt;) now works, fixing PR#18617, thanks to Ilia
    Kats.
  * seq.int() did not adequately check its length.out argument.
  * match(&lt;POSIXct&gt;, .) is correct again for differing time zones,
    ditto for "POSIXlt", fixing PR#18618 reported by Bastian Klein.
  * drop.terms(*, dropx = &lt;0-length&gt;) now works, fixing PR#18563 as
    proposed by Mikael Jagan.
  * drop.terms(*) keeps + offset(.) terms when it should, PR#18565,
    and drop.terms() no longer makes up a response, PR#18566, fixing
    both bugs thanks to Mikael Jagan.
  * getS3method("t", "test") no longer finds the t.test() function,
    fixing PR#18627.
  * pdf() and postscript() support for the documented Adobe encodings
    "Greek" and "Cyrilllic" was missing (although the corresponding
    Windows' codepages could be used).
  * Computations of glyph metric information for pdf() and
    postscript() did not take into account that transliteration could
    replace one character by two or more (only seen on macOS 14) and
    typically warned that the information was not known.
  * rank(x) no longer overflows during integer addition, when
    computing rank average for largish but not-yet long vector x,
    fixing PR#18630, thanks to Ilia Kats.
  * list.files() on Windows now returns also files with names longer
    that 260 bytes (the Windows limit is 260 characters).
    Previously, some file names particularly with 'East Asian'
    characters were omitted.
  * cov2cor(&lt;0 x 0&gt;) now works, fixing PR#18423 thanks to Mikael
    Jagan and Elin Waring.
  * cov2cor(&lt;negative diagonal&gt;) and similar now give one warning
    instead of two, with better wording, fixing PR#18424 thanks to
    Mikael Jagan.
  * tools:: startDynamicHelp() now ensures port is in proper range,
    fixing PR#18645.
  * pbeta(x, a,b) is correct now for x=0 or 1 in the boundary cases
    where a or b or both are 0, fixing PR#18672 thanks to Michael
    Fay.
  * pmatch(x, table) for large table, also called for data frame row
    selection, dfrm[nm, ], is now interruptible, fixing PR#18656.
  * predict(&lt;rank-deficient lm&gt;, newdata=*) fix computing of nbasis,
    see Russ Lenth's comment 29 in PR#16158.
  * Added a work-around for a bug in macOS 14.3.1 and higher which
    prevents R plots in the Quartz Cocoa device from updating on
    screen.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1713960000">- CHANGES IN R 4.4.0:
  SIGNIFICANT USER-VISIBLE CHANGES:
  * Startup banners, R --version, sessionInfo() and R CMD check no
    longer report (64-bit) as part of the platform as this is almost
    universal - the increasingly rare 32-bit platforms will still
    report (32-bit).
    On Windows, ditto for window titles.
  * is.atomic(NULL) now returns FALSE, as NULL is not an atomic
    vector.  Strict back-compatibility would replace is.atomic(foo)
    by (is.null(foo) || is.atomic(foo)) but should happen only
    sparingly.
  NEW FEATURES:
  * The confint() methods for "glm" and "nls" objects have been
    copied to the stats package.  Previously, they were stubs which
    called versions in package MASS. The MASS namespace is no longer
    loaded if you invoke (say) confint(glmfit).  Further, the "glm"
    method for profile() and the plot() and pairs() methods for class
    "profile" have been copied from MASS to stats.  (profile.nls()
    and plot.profile.nls() were already in stats.)
  * The confint() and profile methods for "glm" objects have gained a
    possibility to do profiling based on the Rao Score statistic in
    addition to the default Likelihood Ratio. This is controlled by a
    new test = argument.
  * The pairs() method for "profile" objects has been extended with a
    which = argument to allow plotting only a subset of the
    parameters.
  * The "glm" method for anova() computes test statistics and
    p-values by default, using a chi-squared test or an F test
    depending on whether the dispersion is fixed or free.  Test
    statistics can be suppressed by giving argument test a false
    logical value.
  * In setRepositories() the repositories can be set using their
    names via name = instead of index ind =.
  * methods() and .S3methods() gain a all.names option for the (rare)
    case where functions starting with a . should be included.
  * Serializations can now be interrupted (e.g., by Ctrl-C on a
    Unix-alike) if they take too long, e.g., from save.image(),
    thanks to suggestions by Ivan Krylov and others on R-devel.
  * New startup option --max-connections to set the maximum number of
    simultaneous connections for the session.  Defaults to 128 as
    before: allowed values up to 4096 (but resource limits may in
    practice restrict to smaller values).
  * R on Windows (since Windows 10 2004) now uses the new Segment
    Heap allocator. This may improve performance of some
    memory-intensive applications.
  * When R packages are built, typically by R CMD build &lt;pkg&gt;, the
    new --user=&lt;build_user&gt; option overrides the (internally
    determined) user name, currently Sys.info()["user"] or LOGNAME.
    This is a (modified) fulfillment of Will Landau's suggestion in
    PR#17530.
  * tools::testInstalledBasic() gets new optional arguments outDir
    and testSrcdir, e.g., allowing to use it in a &lt;builddir&gt; !=
    &lt;srcdir&gt; setup, and in standard "binary" Windows installation
  * if* a source tests/ folder is present.
  * range(&lt;DT_with_Inf&gt;, finite = TRUE) now work for objects of class
    "Date", "POSIXct", and "POSIXlt" with infinite entries,
    analogously to range.default(), as proposed by Davis Vaughan on
    R-devel.  Other range()-methods can make use of new function
    .rangeNum().
  * New .internalGenerics object complementing .S3PrimitiveGenerics,
    for documentation and low-level book-keeping.
  * grid() now invisibly returns the x- and y- coordinates at which
    the grid-lines were drawn.
  * norm(., type) now also works for complex matrices.
  * kappa(., exact = TRUE, norm = *) now works for all norms and also
    for complex matrices.  In symmetric / triangular cases, the new
    argument uplo = "U" | "L" allows the upper or lower triangular
    part to be specified.
  * memDecompress(type = "unknown") recognizes compression in the
    default 'zlib' format as used by memCompress(type = "gzip").
  * memCompress() and memDecompress() will use the libdeflate library
    (&lt;https://github.com/ebiggers/libdeflate&gt;) if installed.  This
    uses the same type of compression for type = "gzip" but is 1.5-2x
    faster than the system libz library on some common platforms: the
    speed-up may depend on the library version.
  * diff() for objects of class "Date", "POSIXct", and "POSIXlt"
    accepts a units argument passed via ....
  * Dynamic help now does a much better job of rendering package
    DESCRIPTION metadata.
  * Rprof() gains an event argument and support for elapsed (real)
    time profiling on Unix (PR#18076).
  * filled.contour() gains a key.border argument.
  * tools::update_pkg_po() gets arguments pot_make and mo_make for
    _not_ re-making the corresponding files, and additionally a
    verbose argument.
  * Hexadecimal string colour specifications are now accepted in
    short form, so, for example, we can use "#123", which is
    equivalent to "#112233".
    Thanks to MikeFC for the original idea and Ella Kaye, Malcolm
    Barrett, George Stagg, and Hanne Oberman for the patch.
  * Plain-text help shows \var markup by angle brackets.
  * The new experimental primitive function declare() is intended to
    eventually allow information about R code to be communicated to
    the interpreter, compiler, and code analysis tools. The syntax
    for declarations is still being developed.
  * Functions psmirnov(), qsmirnov() and rsmirnov() in package stats
    have had argument two.sided renamed to alternative, to take into
    account that the permutation distributions of the one-sided
    statistics can be different in the case of ties.  Consequence of
    PR#18582.
  * sort() is now an implicit S4 generic in methods.
  * Formatting and printing, format(z), print(z), of complex vectors
    z no longer zap relatively small real or imaginary parts to zero,
    fixing PR#16752.  This is an API change, as it was documented
    previously to round real and imaginary parts together on purpose,
    producing nicer looking output.  As mentioned, e.g. in the PR,
    this change is compatible with many other "R-like" programming
    environments.
    We have simplified the internal code and now basically format the
    real and imaginary parts independently of each other.
  * New experimental functions Tailcall() and Exec() to support
    writing stack-space-efficient recursive functions.
  * Where characters are attempted to be plotted by pdf(),
    postscript() and xfig() which are not in the selected 8-bit
    character set (most often Latin-1) and the R session is using a
    UTF-8 locale, the warning messages will show the UTF-8 character
    rather than its bytes and one dot will be substituted per
    character rather than per byte.  (Platforms whose iconv() does
    transliteration silently plot the transliteration.)
    In a UTF-8 locale some transliterations are now done with a
    warning (e.g., dashes and Unicode minus to hyphen, ligatures are
    expanded, permille (‰) is replaced by o/oo), although the OS may
    have got there first.  These are warnings as they will continue
    to be replaced by dots in earlier versions of R.
  * The matrix multiplication functions crossprod() and tcrossprod()
    are now also primitive and S3 generic, as %*% had become in R
    4.3.0.
  * source() and example() have a new optional argument catch.aborts
    which allows continued evaluation of the R code after an error.
  * The non-Quartz tiff() devices allow additional types of
    compression if supported by the platform's libtiff library.
  * The list of base and recommended package names is now provided by
    tools::standard_package_names().
  * cairo_pdf() and cairo_ps() default to onefile = TRUE to closer
    match pdf() and postscript().
  * New option catch.script.errors provides a documented way to catch
    errors and then continue in non-interactive use.
  * L %||% R newly in base is an expressive idiom for the phrases
    if(!is.null(L)) L else R or if(is.null(L)) R else L.
  * The return value from warnings() now always inherits from
    "warnings" as documented, now also in the case of no warnings
    where it previously returned NULL.
  * as.complex("1i") now returns 0 + 1i instead of NA with a warning.
  * z &lt;- c(NA, 1i) now keeps the imaginary part Im(z[1]) == 0, no
    longer coercing to NA_complex_.  Similarly, cumsum(z) correctly
    sums real and imaginary parts separately, i.e., without
    "crosstalk" in case of NAs.
  * On Alpine Linux iconv() now maps "latin2", "latin-2", "latin9"
    and "latin-9" to encoding names the OS knows about
    (case-insensitively).
  * iconv(sub = "Unicode") now always zero-pads to four (hex) digits,
    rather than to 4 or 8.  (This seems to have become the convention
    once Unicode restricted the number of Unicode points to 2^21 - 1
    and so will never need more than 6 digits.)
  * NCOL(NULL) now returns 0 instead of 1, for consistency with
    cbind().
  * The information for the Euro glyph missing from the Adobe .afm
    files for the Courier, Helvetica and Times families has been
    copied from their URW equivalents - this will improve vertical
    centring in the pdf() and postscript() devices.
  * The included BLAS sources have been updated to those shipped with
    LAPACK version 3.12.0.  The changes are almost entirely cosmetic.
  * The included LAPACK sources have been updated to version 3.12.0
    and some further double-complex routines added.
  * There are new font families for the 2014--5 URW 2.0 fonts (see
    ?pdf) which are included in recent versions of Ghostscript.
    These have font widths for most Greek glyphs and a few others
    which were missing from the original versions (whose font
    families remain available for reproducibility, although
    Ghostscript-based viewers will render using the 2.0 versions).
  * Improve the large-n efficiency of as.matrix(&lt;dist&gt;), thanks an R
    contributors effort, notably by Tim Taylor and Heather Turner,
    see PR#18660.
  * The default and numeric methods of all.equal() get a check.class
    option.
  * zapsmall() gets new optional arguments, function mFUN and min.d,
    for extra flexibility; fulfills a wish in PR#18199.  Also, it is
    now an implicit S4 generic in package methods.
  * The Rd filter for aspell() gains an ignore argument.
  * New generic function sort_by(), primarily useful for the
    data.frame method which can be used to sort rows of a data frame
    by one or more columns.
  * The icence headers for the RPC code in src/extra/xdr have been
    updated to use the GPL-compatible licence published by Oracle
    America in 2010.
  * New function pkg2HTML() in tools to create single-page HTML
    reference manuals for R packages.
  * The byte code evaluator now uses less C stack space for recursive
    calls to byte-compiled functions. It also makes more of an effort
    to avoid allocations for scalar return values.
  * New completion option backtick (disabled by default) allows
    non-syntactic completions to be wrapped in backquotes. This is
    currently only useful for Jupyter notebooks via the IRkernel
    package, and may cause problems for other backends.
  INSTALLATION:
  * The parser has been updated to work with bison 3.8.2, which is
    now used for the pre-generated parsers in gram.c, file.c, and
    gramRd.c. A few parser error messages have changed, which may
    affect code that relies on exact messages.
  INSTALLATION on a UNIX-ALIKE:
  * System valgrind headers are now required to use configure option
  - -with-valgrind-instrumentation with value 1 or 2.
  * configure will warn if it encounters a 32-bit build, as that is
    nowadays almost untested.
  * Environment variable R_SYSTEM_ABI is no longer used and so no
    longer recorded in etc/Renviron (it was not on Windows and was
    only ever used when preparing package tools).
  * If the libdeflate library and headers are available, libdeflate
    rather than libz is used to (de)compress R objects in lazy-load
    databases.  Typically tasks spend up to 5% of their time on such
    operations, although creating lazy-data databases is one of the
    exceptions.
    This can be suppressed if the library is available by the
    configure option --without-libdeflate-compression.
  * configure option --enable-lto=check has not worked reliably since
    2019 and has been removed.
  * The minimum autoconf requirement for a maintainer build has been
    increased to autoconf 2.71.
    It is intended to increase this to 2.72 for R 4.5.0: the
    distributed configure file was generated using 2.72.
  * The minimum version requirement for an external LAPACK has been
    reduced to 3.9.0.
  * No default C++ compiler is set if no C++17 compiler is detected:
    there is no longer an automatic fallback to C++14 or C++11.
    Compilers from the last five years should have sufficient
    support: for others macros CXX and CXXSTD can be set in file
    config.site to provide a fallback if needed.
    The Objective-C++ compiler now by default uses the standard
    selected by R for C++ (currently C++17) rather than the default
    standard for the C++ compiler (which on macOS is still C++98).
  INSTALLATION on macOS:
  * A new configure option --with-newAccelerate makes use of Apple's
    'new' BLAS / LAPACK interfaces in their Accelerate framework.
    Those interfaces are only available in macOS 13.3 or later, and
    building requires SDK 13.3 or later (from the Command Line Tools
    or Xcode 14.3 or later).
    By default the option uses new Accelerate for BLAS calls: to also
    use it for LAPACK use option --with-newAccelerate=lapack.  The
    later interfaces provide LAPACK 3.9.1 rather than 3.2.1: 3.9.1 is
    from 2021-04 and does not include the improved algorithms
    introduced in LAPACK 3.10.0 (including for BLAS calls).
  INSTALLATION on WINDOWS:
  * The makefiles and installer scripts for Windows have been
    tailored to Rtools44, an update of the Rtools43 toolchain.  It is
    based on GCC 13 and newer versions of MinGW-W64, binutils and
    libraries (targeting 64-bit Intel CPUs).  R-devel can no longer
    be built using Rtools43 without changes.
  * Rtools44 has experimental support for 64-bit ARM (aarch64) CPUs
    _via_ the LLVM 17 toolchain using lld, clang/flang-new and
    libc++.
  UTILITIES:
  * R CMD check notes when S4-style exports are used without
    declaring a strong dependence on package methods.
  * tools::checkRd() (used by R CMD check) detects more problems with
    \Sexpr-based dynamic content, including bad nesting of \Sexprs
    and invalid arguments.
  * tools::checkRd() now reports Rd titles and section names ending
    in a period; this is ignored by R CMD check unless environment
    variable _R_CHECK_RD_CHECKRD_MINLEVEL_ is set to -5 or smaller.
  * R CMD check now notes Rd files without an \alias, as long
    documented in 'Writing R Extensions' §1.3.1.  The check for a
    missing \description has been moved from tools::checkRd() to
    tools::checkRdContents().
  * R CMD check now visits inst/NEWS.Rd and OS-specific man
    subdirectories when checking Rd files.
  * tools::checkDocFiles() and tools::checkRdContents() now also
    check internal Rd files by default, but "specially" (ignoring
    missing documentation of arguments).
  * R CMD Rdiff gets option --useEx.
  * R CMD check now warns on non-portable uses of Fortran KIND such
    as INTEGER(KIND=4) and REAL(KIND=8).
    To see the failing lines set environment variable
    _R_CHECK_FORTRAN_KIND_DETAILS_ to a true value.
  * When checking Rd files, R CMD check now notes some of the "lost
    braces" that tools::checkRd() finds.  Typical problems are Rd
    macros missing the initial backslash (e.g., code{...}), in-text
    set notation (e.g., {1, 2}, where the braces need escaping), and
    \itemize lists with \describe-style entries of the form
    \item{label}{description}.
  * R CMD INSTALL (and hence check) will compile C++ code with
  - DR_NO_REMAP if environment variable _R_CXX_USE_NO_REMAP_ is set
    to a true value.  It is planned that this will in future become
    the default for compiling C++.
  * The new built-in Rd macro \dontdiff{} can be used to mark example
    code whose output should be ignored when comparing check output
    to reference output (tests/Examples/&lt;pkg&gt;-Ex.Rout.save).  The
    \dontdiff tag, like \donttest, is _not_ shown on the rendered
    help page, so provides a clean alternative to ##
    IGNORE_RDIFF_(BEGIN|END) comments.
  * R CMD build when there is no NAMESPACE, now uses the recommended
    exportPattern("^[^.]"), instead of exporting everything.
  * R CMD check now warns about non-ASCII characters in the NAMESPACE
    file (in addition to R files). Such packages are not portable and
    may fail to install on some platforms.
  C-LEVEL FACILITIES:
  * Headers R_ext/Applic.h and R-ext/Linpack.h used to include
    R_ext/BLAS.h although this was undocumented and unneeded by their
    documented entry points.  They no longer do so.
  * New function R_missing(), factored out from do_missing(), used to
    fix PR#18579.
  * SEXP type S4SXP has been renamed to OBJSXP to support
    experimenting with alternative object systems.  The S4SXP value
    can still be used in C code but is now deprecated.  Based on
    contributions from the R Consortium's Object-Oriented Programming
    Working Group.
  * New function pow1p(x,y) for accurate (1+x)^y.
  * mkCharLenCE was incorrectly documented to take a size_t length
    but was implemented with int (and character strings in R are
    limited to 2^31 - 1 bytes).
  DEPRECATED AND DEFUNCT:
  * data() no longer handles zipped data from long-defunct (since R
    2.13.0) --use-zip-data installations.
  * The legacy graphics devices pictex() and xfig() are now
    deprecated.  They do not support recent graphics enhancements and
    their font handling is rudimentary. The intention is to retain
    them for historical interest as long as they remain somewhat
    functional.
  * Support for encoding = "MacRoman" has been removed from the pdf()
    and postscript() devices - this was a legacy encoding supporting
    classic macOS up to 2001 and no longer has universal libiconv
    support.
  * is.R() is deprecated as no other S dialect is known to be in use
    (and this could only identify historical dialects, not future
    ones).
    Further information on calls can be obtained by setting the
    environment variable _R_DEPRECATED_IS_R_ to error which turns the
    deprecation warning into an error and so by default gives a
    traceback.  (This is done by R CMD check --as-cran.)
  * UseMethod() no longer forwards local variables assigned in the
    generic function into method call environments before evaluating
    the method body. This makes method calls behave more like
    standard function calls and makes method code easier to analyze
    correctly.
  * The twelve as.data.frame.&lt;class&gt;() methods which were deprecated
    only via _R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_ and in R CMD
    check --as-cran are formally deprecated now in favour of calling
    as.data.frame() or as.data.frame.vector().  The deprecation
    "check" now works also when as.data.frame() is S4 generic thanks
    to Ivan Krylov.
  * The default method for the directional comparison operators &lt;, &gt;,
    &lt;=, and &gt;= now signals an error when one of the operands is a
    language object, i.e. a symbol or a call.
  * For terms.formula(), deprecate abb and neg.out arguments
    _formally_ in addition to just documenting it.
  BUG FIXES:
  * The methods package is more robust to not being attached to the
    search path.  More work needs to be done.
  * pairwise.t.test() misbehaved when subgroups had 0 DF for
    variance, even with pool.sd = TRUE.  (PR#18594 by Jack Berry).
  * Probability distribution functions [dpq]&lt;distrib&gt;(x, *), but also
    bessel[IKJY](x, .) now consistently preserve attributes(x) when
    length(x) == 0, e.g., for a 2 x 0 matrix, thanks to Karolis
    Koncevičius' report PR#18509.
  * Group "Summary" computations such as sum(1:3, 4, na.rm = 5, NA,
    7, na.rm = LL) now give an error instead of either 17 or NN for
    LL true or false, as proposed by Ivan Krylov on the R-devel
    mailing list.  (This also means it is now an error to specify
    na.rm more than once.)
  * as.complex(x) now returns complex(real = x, imaginary = 0) for
    _all_ numerical and logical x, notably also for NA or
    NA_integer_.
  * Directories are now omitted by file.copy(, recursive = FALSE) and
    in file.append() (PR#17337).
  * gsub() and sub() are now more robust to integer overflow when
    reporting errors caused by too large input strings (PR#18346).
  * Top-level handlers are now more robust to attempts to remove a
    handler whilst handlers are running (PR#18508).
  * The handling of Alt+F4 in dialogs created on Windows using
    GraphApp has been fixed (PR#13870).
  * density() more consistently computes grid values for the
    FFT-based convolution, following Robert Schlicht's analysis and
    proposal in PR#18337, correcting density values typically by a
    factor of about 0.999.  Argument old.coords = TRUE provides back
    compatibility.
  * palette.colors() gains a name argument that defaults to FALSE
    controlling whether the vector of colours that is returned has
    names (where possible).  PR#18529.
  * tools::xgettext() no longer extracts the (non-translatable) class
    names from warningCondition and errorCondition calls.
  * S3method(&lt;gen&gt;, &lt;class&gt;, &lt;func&gt;) in the NAMESPACE file now works
    (again) when &lt;func&gt; is visible from the namespace, e.g.,
    imported, or in base.
  * getParseData(f) now also works for a function defined in the
    first of several &lt;pkg&gt;/R/*.R source files, thanks to Kirill
    Müller's report and Duncan Murdoch's patch in PR#16756.
  * Rd \Sexpr macros with nested #ifdef conditionals were not
    processed.
  * A non-blocking connection with non-default encoding (such as a
    socket) now correctly returns from readLines() after new data has
    arrived also when its EOF had been reached previously.  Thanks to
    Peter Meilstrup's report on R-devel and Ivan Krylov's report and
    patch proposal in PR#18555.
  * tools::checkRdContents() failed to detect empty argument
    descriptions when they spanned multiple lines, including those
    generated by prompt().  These cases are now noted by R CMD check.
  * Plain-text help no longer outputs spurious colons in the
    arguments list (for multi-line \item labels in the Rd source).
  * kappa() and rcond() work correctly in more cases; kappa(., norm =
    "2") now warns that it computes the 1-norm with (default) exact =
    FALSE; prompted by Mikael Jagan's quite comprehensive PR#18543.
  * Rd skeletons generated by prompt() or promptData() now use a
    dummy title (so R CMD build works).  tools::checkRdContents() has
    been updated to detect such template leftovers, including from
    promptPackage().
  * When S4 method dispatch fails because no method was found, the
    error message now includes the signature argument names; thanks
    to Michael Chirico's proposal on the R-devel list.
  * withAutoprint({ .. }) now preserves srcrefs previously lost,
    thanks to Andrew Simmons' report plus fix in PR#18572.
  * transform.data.frame() no longer adjusts names; in particular,
    untransformed variables are kept as-is, including those with
    syntactically invalid names (PR#17890).
  * The keep.source option for Rd \Sexpr blocks is no longer ignored.
  * The formula methods for t.test() and wilcox.test() now catch when
    paired is passed, addressing PR#14359; use Pair(x1, x2) ~ 1 for a
    paired test.
  * The level reported in the browser prompt was often too large. It
    now shows the number of browser contexts on the stack.
  * For cbind() and rbind(), the optional deparse.level argument is
    now properly passed to methods, thanks to Mikael Jagan's PR#18579
    and comments there.
  * Some error and warning messages for large ('long vector')
    matrix(v, nr, nc) and dim(m) &lt;- d are now correct about sizes,
    using long long formatting, fixing PR#18612 (and more) reported
    by Mikael Jagan.
  * readChar(useBytes = TRUE) now terminates strings even when the
    underlying connection uses extra spaces in the input buffer.
    This fixes problems with extra garbage seen with gzip
    connections, PR#18605.
  * Named capture in PCRE regular expressions now works also with
    more than 127 named groups (PR#18588).
  * Datetime functions are now robust against long jumps when dealing
    with internal time zone changes.  This avoids confusing warnings
    about an invalid time zone, previously triggered by turning
    warnings into errors or handling them via tryCatch (PR#17966,
    PR#17780).
  * Datetime functions now restore even an empty TZ environment
    variable after internal time zone changes (PR#17724).  This makes
    results of datetime functions with this (typically unintentional)
    setting more predictable.
  * drop.terms(*) now drops response as by default, keep.response =
    FALSE, fixing PR#18564 thanks to Mikael Jagan.
  * dummy.coef(.) now also works for lm()-models with character
    categorical predictor variables rather than factor ones, fixing
    PR#18635 reported by Jinsong Zhao.
  * formals(f) &lt;- formals(f) now also works for a function w/o
    arguments and atomic _constant_ body(f).
  * Correct as.function(&lt;invalid list&gt;, .)'s error message.
  * removeSource() is yet more thorough in finding and removing
    "srcref" and the other source references from parsed R language
    chunks, fixing PR#18638 thanks to Andrew Simmons.
  * dgeom() is more accurate now, notably when its result is very
    small, fixing PR#18642 thanks to the proposal of Morten Welinder,
    also improving other instances where C level binom_raw(x, n, ..)
    has x == 0 or x== n.
  * warning() with options(warn = 1) has improved output for
    multi-line messages.
  * axis.Date() and axis.POSIXct() now respect the par("lab") setting
    for the number of pretty() intervals.
  * Comparisons for language objects (which are based on deparsing)
    are now more careful about using accurate deparsed results
    (PR#18676).
  * Plain-text help (Rd2txt) now correctly preserves blank lines
    following single-line \dontrun code.
  * &lt;POSIXlt&gt;[*] no longer sets wrong "balanced" attribute, fixing
    PR#18681 thanks to Mikael Jagan.
  * str(&lt;classed-call&gt;) now deparses the call as expected, fixing
    PR#18684, reported by Dave Slager.
  * In Rd examples, code following the closing brace of a \dontrun,
    \dontshow or \donttest tag on the same line is no longer skipped
    when R CMD check runs the examples.
  * as.data.frame(matrix(*, ncol=0)) now gets valid names() and
    colnames(); reported by Davis Vaughan on the R-devel list.
  * Internal Mathlib function stirlerr(n) is now almost fully
    (52-bit) accurate for all n &gt;= ~5.9 and more accurate also in the
    range 1 -- 5.9.  This entails small ("after 12th decimal")
    changes in density functions, e.g., dgamma() in _some_ regions of
    their support.  The fix was partly prompted by Morten Welinder's
    PR#18640.
  * Numbers like 9876543.2 are now considered non-integer by Mathlib
    internal R_nonint(), amending original fix of PR#15734.
  * Rd comment lines no longer cause broken paragraphs in the
    rendered PDF and plain-text help. In code blocks, pure comment
    lines (starting with %) no longer produce an empty line.
  * xtabs(Freq ~ .) now consistently defaults to na.action = na.pass,
    using na.rm = FALSE (added as an argument) when summing over Freq
    (PR#17770).
  * tools::testInstalledPackage() is no longer silent about failures
    from running examples or tests and its return code no longer
    ignores failures from checking vignettes.</changelog>
  <changelog author="Detlef Steuer &lt;detlef.steuer@gmx.de&gt;" date="1718366400">- CHANGES IN R 4.4.1:
  C-LEVEL FACILITIES:
  * Functions R_atof and R_strtod declared in header R_ext/Utils.h
    are now documented in 'Writing R Extensions' and so formally part
    of the API.
  * The non-API entry points Rf_setSVector, Rf_StringFalse,
    Rf_StringTrue and Rf_isBlankString have been added to those
    reported by R CMD check.
  * The new function Rf_allocLang is now available. This provides an
    alternative to the idiom of calling Rf_allocList followed by
    SET_TYPEOF.
  UTILITIES:
  * R CMD check now reports as warnings what gfortran calls 'Fortran
    2018 deleted features', all of which have long been marked as
    'obsolescent' and some of which were deleted in Fortran 2008 or
    earlier.  Fortran compilers are no longer required to support
    these.
  BUG FIXES:
  * as.numeric(), scan(), type.convert() and other places which use
    the internal C function R_strtod now require a _non-empty_ digit
    sequence in a decimal or binary exponent.  This aligns with the
    C/POSIX standard for strtod and with ?NumericConstants.
  * as.data.frame(m, make.names=NA) now works correctly for a matrix
    m with NA's in row names.
  * The error message from &lt;POSIXlt&gt;[["hour"]] and similar now
    mentions *[[, "hour"]], as wished for in PR#17409 and proposed by
    Michael Chirico.
  * qbinom() and potentially qpois(), qnbinom(), no longer sometimes
    fail accurate inversion (of pbinom(), etc), thanks to Christopher
    Chang's report and patch in PR#18711.
  * The internal help server on Windows can again serve requests sent
    in quick succession, fixing a regression in R 4.4.0.
  * debugcall(&lt;S3Generic&gt;()) now also works when a corresponding
    S4-generic version is in the methods cache (PR#18143).
  * Package tools' toTitleCase(ch0) now returns character(0) when ch0
    is of zero length; fixing PR#18724, reported by David Hugh Jones.
  * R CMD check is no longer broken (without a check result and no
    explanation in 00check.log) for a package which declares an
    invalid VignetteBuilder in DESCRIPTION but has no vignettes.</changelog>
</package>
<package pkgid="185a5735220b267678e9d10fb779c9cd54810e2fa3e3b50939a1277b44cf11dfe914622d33a9c5999952c24f87f36537519e766d75ec001dc493d252287a1053" name="Radicale" arch="noarch">
  <version epoch="0" ver="3.2.1" rel="1.1"/>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1624104000">- Fix error message "Address family for hostname not supported" (EAFNOSUPPORT)
  when trying to bind to a non-loopback address during startup</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1629633600">- Migrate legacy user creation to sysusers.d(5)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1629633601">- Add firewalld service description for Radicale
  Based on the previous work of Martin Haas &lt;sandrick@seznam.cz&gt;</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1632830400">- system-user-radicale.conf: remove leading spaces, SLE15 does
  not like them [bsc#1190203]</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1640606400">- Update to 3.1.0
  * Single &lt;D:propstat&gt; element in PROPPATCH response
  * Allow multiple &lt;D:set&gt; and &lt;D:remove&gt; elements
  * Improve log messages
  * Fix date filter
  * Improve sanitization of collection properties
  * Cancel mkcalendar request on error
  * Use renameat2 on Linux for atomic overwriting of collections
  * Command Line Parser
  * Disallow abbreviated arguments
  * Support backend specific options and HTTP headers
  * Optional argument for boolean options
  * Load no config file for --config without argument
  * Allow float for server-&gt;timeout setting
  * Fix is-not-defined filter in addressbook-query report
  * Add python type hints
  * Add multifilesystem_nolock storage
  * Add support for Python 3.9 and 3.10
  * Drop support for Python 3.5
  * Fix compatibility with Evolution (Exceptions from recurrence rules)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1641211200">- Fix download URL
  * This release contains a "v" in front of the version number
    in the URL</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1642593600">- Minimum Python version changed from 3.6.0 to 3.6 to be able to
  compile it on Leap 15.3 and 15.2
- Update to 3.1.1
  * Workaround for contact photo bug in InfCloud
  * Redirect GET and HEAD requests under /.web to sanitized path
  * Set Content-Length header for HEAD requests
  * Never send body for HEAD requests
  * Improve error messages for from_file rights backend
  * Don't sanitize WSGI script name</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1642852800">- Update to 3.1.2
  * Verify that base prefix starts with '/' but doesn't end with '/'
  * Improve base prefix log message
  * Never send body for HEAD requests (again)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1643198400">- Update to 3.1.3
  * Redirect '…/.well-known/caldav' and '…/.well-known/carddav' to base prefix
  * Warning instead of error when base prefix ends with '/'</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1643716800">- Update to 3.1.4
  * Fallback if RENAME_EXCHANGE is not supportd by the filesystem
  * Assume POSIX compatibility if sys.platform is not win32</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1644321600">- Update to 3.1.5
  * Ignore configuration file if access is denied
  * Use F_FULLFSYNC with PyPy on MacOS
  * Fallback if F_FULLFSYNC is not supported by the filesystem</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1650369600">- Update to 3.1.6:
  * Ignore 'Not a directory' error for optional config paths
  * Fix upload of whole address book/calendar with UIDs that collide on
    case-insensitive filesystem</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1650888000">- Update to 3.1.7
  * Fix random href fallback</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1655121600">- Trim filler wording from descriptions.</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1655899200">- Add python passlib as a recommendation as it is needed for
  htpasswd authentication</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1657800000">- Update to 3.1.8
  * Fix setuptools requirement if installing wheel
  * Tests: Switch from python setup.py test to tox
  * Small changes to build system configuration and tests</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1673784000">- Security fortifications (provided by systemd)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1710763200">- Update to 3.1.9
  * Add: support for Python 3.11 + 3.12
  * Drop: support for Python 3.6
  * Fix: MOVE in case listen on non-standard ports or behind reverse proxy
  * Fix: stricter requirements of Python 3.11
  * Fix: HTML pages
  * Fix: Main Component is missing when only recurrence id exists
  * Fix: passlib don't support bcrypt&gt;=4.1
  * Fix: web login now proper encodes passwords containing %XX (hexdigits)
  * Enhancement: user-selectable log formats
  * Enhancement: autodetect logging to systemd journal
  * Enhancement: test code
  * Enhancement: option for global permit to delete collection
  * Enhancement: auth type 'htpasswd' supports now 'htpasswd_encryption' sha256/sha512 and "autodetect" for smooth transition
  * Improve: Dockerfiles
  * Improve: server socket listen code + address format in log
  * Update: documentations + examples
  * Dependency: limit typegard version &lt; 3
  * General: code cosmetics</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1714910400">- Update to 3.2.0
  * Enhancement: add hook support for event changes+deletion hooks (initial support: "rabbitmq")
  * Dependency: pika &gt;= 1.1.0
  * Enhancement: add support for webcal subscriptions
  * Enhancement: major update of WebUI (design+features)
  * Adjust: change default loglevel to "info"
  * Enhancement: support "expand-property" on REPORT request
  * Drop: support for Python 3.7 (EOSL, can't be tested anymore)
  * Fix: allow quoted-printable encoding for vObjects</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1717761600">- Filtered out false positive rpmlint error message
- Update to 3.2.1
  * Enhancement: add option for logging bad PUT request content
  * Enhancement: extend logging with step where bad PUT request failed
  * Fix: support for recurrence "full day"
  * Fix: list of web_files related to HTML pages
  * Test: update/adjustments for workflows (pytest&gt;=7, typeguard&lt;4.3)</changelog>
</package>
<package pkgid="2279ccab77795377dd1170fc02de40a24365830abd5483cb93e56a31fc5b1d07f84475aa2d26534106e73ef7dabddd78ca6064a6db7ffd44d128f1ee85e475ff" name="Radicale" arch="src">
  <version epoch="0" ver="3.2.1" rel="1.1"/>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1624104000">- Fix error message "Address family for hostname not supported" (EAFNOSUPPORT)
  when trying to bind to a non-loopback address during startup</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1629633600">- Migrate legacy user creation to sysusers.d(5)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1629633601">- Add firewalld service description for Radicale
  Based on the previous work of Martin Haas &lt;sandrick@seznam.cz&gt;</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1632830400">- system-user-radicale.conf: remove leading spaces, SLE15 does
  not like them [bsc#1190203]</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1640606400">- Update to 3.1.0
  * Single &lt;D:propstat&gt; element in PROPPATCH response
  * Allow multiple &lt;D:set&gt; and &lt;D:remove&gt; elements
  * Improve log messages
  * Fix date filter
  * Improve sanitization of collection properties
  * Cancel mkcalendar request on error
  * Use renameat2 on Linux for atomic overwriting of collections
  * Command Line Parser
  * Disallow abbreviated arguments
  * Support backend specific options and HTTP headers
  * Optional argument for boolean options
  * Load no config file for --config without argument
  * Allow float for server-&gt;timeout setting
  * Fix is-not-defined filter in addressbook-query report
  * Add python type hints
  * Add multifilesystem_nolock storage
  * Add support for Python 3.9 and 3.10
  * Drop support for Python 3.5
  * Fix compatibility with Evolution (Exceptions from recurrence rules)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1641211200">- Fix download URL
  * This release contains a "v" in front of the version number
    in the URL</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1642593600">- Minimum Python version changed from 3.6.0 to 3.6 to be able to
  compile it on Leap 15.3 and 15.2
- Update to 3.1.1
  * Workaround for contact photo bug in InfCloud
  * Redirect GET and HEAD requests under /.web to sanitized path
  * Set Content-Length header for HEAD requests
  * Never send body for HEAD requests
  * Improve error messages for from_file rights backend
  * Don't sanitize WSGI script name</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1642852800">- Update to 3.1.2
  * Verify that base prefix starts with '/' but doesn't end with '/'
  * Improve base prefix log message
  * Never send body for HEAD requests (again)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1643198400">- Update to 3.1.3
  * Redirect '…/.well-known/caldav' and '…/.well-known/carddav' to base prefix
  * Warning instead of error when base prefix ends with '/'</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1643716800">- Update to 3.1.4
  * Fallback if RENAME_EXCHANGE is not supportd by the filesystem
  * Assume POSIX compatibility if sys.platform is not win32</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1644321600">- Update to 3.1.5
  * Ignore configuration file if access is denied
  * Use F_FULLFSYNC with PyPy on MacOS
  * Fallback if F_FULLFSYNC is not supported by the filesystem</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1650369600">- Update to 3.1.6:
  * Ignore 'Not a directory' error for optional config paths
  * Fix upload of whole address book/calendar with UIDs that collide on
    case-insensitive filesystem</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1650888000">- Update to 3.1.7
  * Fix random href fallback</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1655121600">- Trim filler wording from descriptions.</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1655899200">- Add python passlib as a recommendation as it is needed for
  htpasswd authentication</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1657800000">- Update to 3.1.8
  * Fix setuptools requirement if installing wheel
  * Tests: Switch from python setup.py test to tox
  * Small changes to build system configuration and tests</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1673784000">- Security fortifications (provided by systemd)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1710763200">- Update to 3.1.9
  * Add: support for Python 3.11 + 3.12
  * Drop: support for Python 3.6
  * Fix: MOVE in case listen on non-standard ports or behind reverse proxy
  * Fix: stricter requirements of Python 3.11
  * Fix: HTML pages
  * Fix: Main Component is missing when only recurrence id exists
  * Fix: passlib don't support bcrypt&gt;=4.1
  * Fix: web login now proper encodes passwords containing %XX (hexdigits)
  * Enhancement: user-selectable log formats
  * Enhancement: autodetect logging to systemd journal
  * Enhancement: test code
  * Enhancement: option for global permit to delete collection
  * Enhancement: auth type 'htpasswd' supports now 'htpasswd_encryption' sha256/sha512 and "autodetect" for smooth transition
  * Improve: Dockerfiles
  * Improve: server socket listen code + address format in log
  * Update: documentations + examples
  * Dependency: limit typegard version &lt; 3
  * General: code cosmetics</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1714910400">- Update to 3.2.0
  * Enhancement: add hook support for event changes+deletion hooks (initial support: "rabbitmq")
  * Dependency: pika &gt;= 1.1.0
  * Enhancement: add support for webcal subscriptions
  * Enhancement: major update of WebUI (design+features)
  * Adjust: change default loglevel to "info"
  * Enhancement: support "expand-property" on REPORT request
  * Drop: support for Python 3.7 (EOSL, can't be tested anymore)
  * Fix: allow quoted-printable encoding for vObjects</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1717761600">- Filtered out false positive rpmlint error message
- Update to 3.2.1
  * Enhancement: add option for logging bad PUT request content
  * Enhancement: extend logging with step where bad PUT request failed
  * Fix: support for recurrence "full day"
  * Fix: list of web_files related to HTML pages
  * Test: update/adjustments for workflows (pytest&gt;=7, typeguard&lt;4.3)</changelog>
</package>
<package pkgid="317416cabd349b614002aa26cb6410b05d502475535606057396e952e934ecf32254979ee8a2cb225bf5e9550a0db3468ae5a60dc56360528097de5ecdacfee1" name="Radicale" arch="noarch">
  <version epoch="0" ver="3.2.2" rel="1.1"/>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1629633600">- Migrate legacy user creation to sysusers.d(5)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1629633601">- Add firewalld service description for Radicale
  Based on the previous work of Martin Haas &lt;sandrick@seznam.cz&gt;</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1632830400">- system-user-radicale.conf: remove leading spaces, SLE15 does
  not like them [bsc#1190203]</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1640606400">- Update to 3.1.0
  * Single &lt;D:propstat&gt; element in PROPPATCH response
  * Allow multiple &lt;D:set&gt; and &lt;D:remove&gt; elements
  * Improve log messages
  * Fix date filter
  * Improve sanitization of collection properties
  * Cancel mkcalendar request on error
  * Use renameat2 on Linux for atomic overwriting of collections
  * Command Line Parser
  * Disallow abbreviated arguments
  * Support backend specific options and HTTP headers
  * Optional argument for boolean options
  * Load no config file for --config without argument
  * Allow float for server-&gt;timeout setting
  * Fix is-not-defined filter in addressbook-query report
  * Add python type hints
  * Add multifilesystem_nolock storage
  * Add support for Python 3.9 and 3.10
  * Drop support for Python 3.5
  * Fix compatibility with Evolution (Exceptions from recurrence rules)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1641211200">- Fix download URL
  * This release contains a "v" in front of the version number
    in the URL</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1642593600">- Minimum Python version changed from 3.6.0 to 3.6 to be able to
  compile it on Leap 15.3 and 15.2
- Update to 3.1.1
  * Workaround for contact photo bug in InfCloud
  * Redirect GET and HEAD requests under /.web to sanitized path
  * Set Content-Length header for HEAD requests
  * Never send body for HEAD requests
  * Improve error messages for from_file rights backend
  * Don't sanitize WSGI script name</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1642852800">- Update to 3.1.2
  * Verify that base prefix starts with '/' but doesn't end with '/'
  * Improve base prefix log message
  * Never send body for HEAD requests (again)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1643198400">- Update to 3.1.3
  * Redirect '…/.well-known/caldav' and '…/.well-known/carddav' to base prefix
  * Warning instead of error when base prefix ends with '/'</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1643716800">- Update to 3.1.4
  * Fallback if RENAME_EXCHANGE is not supportd by the filesystem
  * Assume POSIX compatibility if sys.platform is not win32</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1644321600">- Update to 3.1.5
  * Ignore configuration file if access is denied
  * Use F_FULLFSYNC with PyPy on MacOS
  * Fallback if F_FULLFSYNC is not supported by the filesystem</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1650369600">- Update to 3.1.6:
  * Ignore 'Not a directory' error for optional config paths
  * Fix upload of whole address book/calendar with UIDs that collide on
    case-insensitive filesystem</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1650888000">- Update to 3.1.7
  * Fix random href fallback</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1655121600">- Trim filler wording from descriptions.</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1655899200">- Add python passlib as a recommendation as it is needed for
  htpasswd authentication</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1657800000">- Update to 3.1.8
  * Fix setuptools requirement if installing wheel
  * Tests: Switch from python setup.py test to tox
  * Small changes to build system configuration and tests</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1673784000">- Security fortifications (provided by systemd)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1710763200">- Update to 3.1.9
  * Add: support for Python 3.11 + 3.12
  * Drop: support for Python 3.6
  * Fix: MOVE in case listen on non-standard ports or behind reverse proxy
  * Fix: stricter requirements of Python 3.11
  * Fix: HTML pages
  * Fix: Main Component is missing when only recurrence id exists
  * Fix: passlib don't support bcrypt&gt;=4.1
  * Fix: web login now proper encodes passwords containing %XX (hexdigits)
  * Enhancement: user-selectable log formats
  * Enhancement: autodetect logging to systemd journal
  * Enhancement: test code
  * Enhancement: option for global permit to delete collection
  * Enhancement: auth type 'htpasswd' supports now 'htpasswd_encryption' sha256/sha512 and "autodetect" for smooth transition
  * Improve: Dockerfiles
  * Improve: server socket listen code + address format in log
  * Update: documentations + examples
  * Dependency: limit typegard version &lt; 3
  * General: code cosmetics</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1714910400">- Update to 3.2.0
  * Enhancement: add hook support for event changes+deletion hooks (initial support: "rabbitmq")
  * Dependency: pika &gt;= 1.1.0
  * Enhancement: add support for webcal subscriptions
  * Enhancement: major update of WebUI (design+features)
  * Adjust: change default loglevel to "info"
  * Enhancement: support "expand-property" on REPORT request
  * Drop: support for Python 3.7 (EOSL, can't be tested anymore)
  * Fix: allow quoted-printable encoding for vObjects</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1717761600">- Filtered out false positive rpmlint error message
- Update to 3.2.1
  * Enhancement: add option for logging bad PUT request content
  * Enhancement: extend logging with step where bad PUT request failed
  * Fix: support for recurrence "full day"
  * Fix: list of web_files related to HTML pages
  * Test: update/adjustments for workflows (pytest&gt;=7, typeguard&lt;4.3)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1718712000">- Update to 3.2.2
  * Enhancement: add support for auth.type=denyall (will be default for security reasons in upcoming releases)
  * Enhancement: display warning in case only default config is active
  * Enhancement: display warning in case no user authentication is active
  * Enhancement: add option to skip broken item to avoid triggering exception (default: enabled)
  * Enhancement: add support for predefined collections for new users
  * Enhancement: add options to enable several parts in debug log like backtrace, request_header, request_content, response_content (default: disabled)
  * Enhancement: rights/from_file: display resulting permission of a match in debug log
  * Enhancement: add Apache config file example (see contrib directory)
  * Fix: "verify-collection" skips non-collection directories, logging improved</changelog>
</package>
<package pkgid="7863f477fbe84e1a812c28e4471332e1af6e73a4c935530b0f7199d1423d7e904d5047f2317857f51607b238faffc27801b325e9feaa7a2570f44348fe9b8151" name="Radicale" arch="src">
  <version epoch="0" ver="3.2.2" rel="1.1"/>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1629633600">- Migrate legacy user creation to sysusers.d(5)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1629633601">- Add firewalld service description for Radicale
  Based on the previous work of Martin Haas &lt;sandrick@seznam.cz&gt;</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1632830400">- system-user-radicale.conf: remove leading spaces, SLE15 does
  not like them [bsc#1190203]</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1640606400">- Update to 3.1.0
  * Single &lt;D:propstat&gt; element in PROPPATCH response
  * Allow multiple &lt;D:set&gt; and &lt;D:remove&gt; elements
  * Improve log messages
  * Fix date filter
  * Improve sanitization of collection properties
  * Cancel mkcalendar request on error
  * Use renameat2 on Linux for atomic overwriting of collections
  * Command Line Parser
  * Disallow abbreviated arguments
  * Support backend specific options and HTTP headers
  * Optional argument for boolean options
  * Load no config file for --config without argument
  * Allow float for server-&gt;timeout setting
  * Fix is-not-defined filter in addressbook-query report
  * Add python type hints
  * Add multifilesystem_nolock storage
  * Add support for Python 3.9 and 3.10
  * Drop support for Python 3.5
  * Fix compatibility with Evolution (Exceptions from recurrence rules)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1641211200">- Fix download URL
  * This release contains a "v" in front of the version number
    in the URL</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1642593600">- Minimum Python version changed from 3.6.0 to 3.6 to be able to
  compile it on Leap 15.3 and 15.2
- Update to 3.1.1
  * Workaround for contact photo bug in InfCloud
  * Redirect GET and HEAD requests under /.web to sanitized path
  * Set Content-Length header for HEAD requests
  * Never send body for HEAD requests
  * Improve error messages for from_file rights backend
  * Don't sanitize WSGI script name</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1642852800">- Update to 3.1.2
  * Verify that base prefix starts with '/' but doesn't end with '/'
  * Improve base prefix log message
  * Never send body for HEAD requests (again)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1643198400">- Update to 3.1.3
  * Redirect '…/.well-known/caldav' and '…/.well-known/carddav' to base prefix
  * Warning instead of error when base prefix ends with '/'</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1643716800">- Update to 3.1.4
  * Fallback if RENAME_EXCHANGE is not supportd by the filesystem
  * Assume POSIX compatibility if sys.platform is not win32</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1644321600">- Update to 3.1.5
  * Ignore configuration file if access is denied
  * Use F_FULLFSYNC with PyPy on MacOS
  * Fallback if F_FULLFSYNC is not supported by the filesystem</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1650369600">- Update to 3.1.6:
  * Ignore 'Not a directory' error for optional config paths
  * Fix upload of whole address book/calendar with UIDs that collide on
    case-insensitive filesystem</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1650888000">- Update to 3.1.7
  * Fix random href fallback</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1655121600">- Trim filler wording from descriptions.</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1655899200">- Add python passlib as a recommendation as it is needed for
  htpasswd authentication</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1657800000">- Update to 3.1.8
  * Fix setuptools requirement if installing wheel
  * Tests: Switch from python setup.py test to tox
  * Small changes to build system configuration and tests</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1673784000">- Security fortifications (provided by systemd)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1710763200">- Update to 3.1.9
  * Add: support for Python 3.11 + 3.12
  * Drop: support for Python 3.6
  * Fix: MOVE in case listen on non-standard ports or behind reverse proxy
  * Fix: stricter requirements of Python 3.11
  * Fix: HTML pages
  * Fix: Main Component is missing when only recurrence id exists
  * Fix: passlib don't support bcrypt&gt;=4.1
  * Fix: web login now proper encodes passwords containing %XX (hexdigits)
  * Enhancement: user-selectable log formats
  * Enhancement: autodetect logging to systemd journal
  * Enhancement: test code
  * Enhancement: option for global permit to delete collection
  * Enhancement: auth type 'htpasswd' supports now 'htpasswd_encryption' sha256/sha512 and "autodetect" for smooth transition
  * Improve: Dockerfiles
  * Improve: server socket listen code + address format in log
  * Update: documentations + examples
  * Dependency: limit typegard version &lt; 3
  * General: code cosmetics</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1714910400">- Update to 3.2.0
  * Enhancement: add hook support for event changes+deletion hooks (initial support: "rabbitmq")
  * Dependency: pika &gt;= 1.1.0
  * Enhancement: add support for webcal subscriptions
  * Enhancement: major update of WebUI (design+features)
  * Adjust: change default loglevel to "info"
  * Enhancement: support "expand-property" on REPORT request
  * Drop: support for Python 3.7 (EOSL, can't be tested anymore)
  * Fix: allow quoted-printable encoding for vObjects</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1717761600">- Filtered out false positive rpmlint error message
- Update to 3.2.1
  * Enhancement: add option for logging bad PUT request content
  * Enhancement: extend logging with step where bad PUT request failed
  * Fix: support for recurrence "full day"
  * Fix: list of web_files related to HTML pages
  * Test: update/adjustments for workflows (pytest&gt;=7, typeguard&lt;4.3)</changelog>
  <changelog author="&#xC1;kos Sz&#x151;ts &lt;szotsaki@gmail.com&gt;" date="1718712000">- Update to 3.2.2
  * Enhancement: add support for auth.type=denyall (will be default for security reasons in upcoming releases)
  * Enhancement: display warning in case only default config is active
  * Enhancement: display warning in case no user authentication is active
  * Enhancement: add option to skip broken item to avoid triggering exception (default: enabled)
  * Enhancement: add support for predefined collections for new users
  * Enhancement: add options to enable several parts in debug log like backtrace, request_header, request_content, response_content (default: disabled)
  * Enhancement: rights/from_file: display resulting permission of a match in debug log
  * Enhancement: add Apache config file example (see contrib directory)
  * Fix: "verify-collection" skips non-collection directories, logging improved</changelog>
</package>
<package pkgid="318d26ff66ac14d78b6a912e625cc86bffa259bf1ba6a241225d50a79ee2ac0b6df02e77fde1ec530b028bd0ad87f707ada715db255b7651ce9ecf73331951b3" name="SDL2" arch="src">
  <version epoch="0" ver="2.30.4" rel="1.1"/>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1667476800">- Add CVE-2022-4743.patch: fix potential memory leak in
  GLES_CreateTexture (boo#1206727 CVE-2022-4743).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669118400">- Update to release 2.26
  * Added SDL_GetWindowSizeInPixels() to get the window size in
    pixels, which may differ from the window coordinate size for
    windows with high-DPI support.
  * Added simulated vsync synchronization for the software
    renderer.
  * Added the mouse position to SDL_MouseWheelEvent.
  * Added SDL_ResetHints() to reset all hints to their default
    values.
  * Added SDL_GetJoystickGUIDInfo() to get device information
    encoded in a joystick GUID.
  * Added XBOX Hints.
  * Added support for PS3 and Wii controllers to the HIDAPI
    driver (not enabled by default).
  * Added access to the individual left and right gyro sensors of
    the combined Joy-Cons controller.
  * Added a microsecond timestamp to SDL_SensorEvent and
    SDL_ControllerSensorEvent, when the hardware provides that
    information.
- Delete sdl2-khronos.patch (merged)
- Drop CVE-2022-4743.patch.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669896000">- Update to release 2.26.1
  * Improved audio resampling quality
  * Fixed crash if SDL_GetPointDisplayIndex() or
    SDL_GetRectDisplayIndex() are called before SDL_VideoInit()</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1672747200">- Update to release 2.26.2
  * Fixed long delay at startup when a Razer keyboard is
    connected
  * Fixed not receiving SDLK_5 or SDL_SCANCODE_5 when using the
    AZERTY keyboard layout on Linux
- Enable libsamplerate and libdecor components
- Remove unused tslib build requirement</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1675771200">- Update to release 2.26.3
  * Fixed infinite loop shutting down WGI controllers
  * Fixed centering the D-pad on some Xbox controllers</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1677844800">- Use current keymap on console
  (https://github.com/libsdl-org/SDL/pull/7400 )
  + 0001-Cleanup-add-brace-6545.patch
  + 0002-Update-for-SDL3-coding-style-6717.patch
  + 0003-Clang-Tidy-fixes-6725.patch
  + 0004-evdev_kbd-Use-current-keymap.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1678190400">- Update to release 2.26.4
  * Fixed using older game controller mappings on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1681214400">- Update to release 2.26.5
  * Fixed handling of third party PS4 controller input reports
  * Added support for the trigger buttons on the Victrix Pro FS
    for PS5
  * Added mapping for Flydigi Vader 2 with the latest firmware
    (6.0.4.9)
  * Added mapping for DualSense Edge Wireless Controller on Linux
  * Added mapping for Hori Pokken Tournament DX Pro Pad
  * Improved the speed and quality of audio resampling
  * Fixed crash on Linux if dbus can't be initialized</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1687348800">- Update to release 2.28
  * Added SDL_HasWindowSurface() and SDL_DestroyWindowSurface() to
    switch between the window surface and rendering APIs.
  * Added a display event SDL_DISPLAYEVENT_MOVED which is sent
    when the primary monitor changes or displays change position
    relative to each other.
  * Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control
    whether the on-screen keyboard should be shown when text input
    is active.
- Delete 0001-Cleanup-add-brace-6545.patch,
  0002-Update-for-SDL3-coding-style-6717.patch,
  0003-Clang-Tidy-fixes-6725.patch (inapplicable),
  0004-evdev_kbd-Use-current-keymap.patch (merged).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1688212800">- Update to release 2.28.1
  * Added support for the Nintendo Online Famicom controllers
  * Improved support for third-party Nintendo Switch controllers
  * Fixed setting the player LED on Nintendo Switch controllers
  * Added Linux controller mapping for the Logitech Chillstream</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1690977600">- Update to release 2.28.2
  * Fixed 8BitDo gamepad mapping when in XInput mode on Linux
  * Fixed controller lockup initializing some unofficial PS4
    replica controllers
  * Fixed video initialization on headless Linux systems using VNC</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1693569600">- Update to release 2.28.3
  * Added a gamepad mapping for the G-Shark GS-GP702
  * Fixed touchpad events for the Razer Wolverine V2 Pro in PS5 mode</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696248000">- Update to release 2.28.4
  * Enable clipping for zero sized rectangles in the SDL renderer
  * Notify X11 clipboard managers when the clipboard changes
  * Fixed sensor timestamps for third-party PS5 controllers
  * Added detection for Logitech and Simagic racing wheels</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696680000">- Enable direct PipeWire support</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1698926400">- Update to release 2.28.5
  * Added support for the HP HyperX Clutch Gladiate controller
  * Fixed a crash if a controller is disconnected while SDL is
    opening it
  * Fixed a crash on Linux if XInput2 isn't available at runtime</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706875200">- Update to release 2.30
  * Added support for 2 bits-per-pixel indexed surface formats.
  * Added the function SDL_GameControllerGetSteamHandle() to get
    the Steam API handle for a controller, if available.
  * Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent
    when the Steam API handle for a controller changes. This could
    also change the name, VID, and PID of the controller.
  * Added the environment variable SDL_LOGGING to control default
    log output.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1709726400">- Update to release 2.30.1
  * Fixed a regression causing SDL_WaitEvent() to return spurious
    failures
  * Wayland windows automatically have OpenGL enabled again
  * Fixed memory corruption when converting signed 16-bit audio
    to float
  * Fixed audio artifacts when converting signed 8-bit audio to
    float
  * Fixed the clip rectangle not being updated when the viewport
    changes in the SDL renderer</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1712059200">- Update to release 2.30.2
  * Fixed performance regression initialing controllers on Linux
  * Added support for the 6-button SEGA Mega Drive Control Pad
    for Nintendo Online
  * Add support for MadCatz Saitek Side Panel Control Deck
  * Added support for the Hori Fighting Stick EX2
  * Added support for the Yawman Arrow flightstick
  * Added a gamepad mapping for the Defender Joystick Cobra R4
  * Fixed the gamepad mapping for the Sanwa Supply JY-P76USV
    controller
  * Allow using SDL_RWFromFile() with named pipes</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1714564800">- Update to release 2.30.3
  * Fixed a pointer warping issue on XWayland
  * Reduced startup time when scanning for game controllers on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Update to release 2.30.4
  * Added support for the Saitek Cyborg V.3 Rumble Pad in PS3 mode
  * Added support for the Razer Kitsune in PS5 mode
  * Added Linux bindings for the Qanba Drone 2 Arcade Joystick
  * Leave Nintendo Online controllers in simple report mode so
    they work with DirectInput games
  * Enable using libusb for GameCube controllers when available</changelog>
</package>
<package pkgid="e8b9cf48fc77400e0d248414f083c24330e010e4bf5fa6334d5ccd386875dd9a6f85032f2f8aa42dec1d18115207aa489eb9527c1d54197ba525c337135aea7f" name="SDL2-debugsource" arch="i586">
  <version epoch="0" ver="2.30.4" rel="1.1"/>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1667476800">- Add CVE-2022-4743.patch: fix potential memory leak in
  GLES_CreateTexture (boo#1206727 CVE-2022-4743).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669118400">- Update to release 2.26
  * Added SDL_GetWindowSizeInPixels() to get the window size in
    pixels, which may differ from the window coordinate size for
    windows with high-DPI support.
  * Added simulated vsync synchronization for the software
    renderer.
  * Added the mouse position to SDL_MouseWheelEvent.
  * Added SDL_ResetHints() to reset all hints to their default
    values.
  * Added SDL_GetJoystickGUIDInfo() to get device information
    encoded in a joystick GUID.
  * Added XBOX Hints.
  * Added support for PS3 and Wii controllers to the HIDAPI
    driver (not enabled by default).
  * Added access to the individual left and right gyro sensors of
    the combined Joy-Cons controller.
  * Added a microsecond timestamp to SDL_SensorEvent and
    SDL_ControllerSensorEvent, when the hardware provides that
    information.
- Delete sdl2-khronos.patch (merged)
- Drop CVE-2022-4743.patch.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669896000">- Update to release 2.26.1
  * Improved audio resampling quality
  * Fixed crash if SDL_GetPointDisplayIndex() or
    SDL_GetRectDisplayIndex() are called before SDL_VideoInit()</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1672747200">- Update to release 2.26.2
  * Fixed long delay at startup when a Razer keyboard is
    connected
  * Fixed not receiving SDLK_5 or SDL_SCANCODE_5 when using the
    AZERTY keyboard layout on Linux
- Enable libsamplerate and libdecor components
- Remove unused tslib build requirement</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1675771200">- Update to release 2.26.3
  * Fixed infinite loop shutting down WGI controllers
  * Fixed centering the D-pad on some Xbox controllers</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1677844800">- Use current keymap on console
  (https://github.com/libsdl-org/SDL/pull/7400 )
  + 0001-Cleanup-add-brace-6545.patch
  + 0002-Update-for-SDL3-coding-style-6717.patch
  + 0003-Clang-Tidy-fixes-6725.patch
  + 0004-evdev_kbd-Use-current-keymap.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1678190400">- Update to release 2.26.4
  * Fixed using older game controller mappings on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1681214400">- Update to release 2.26.5
  * Fixed handling of third party PS4 controller input reports
  * Added support for the trigger buttons on the Victrix Pro FS
    for PS5
  * Added mapping for Flydigi Vader 2 with the latest firmware
    (6.0.4.9)
  * Added mapping for DualSense Edge Wireless Controller on Linux
  * Added mapping for Hori Pokken Tournament DX Pro Pad
  * Improved the speed and quality of audio resampling
  * Fixed crash on Linux if dbus can't be initialized</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1687348800">- Update to release 2.28
  * Added SDL_HasWindowSurface() and SDL_DestroyWindowSurface() to
    switch between the window surface and rendering APIs.
  * Added a display event SDL_DISPLAYEVENT_MOVED which is sent
    when the primary monitor changes or displays change position
    relative to each other.
  * Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control
    whether the on-screen keyboard should be shown when text input
    is active.
- Delete 0001-Cleanup-add-brace-6545.patch,
  0002-Update-for-SDL3-coding-style-6717.patch,
  0003-Clang-Tidy-fixes-6725.patch (inapplicable),
  0004-evdev_kbd-Use-current-keymap.patch (merged).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1688212800">- Update to release 2.28.1
  * Added support for the Nintendo Online Famicom controllers
  * Improved support for third-party Nintendo Switch controllers
  * Fixed setting the player LED on Nintendo Switch controllers
  * Added Linux controller mapping for the Logitech Chillstream</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1690977600">- Update to release 2.28.2
  * Fixed 8BitDo gamepad mapping when in XInput mode on Linux
  * Fixed controller lockup initializing some unofficial PS4
    replica controllers
  * Fixed video initialization on headless Linux systems using VNC</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1693569600">- Update to release 2.28.3
  * Added a gamepad mapping for the G-Shark GS-GP702
  * Fixed touchpad events for the Razer Wolverine V2 Pro in PS5 mode</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696248000">- Update to release 2.28.4
  * Enable clipping for zero sized rectangles in the SDL renderer
  * Notify X11 clipboard managers when the clipboard changes
  * Fixed sensor timestamps for third-party PS5 controllers
  * Added detection for Logitech and Simagic racing wheels</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696680000">- Enable direct PipeWire support</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1698926400">- Update to release 2.28.5
  * Added support for the HP HyperX Clutch Gladiate controller
  * Fixed a crash if a controller is disconnected while SDL is
    opening it
  * Fixed a crash on Linux if XInput2 isn't available at runtime</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706875200">- Update to release 2.30
  * Added support for 2 bits-per-pixel indexed surface formats.
  * Added the function SDL_GameControllerGetSteamHandle() to get
    the Steam API handle for a controller, if available.
  * Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent
    when the Steam API handle for a controller changes. This could
    also change the name, VID, and PID of the controller.
  * Added the environment variable SDL_LOGGING to control default
    log output.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1709726400">- Update to release 2.30.1
  * Fixed a regression causing SDL_WaitEvent() to return spurious
    failures
  * Wayland windows automatically have OpenGL enabled again
  * Fixed memory corruption when converting signed 16-bit audio
    to float
  * Fixed audio artifacts when converting signed 8-bit audio to
    float
  * Fixed the clip rectangle not being updated when the viewport
    changes in the SDL renderer</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1712059200">- Update to release 2.30.2
  * Fixed performance regression initialing controllers on Linux
  * Added support for the 6-button SEGA Mega Drive Control Pad
    for Nintendo Online
  * Add support for MadCatz Saitek Side Panel Control Deck
  * Added support for the Hori Fighting Stick EX2
  * Added support for the Yawman Arrow flightstick
  * Added a gamepad mapping for the Defender Joystick Cobra R4
  * Fixed the gamepad mapping for the Sanwa Supply JY-P76USV
    controller
  * Allow using SDL_RWFromFile() with named pipes</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1714564800">- Update to release 2.30.3
  * Fixed a pointer warping issue on XWayland
  * Reduced startup time when scanning for game controllers on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Update to release 2.30.4
  * Added support for the Saitek Cyborg V.3 Rumble Pad in PS3 mode
  * Added support for the Razer Kitsune in PS5 mode
  * Added Linux bindings for the Qanba Drone 2 Arcade Joystick
  * Leave Nintendo Online controllers in simple report mode so
    they work with DirectInput games
  * Enable using libusb for GameCube controllers when available</changelog>
</package>
<package pkgid="798300180c8af5b195f7e2a1c87ac0c3528d84bb8ff92864872abb91d39551e34f01e69c673cc9661b25582f45e0b96544e81ea956ad7ab4b956240428c1ca9e" name="SDL2-debugsource" arch="x86_64">
  <version epoch="0" ver="2.30.4" rel="1.1"/>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1667476800">- Add CVE-2022-4743.patch: fix potential memory leak in
  GLES_CreateTexture (boo#1206727 CVE-2022-4743).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669118400">- Update to release 2.26
  * Added SDL_GetWindowSizeInPixels() to get the window size in
    pixels, which may differ from the window coordinate size for
    windows with high-DPI support.
  * Added simulated vsync synchronization for the software
    renderer.
  * Added the mouse position to SDL_MouseWheelEvent.
  * Added SDL_ResetHints() to reset all hints to their default
    values.
  * Added SDL_GetJoystickGUIDInfo() to get device information
    encoded in a joystick GUID.
  * Added XBOX Hints.
  * Added support for PS3 and Wii controllers to the HIDAPI
    driver (not enabled by default).
  * Added access to the individual left and right gyro sensors of
    the combined Joy-Cons controller.
  * Added a microsecond timestamp to SDL_SensorEvent and
    SDL_ControllerSensorEvent, when the hardware provides that
    information.
- Delete sdl2-khronos.patch (merged)
- Drop CVE-2022-4743.patch.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669896000">- Update to release 2.26.1
  * Improved audio resampling quality
  * Fixed crash if SDL_GetPointDisplayIndex() or
    SDL_GetRectDisplayIndex() are called before SDL_VideoInit()</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1672747200">- Update to release 2.26.2
  * Fixed long delay at startup when a Razer keyboard is
    connected
  * Fixed not receiving SDLK_5 or SDL_SCANCODE_5 when using the
    AZERTY keyboard layout on Linux
- Enable libsamplerate and libdecor components
- Remove unused tslib build requirement</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1675771200">- Update to release 2.26.3
  * Fixed infinite loop shutting down WGI controllers
  * Fixed centering the D-pad on some Xbox controllers</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1677844800">- Use current keymap on console
  (https://github.com/libsdl-org/SDL/pull/7400 )
  + 0001-Cleanup-add-brace-6545.patch
  + 0002-Update-for-SDL3-coding-style-6717.patch
  + 0003-Clang-Tidy-fixes-6725.patch
  + 0004-evdev_kbd-Use-current-keymap.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1678190400">- Update to release 2.26.4
  * Fixed using older game controller mappings on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1681214400">- Update to release 2.26.5
  * Fixed handling of third party PS4 controller input reports
  * Added support for the trigger buttons on the Victrix Pro FS
    for PS5
  * Added mapping for Flydigi Vader 2 with the latest firmware
    (6.0.4.9)
  * Added mapping for DualSense Edge Wireless Controller on Linux
  * Added mapping for Hori Pokken Tournament DX Pro Pad
  * Improved the speed and quality of audio resampling
  * Fixed crash on Linux if dbus can't be initialized</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1687348800">- Update to release 2.28
  * Added SDL_HasWindowSurface() and SDL_DestroyWindowSurface() to
    switch between the window surface and rendering APIs.
  * Added a display event SDL_DISPLAYEVENT_MOVED which is sent
    when the primary monitor changes or displays change position
    relative to each other.
  * Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control
    whether the on-screen keyboard should be shown when text input
    is active.
- Delete 0001-Cleanup-add-brace-6545.patch,
  0002-Update-for-SDL3-coding-style-6717.patch,
  0003-Clang-Tidy-fixes-6725.patch (inapplicable),
  0004-evdev_kbd-Use-current-keymap.patch (merged).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1688212800">- Update to release 2.28.1
  * Added support for the Nintendo Online Famicom controllers
  * Improved support for third-party Nintendo Switch controllers
  * Fixed setting the player LED on Nintendo Switch controllers
  * Added Linux controller mapping for the Logitech Chillstream</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1690977600">- Update to release 2.28.2
  * Fixed 8BitDo gamepad mapping when in XInput mode on Linux
  * Fixed controller lockup initializing some unofficial PS4
    replica controllers
  * Fixed video initialization on headless Linux systems using VNC</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1693569600">- Update to release 2.28.3
  * Added a gamepad mapping for the G-Shark GS-GP702
  * Fixed touchpad events for the Razer Wolverine V2 Pro in PS5 mode</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696248000">- Update to release 2.28.4
  * Enable clipping for zero sized rectangles in the SDL renderer
  * Notify X11 clipboard managers when the clipboard changes
  * Fixed sensor timestamps for third-party PS5 controllers
  * Added detection for Logitech and Simagic racing wheels</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696680000">- Enable direct PipeWire support</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1698926400">- Update to release 2.28.5
  * Added support for the HP HyperX Clutch Gladiate controller
  * Fixed a crash if a controller is disconnected while SDL is
    opening it
  * Fixed a crash on Linux if XInput2 isn't available at runtime</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706875200">- Update to release 2.30
  * Added support for 2 bits-per-pixel indexed surface formats.
  * Added the function SDL_GameControllerGetSteamHandle() to get
    the Steam API handle for a controller, if available.
  * Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent
    when the Steam API handle for a controller changes. This could
    also change the name, VID, and PID of the controller.
  * Added the environment variable SDL_LOGGING to control default
    log output.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1709726400">- Update to release 2.30.1
  * Fixed a regression causing SDL_WaitEvent() to return spurious
    failures
  * Wayland windows automatically have OpenGL enabled again
  * Fixed memory corruption when converting signed 16-bit audio
    to float
  * Fixed audio artifacts when converting signed 8-bit audio to
    float
  * Fixed the clip rectangle not being updated when the viewport
    changes in the SDL renderer</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1712059200">- Update to release 2.30.2
  * Fixed performance regression initialing controllers on Linux
  * Added support for the 6-button SEGA Mega Drive Control Pad
    for Nintendo Online
  * Add support for MadCatz Saitek Side Panel Control Deck
  * Added support for the Hori Fighting Stick EX2
  * Added support for the Yawman Arrow flightstick
  * Added a gamepad mapping for the Defender Joystick Cobra R4
  * Fixed the gamepad mapping for the Sanwa Supply JY-P76USV
    controller
  * Allow using SDL_RWFromFile() with named pipes</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1714564800">- Update to release 2.30.3
  * Fixed a pointer warping issue on XWayland
  * Reduced startup time when scanning for game controllers on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Update to release 2.30.4
  * Added support for the Saitek Cyborg V.3 Rumble Pad in PS3 mode
  * Added support for the Razer Kitsune in PS5 mode
  * Added Linux bindings for the Qanba Drone 2 Arcade Joystick
  * Leave Nintendo Online controllers in simple report mode so
    they work with DirectInput games
  * Enable using libusb for GameCube controllers when available</changelog>
</package>
<package pkgid="ce34c90fff037896afdf7f274f6c82b311c5c8d5b6c8190789b40b7b578c4e2744b63b0cc007755b277a328da6424e50662739334fa8b7f348abba614cacc840" name="SDL2-devel" arch="i586">
  <version epoch="0" ver="2.30.4" rel="1.1"/>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1667476800">- Add CVE-2022-4743.patch: fix potential memory leak in
  GLES_CreateTexture (boo#1206727 CVE-2022-4743).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669118400">- Update to release 2.26
  * Added SDL_GetWindowSizeInPixels() to get the window size in
    pixels, which may differ from the window coordinate size for
    windows with high-DPI support.
  * Added simulated vsync synchronization for the software
    renderer.
  * Added the mouse position to SDL_MouseWheelEvent.
  * Added SDL_ResetHints() to reset all hints to their default
    values.
  * Added SDL_GetJoystickGUIDInfo() to get device information
    encoded in a joystick GUID.
  * Added XBOX Hints.
  * Added support for PS3 and Wii controllers to the HIDAPI
    driver (not enabled by default).
  * Added access to the individual left and right gyro sensors of
    the combined Joy-Cons controller.
  * Added a microsecond timestamp to SDL_SensorEvent and
    SDL_ControllerSensorEvent, when the hardware provides that
    information.
- Delete sdl2-khronos.patch (merged)
- Drop CVE-2022-4743.patch.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669896000">- Update to release 2.26.1
  * Improved audio resampling quality
  * Fixed crash if SDL_GetPointDisplayIndex() or
    SDL_GetRectDisplayIndex() are called before SDL_VideoInit()</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1672747200">- Update to release 2.26.2
  * Fixed long delay at startup when a Razer keyboard is
    connected
  * Fixed not receiving SDLK_5 or SDL_SCANCODE_5 when using the
    AZERTY keyboard layout on Linux
- Enable libsamplerate and libdecor components
- Remove unused tslib build requirement</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1675771200">- Update to release 2.26.3
  * Fixed infinite loop shutting down WGI controllers
  * Fixed centering the D-pad on some Xbox controllers</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1677844800">- Use current keymap on console
  (https://github.com/libsdl-org/SDL/pull/7400 )
  + 0001-Cleanup-add-brace-6545.patch
  + 0002-Update-for-SDL3-coding-style-6717.patch
  + 0003-Clang-Tidy-fixes-6725.patch
  + 0004-evdev_kbd-Use-current-keymap.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1678190400">- Update to release 2.26.4
  * Fixed using older game controller mappings on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1681214400">- Update to release 2.26.5
  * Fixed handling of third party PS4 controller input reports
  * Added support for the trigger buttons on the Victrix Pro FS
    for PS5
  * Added mapping for Flydigi Vader 2 with the latest firmware
    (6.0.4.9)
  * Added mapping for DualSense Edge Wireless Controller on Linux
  * Added mapping for Hori Pokken Tournament DX Pro Pad
  * Improved the speed and quality of audio resampling
  * Fixed crash on Linux if dbus can't be initialized</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1687348800">- Update to release 2.28
  * Added SDL_HasWindowSurface() and SDL_DestroyWindowSurface() to
    switch between the window surface and rendering APIs.
  * Added a display event SDL_DISPLAYEVENT_MOVED which is sent
    when the primary monitor changes or displays change position
    relative to each other.
  * Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control
    whether the on-screen keyboard should be shown when text input
    is active.
- Delete 0001-Cleanup-add-brace-6545.patch,
  0002-Update-for-SDL3-coding-style-6717.patch,
  0003-Clang-Tidy-fixes-6725.patch (inapplicable),
  0004-evdev_kbd-Use-current-keymap.patch (merged).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1688212800">- Update to release 2.28.1
  * Added support for the Nintendo Online Famicom controllers
  * Improved support for third-party Nintendo Switch controllers
  * Fixed setting the player LED on Nintendo Switch controllers
  * Added Linux controller mapping for the Logitech Chillstream</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1690977600">- Update to release 2.28.2
  * Fixed 8BitDo gamepad mapping when in XInput mode on Linux
  * Fixed controller lockup initializing some unofficial PS4
    replica controllers
  * Fixed video initialization on headless Linux systems using VNC</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1693569600">- Update to release 2.28.3
  * Added a gamepad mapping for the G-Shark GS-GP702
  * Fixed touchpad events for the Razer Wolverine V2 Pro in PS5 mode</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696248000">- Update to release 2.28.4
  * Enable clipping for zero sized rectangles in the SDL renderer
  * Notify X11 clipboard managers when the clipboard changes
  * Fixed sensor timestamps for third-party PS5 controllers
  * Added detection for Logitech and Simagic racing wheels</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696680000">- Enable direct PipeWire support</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1698926400">- Update to release 2.28.5
  * Added support for the HP HyperX Clutch Gladiate controller
  * Fixed a crash if a controller is disconnected while SDL is
    opening it
  * Fixed a crash on Linux if XInput2 isn't available at runtime</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706875200">- Update to release 2.30
  * Added support for 2 bits-per-pixel indexed surface formats.
  * Added the function SDL_GameControllerGetSteamHandle() to get
    the Steam API handle for a controller, if available.
  * Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent
    when the Steam API handle for a controller changes. This could
    also change the name, VID, and PID of the controller.
  * Added the environment variable SDL_LOGGING to control default
    log output.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1709726400">- Update to release 2.30.1
  * Fixed a regression causing SDL_WaitEvent() to return spurious
    failures
  * Wayland windows automatically have OpenGL enabled again
  * Fixed memory corruption when converting signed 16-bit audio
    to float
  * Fixed audio artifacts when converting signed 8-bit audio to
    float
  * Fixed the clip rectangle not being updated when the viewport
    changes in the SDL renderer</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1712059200">- Update to release 2.30.2
  * Fixed performance regression initialing controllers on Linux
  * Added support for the 6-button SEGA Mega Drive Control Pad
    for Nintendo Online
  * Add support for MadCatz Saitek Side Panel Control Deck
  * Added support for the Hori Fighting Stick EX2
  * Added support for the Yawman Arrow flightstick
  * Added a gamepad mapping for the Defender Joystick Cobra R4
  * Fixed the gamepad mapping for the Sanwa Supply JY-P76USV
    controller
  * Allow using SDL_RWFromFile() with named pipes</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1714564800">- Update to release 2.30.3
  * Fixed a pointer warping issue on XWayland
  * Reduced startup time when scanning for game controllers on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Update to release 2.30.4
  * Added support for the Saitek Cyborg V.3 Rumble Pad in PS3 mode
  * Added support for the Razer Kitsune in PS5 mode
  * Added Linux bindings for the Qanba Drone 2 Arcade Joystick
  * Leave Nintendo Online controllers in simple report mode so
    they work with DirectInput games
  * Enable using libusb for GameCube controllers when available</changelog>
</package>
<package pkgid="39fec571321e1693821e6e3fe299cf8744371b908fef526360596311b295cd8fc2aeee400ed8a515120d11bc4342fc966724a230388d84afd6a9dd1d9618a730" name="SDL2-devel" arch="x86_64">
  <version epoch="0" ver="2.30.4" rel="1.1"/>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1667476800">- Add CVE-2022-4743.patch: fix potential memory leak in
  GLES_CreateTexture (boo#1206727 CVE-2022-4743).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669118400">- Update to release 2.26
  * Added SDL_GetWindowSizeInPixels() to get the window size in
    pixels, which may differ from the window coordinate size for
    windows with high-DPI support.
  * Added simulated vsync synchronization for the software
    renderer.
  * Added the mouse position to SDL_MouseWheelEvent.
  * Added SDL_ResetHints() to reset all hints to their default
    values.
  * Added SDL_GetJoystickGUIDInfo() to get device information
    encoded in a joystick GUID.
  * Added XBOX Hints.
  * Added support for PS3 and Wii controllers to the HIDAPI
    driver (not enabled by default).
  * Added access to the individual left and right gyro sensors of
    the combined Joy-Cons controller.
  * Added a microsecond timestamp to SDL_SensorEvent and
    SDL_ControllerSensorEvent, when the hardware provides that
    information.
- Delete sdl2-khronos.patch (merged)
- Drop CVE-2022-4743.patch.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669896000">- Update to release 2.26.1
  * Improved audio resampling quality
  * Fixed crash if SDL_GetPointDisplayIndex() or
    SDL_GetRectDisplayIndex() are called before SDL_VideoInit()</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1672747200">- Update to release 2.26.2
  * Fixed long delay at startup when a Razer keyboard is
    connected
  * Fixed not receiving SDLK_5 or SDL_SCANCODE_5 when using the
    AZERTY keyboard layout on Linux
- Enable libsamplerate and libdecor components
- Remove unused tslib build requirement</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1675771200">- Update to release 2.26.3
  * Fixed infinite loop shutting down WGI controllers
  * Fixed centering the D-pad on some Xbox controllers</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1677844800">- Use current keymap on console
  (https://github.com/libsdl-org/SDL/pull/7400 )
  + 0001-Cleanup-add-brace-6545.patch
  + 0002-Update-for-SDL3-coding-style-6717.patch
  + 0003-Clang-Tidy-fixes-6725.patch
  + 0004-evdev_kbd-Use-current-keymap.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1678190400">- Update to release 2.26.4
  * Fixed using older game controller mappings on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1681214400">- Update to release 2.26.5
  * Fixed handling of third party PS4 controller input reports
  * Added support for the trigger buttons on the Victrix Pro FS
    for PS5
  * Added mapping for Flydigi Vader 2 with the latest firmware
    (6.0.4.9)
  * Added mapping for DualSense Edge Wireless Controller on Linux
  * Added mapping for Hori Pokken Tournament DX Pro Pad
  * Improved the speed and quality of audio resampling
  * Fixed crash on Linux if dbus can't be initialized</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1687348800">- Update to release 2.28
  * Added SDL_HasWindowSurface() and SDL_DestroyWindowSurface() to
    switch between the window surface and rendering APIs.
  * Added a display event SDL_DISPLAYEVENT_MOVED which is sent
    when the primary monitor changes or displays change position
    relative to each other.
  * Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control
    whether the on-screen keyboard should be shown when text input
    is active.
- Delete 0001-Cleanup-add-brace-6545.patch,
  0002-Update-for-SDL3-coding-style-6717.patch,
  0003-Clang-Tidy-fixes-6725.patch (inapplicable),
  0004-evdev_kbd-Use-current-keymap.patch (merged).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1688212800">- Update to release 2.28.1
  * Added support for the Nintendo Online Famicom controllers
  * Improved support for third-party Nintendo Switch controllers
  * Fixed setting the player LED on Nintendo Switch controllers
  * Added Linux controller mapping for the Logitech Chillstream</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1690977600">- Update to release 2.28.2
  * Fixed 8BitDo gamepad mapping when in XInput mode on Linux
  * Fixed controller lockup initializing some unofficial PS4
    replica controllers
  * Fixed video initialization on headless Linux systems using VNC</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1693569600">- Update to release 2.28.3
  * Added a gamepad mapping for the G-Shark GS-GP702
  * Fixed touchpad events for the Razer Wolverine V2 Pro in PS5 mode</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696248000">- Update to release 2.28.4
  * Enable clipping for zero sized rectangles in the SDL renderer
  * Notify X11 clipboard managers when the clipboard changes
  * Fixed sensor timestamps for third-party PS5 controllers
  * Added detection for Logitech and Simagic racing wheels</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696680000">- Enable direct PipeWire support</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1698926400">- Update to release 2.28.5
  * Added support for the HP HyperX Clutch Gladiate controller
  * Fixed a crash if a controller is disconnected while SDL is
    opening it
  * Fixed a crash on Linux if XInput2 isn't available at runtime</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706875200">- Update to release 2.30
  * Added support for 2 bits-per-pixel indexed surface formats.
  * Added the function SDL_GameControllerGetSteamHandle() to get
    the Steam API handle for a controller, if available.
  * Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent
    when the Steam API handle for a controller changes. This could
    also change the name, VID, and PID of the controller.
  * Added the environment variable SDL_LOGGING to control default
    log output.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1709726400">- Update to release 2.30.1
  * Fixed a regression causing SDL_WaitEvent() to return spurious
    failures
  * Wayland windows automatically have OpenGL enabled again
  * Fixed memory corruption when converting signed 16-bit audio
    to float
  * Fixed audio artifacts when converting signed 8-bit audio to
    float
  * Fixed the clip rectangle not being updated when the viewport
    changes in the SDL renderer</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1712059200">- Update to release 2.30.2
  * Fixed performance regression initialing controllers on Linux
  * Added support for the 6-button SEGA Mega Drive Control Pad
    for Nintendo Online
  * Add support for MadCatz Saitek Side Panel Control Deck
  * Added support for the Hori Fighting Stick EX2
  * Added support for the Yawman Arrow flightstick
  * Added a gamepad mapping for the Defender Joystick Cobra R4
  * Fixed the gamepad mapping for the Sanwa Supply JY-P76USV
    controller
  * Allow using SDL_RWFromFile() with named pipes</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1714564800">- Update to release 2.30.3
  * Fixed a pointer warping issue on XWayland
  * Reduced startup time when scanning for game controllers on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Update to release 2.30.4
  * Added support for the Saitek Cyborg V.3 Rumble Pad in PS3 mode
  * Added support for the Razer Kitsune in PS5 mode
  * Added Linux bindings for the Qanba Drone 2 Arcade Joystick
  * Leave Nintendo Online controllers in simple report mode so
    they work with DirectInput games
  * Enable using libusb for GameCube controllers when available</changelog>
</package>
<package pkgid="056d8a8a08ad45e72bc6480f9e69ea27f5cb15305c32522d55943cfdd4b200919e1abc7f72007b2a74c8d19eee17d9983b7da4a7964baddf636363a7fdd7ecb2" name="SDL2-devel-32bit" arch="x86_64">
  <version epoch="0" ver="2.30.4" rel="1.1"/>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1667476800">- Add CVE-2022-4743.patch: fix potential memory leak in
  GLES_CreateTexture (boo#1206727 CVE-2022-4743).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669118400">- Update to release 2.26
  * Added SDL_GetWindowSizeInPixels() to get the window size in
    pixels, which may differ from the window coordinate size for
    windows with high-DPI support.
  * Added simulated vsync synchronization for the software
    renderer.
  * Added the mouse position to SDL_MouseWheelEvent.
  * Added SDL_ResetHints() to reset all hints to their default
    values.
  * Added SDL_GetJoystickGUIDInfo() to get device information
    encoded in a joystick GUID.
  * Added XBOX Hints.
  * Added support for PS3 and Wii controllers to the HIDAPI
    driver (not enabled by default).
  * Added access to the individual left and right gyro sensors of
    the combined Joy-Cons controller.
  * Added a microsecond timestamp to SDL_SensorEvent and
    SDL_ControllerSensorEvent, when the hardware provides that
    information.
- Delete sdl2-khronos.patch (merged)
- Drop CVE-2022-4743.patch.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669896000">- Update to release 2.26.1
  * Improved audio resampling quality
  * Fixed crash if SDL_GetPointDisplayIndex() or
    SDL_GetRectDisplayIndex() are called before SDL_VideoInit()</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1672747200">- Update to release 2.26.2
  * Fixed long delay at startup when a Razer keyboard is
    connected
  * Fixed not receiving SDLK_5 or SDL_SCANCODE_5 when using the
    AZERTY keyboard layout on Linux
- Enable libsamplerate and libdecor components
- Remove unused tslib build requirement</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1675771200">- Update to release 2.26.3
  * Fixed infinite loop shutting down WGI controllers
  * Fixed centering the D-pad on some Xbox controllers</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1677844800">- Use current keymap on console
  (https://github.com/libsdl-org/SDL/pull/7400 )
  + 0001-Cleanup-add-brace-6545.patch
  + 0002-Update-for-SDL3-coding-style-6717.patch
  + 0003-Clang-Tidy-fixes-6725.patch
  + 0004-evdev_kbd-Use-current-keymap.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1678190400">- Update to release 2.26.4
  * Fixed using older game controller mappings on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1681214400">- Update to release 2.26.5
  * Fixed handling of third party PS4 controller input reports
  * Added support for the trigger buttons on the Victrix Pro FS
    for PS5
  * Added mapping for Flydigi Vader 2 with the latest firmware
    (6.0.4.9)
  * Added mapping for DualSense Edge Wireless Controller on Linux
  * Added mapping for Hori Pokken Tournament DX Pro Pad
  * Improved the speed and quality of audio resampling
  * Fixed crash on Linux if dbus can't be initialized</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1687348800">- Update to release 2.28
  * Added SDL_HasWindowSurface() and SDL_DestroyWindowSurface() to
    switch between the window surface and rendering APIs.
  * Added a display event SDL_DISPLAYEVENT_MOVED which is sent
    when the primary monitor changes or displays change position
    relative to each other.
  * Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control
    whether the on-screen keyboard should be shown when text input
    is active.
- Delete 0001-Cleanup-add-brace-6545.patch,
  0002-Update-for-SDL3-coding-style-6717.patch,
  0003-Clang-Tidy-fixes-6725.patch (inapplicable),
  0004-evdev_kbd-Use-current-keymap.patch (merged).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1688212800">- Update to release 2.28.1
  * Added support for the Nintendo Online Famicom controllers
  * Improved support for third-party Nintendo Switch controllers
  * Fixed setting the player LED on Nintendo Switch controllers
  * Added Linux controller mapping for the Logitech Chillstream</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1690977600">- Update to release 2.28.2
  * Fixed 8BitDo gamepad mapping when in XInput mode on Linux
  * Fixed controller lockup initializing some unofficial PS4
    replica controllers
  * Fixed video initialization on headless Linux systems using VNC</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1693569600">- Update to release 2.28.3
  * Added a gamepad mapping for the G-Shark GS-GP702
  * Fixed touchpad events for the Razer Wolverine V2 Pro in PS5 mode</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696248000">- Update to release 2.28.4
  * Enable clipping for zero sized rectangles in the SDL renderer
  * Notify X11 clipboard managers when the clipboard changes
  * Fixed sensor timestamps for third-party PS5 controllers
  * Added detection for Logitech and Simagic racing wheels</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1696680000">- Enable direct PipeWire support</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1698926400">- Update to release 2.28.5
  * Added support for the HP HyperX Clutch Gladiate controller
  * Fixed a crash if a controller is disconnected while SDL is
    opening it
  * Fixed a crash on Linux if XInput2 isn't available at runtime</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706875200">- Update to release 2.30
  * Added support for 2 bits-per-pixel indexed surface formats.
  * Added the function SDL_GameControllerGetSteamHandle() to get
    the Steam API handle for a controller, if available.
  * Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent
    when the Steam API handle for a controller changes. This could
    also change the name, VID, and PID of the controller.
  * Added the environment variable SDL_LOGGING to control default
    log output.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1709726400">- Update to release 2.30.1
  * Fixed a regression causing SDL_WaitEvent() to return spurious
    failures
  * Wayland windows automatically have OpenGL enabled again
  * Fixed memory corruption when converting signed 16-bit audio
    to float
  * Fixed audio artifacts when converting signed 8-bit audio to
    float
  * Fixed the clip rectangle not being updated when the viewport
    changes in the SDL renderer</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1712059200">- Update to release 2.30.2
  * Fixed performance regression initialing controllers on Linux
  * Added support for the 6-button SEGA Mega Drive Control Pad
    for Nintendo Online
  * Add support for MadCatz Saitek Side Panel Control Deck
  * Added support for the Hori Fighting Stick EX2
  * Added support for the Yawman Arrow flightstick
  * Added a gamepad mapping for the Defender Joystick Cobra R4
  * Fixed the gamepad mapping for the Sanwa Supply JY-P76USV
    controller
  * Allow using SDL_RWFromFile() with named pipes</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1714564800">- Update to release 2.30.3
  * Fixed a pointer warping issue on XWayland
  * Reduced startup time when scanning for game controllers on Linux</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Update to release 2.30.4
  * Added support for the Saitek Cyborg V.3 Rumble Pad in PS3 mode
  * Added support for the Razer Kitsune in PS5 mode
  * Added Linux bindings for the Qanba Drone 2 Arcade Joystick
  * Leave Nintendo Online controllers in simple report mode so
    they work with DirectInput games
  * Enable using libusb for GameCube controllers when available</changelog>
</package>
<package pkgid="cc73fd7f59967cea330659ce0a565791d08bf06113704298af3b3288674bde8c8d8e4349661d0e6b852d621b3879417139c36bf0ae4c26e0b243af25d4c059ea" name="SVT-AV1" arch="src">
  <version epoch="0" ver="2.1.1" rel="1.0.2.1.sr20240605"/>
  <changelog author="Adrian Schr&#xF6;ter &lt;adrian@suse.de&gt;" date="1556193600">- update to b4ca700d36c9655e37e9f091bfe983a23ec0c1bd
  * new decode sub package
- use obs_scm again (it is on purpose for git snapshots)</changelog>
  <changelog author="Hans-Peter Jansen &lt;hpj@urpla.net&gt;" date="1556625600">- fix missing parts for decode lib</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1556712000">- Go back to tar_scm; obs_scm does not work with quilt.
- Bump SO version for change from Apr 25/29 2019.</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1605009600">- Update to version 0.8.5
  * https://github.com/AOMediaCodec/SVT-AV1/blob/v0.8.5/CHANGELOG.md
- Added 1568-backport.patch
- Added manpages</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1622203200">- Update to release 0.8.7
  * Feature optimizations: creating new mode decision /
    encode-decode feature levels allowing better speed / quality
    trade-off granularity.
  * Preset repositioning after adopting new levels.
  * Preset 8 achieving similar speed levels to that of x265
    medium in the VOD (shot-based encoding) use-case while
    maintaining quality gains.
  * New 1-pass and 2-pass VBR implementation ported from libaom
    and adapted to the SVT architecture.
- Drop 1568-backport.patch (no longer applies)
- Remove wrong Obsoletes/Provides</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1643198400">- Update to 0.9.0
  * New faster presets M9-M12, M12 reaching similar complexity level to that of x264 veryfast
  * New multi-pass and single pass VBR implementation minimizing the quality difference vs CRF while reducing the cycle overhead
  * Quality vs density tradeoffs improvements across all presets in CRF mode
  * Added support for CRF with capped bitrate
  * Added support for overlay frames and super resolution
  * Fixed film grain synthesis bugs
  * Added experimental support for &gt; 4k resolutions
  * Added experimental support for the low delay prediction structure
  * Significant memory reduction especially for faster presets in a multi-threaded environment
  * API configuration structure cleanup removing all invalid or out of date parameters
  * Speedup legacy CPUs for faster development by adding SSE code for corresponding C-kernels
  * Updated the code license from BSD 2-clause to BSD 3-clause clear</changelog>
  <changelog author="Mia Herkt &lt;mia@0x0.st&gt;" date="1645012800">- Disable forced realtime scheduler priority
  By default, the encoder library will attempt to set realtime
  scheduler priority. Disable this behavior, as it serves no
  practical purpose (video encoding does not benefit from reduced
  process latency) and will only make the system unresponsive.
  (Additionally, it is arguably not a video encoder library’s job
  to manage scheduler priorities for the calling process.)
  See https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/1714</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650628800">- Update to release 1.0.0
  * Added S-frames support
  * Added CBR Rate control mode for low delay
  * Added support for chroma position signaling
  * Added support for skipping denoising pictures after film
    grain synthesis
  * Extend fast-decode support to cover presets M0-M10</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1659528000">- Update to release 1.2.0
  * TPL tradeoff optimizations for 4L pred structure
  * Quality-vs-cycles tradeoff improvements across all presets
  * Add ability to force key_frame positions through ffmpeg for
    CRF mode
  * Minimize the quality impact of fast-decode while maintaining
    the decoder speedup
  * AVX2 optimizations for low delay mode
  * Improve CRF preset tradeoffs for both the default and
    fast-decode modes
  * Improve the SSIM-based tradeoffs of the presets without
    impacting those of PSNR / VMAF
  * Improve CBR mode by enhancing the bit-distribution within the
    GOP
  * Added support for reference frame scaling
  * Added support for quantization matrices
  * AVX2 optimizations for low-delay mode
  * TPL-based VBR mode improvements
  * Improved Chroma RDOQ
  * Improve TPL QP Scaling
  * Add length info to ivf header
  * Fix support for metadata pass-through
  * Add ability to specify Chroma and Luma qindex offsets
    independently on top of CRF qp assignments</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1666267200">- Update to release 1.3.0:
  * Encoder:
  - Port SIMD optimizations from libDav1D making the conformant
    path (Inv. Transform) faster
  - Enabling smaller mini-GOP size configurations and tuning it
    for the low delay mode
  - Tuning the low-latency mode in random access targeting
    latencies from 250ms to 1s
  - Adding GOP-constrained Rate Control targeting low-latency
    streaming applications
  - Optimize mode decision features levels for depth
    partitioning, RDOQ, MD stage0 pruning in-loop filtering
    temporal filtering and TPL adding more granularity and
    gaining further quality
  - Preset tuning M0-M13 to smooth the spacing and utilize the
    quality improvements towards better tradeoffs
  * Build, Cleanup and Documentation:
  - Update preset and API documentation
  - Various functional bug fixes
  - Remove the use of GLOB in cmake and use file names
- Changes from release 1.2.1:
  * Encoder: Fix a crash at the end of the encode that may occur
    when an invalid metadata packet is sent with the EOS packet
  * Build, Cleanup:
  - y4m header pasring code cleanup
  - API cleanup and enhancements adding string options for RC
    mode
  - Added option to build without app / dec / enc using the
    build.sh / build.bat scripts</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.4.0:
  * Adopted the 6L / 32-picture mini-GOP configuraion as default and
    adjusted MD feature levels accordingly yielding higher compression
    efficiency gains
  * Update the TPL model to account for the larger mini-gop size
  * Re-tune presets M0-M12 using the gained coding efficiency for improved
    quality vs cycles tradeoffs
  * Allow duplicate commandline parameters to be parsed and take into
    consideration the latter to allow AWCY integration
  * Build, Cleanup and Documentation
  * Make include and lib paths friendly to abs and rel paths
  * Update preset and API documentation
  * Various functional bug fixes
  * Remove manual prediction structure support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672660800">- update to 1.4.1:
  * Fix CRF with maxrate bug causing bitrate to be significantly limited for
    CRF encodings
  * Fix command line parsing forcing 1-pass in a 2-pass encoding mode when
    the --keyint=`x`s format is used
  * Fix decoder segfault due to assuming aligned buffers in the inverse
    transform assembly</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1680177600">- Enable build on aarch64</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1687176000">- Update to release 1.6.0
  * Improved the tradeoffs for the random access mode across
    presets M1-M13:
  * Speeding up the higher quality presets by 30-40%
  * Improving the BD-rate by 1-4% for the faster presets
  * Improved the tradeoffs for the low delay mode for both screen
    content and non-screen content encoding modes
  * Added a toggle to remove the legacy one-frame buffer at the
    input of the pipeline allowing the low delay mode to operate
    at sub-frame processing latencies
  * Added a new API allowing the user to specify quantization
    offsets for a region of interest per frame</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1687780800">- Enable build on riscv64</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1699012800">- Update to release 1.7.0
  * Encoder:
  * Improve the tradeoffs for the random access mode across
    presets MR-M13
  * Quality improvements across all presets and metrics ranging
    from 0.3% to 4.5% in BD-rate
  * Added an experimental tune SSIM mode yielding ~3-4%
    additional SSIM BD-rate gains</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1702382400">- Update to release 1.8.0
  * Improve the tradeoffs for the random access mode across presets:
  * Speedup CRF presets M6 to M0 by 17-53% while maintaining
    similar quality levels
  * Re-adjust CRF presets M7 to M13 for better quality with BD-rate
    gains ranging from 1-4%
  * Improve the quality and speed of the 1-pass VBR mode
  * Add API allowing to update bitrate / CRF and Key_frame
    placement during the encoding session for CBR lowdelay mode and
    CRF Random Access mode
  * ARM Neon SIMD optimizations for most critical kernels allowing
    for a 4.5-8x fps speedup vs the c implementation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1710331200">- Update to release 2.0
  * Changed the API signaling the End Of Stream (EOS) with the
    last frame vs with an empty frame
  * Removed the 3-pass VBR mode which changed the calling
    mechanism of multi-pass VBR
  * Improve the tradeoffs for the random access mode across
    presets:
  * Improved the compression efficiency of presets M9-M13 by 1-4%
  * Replaced the 3-pass VBR with a 2-pass VBR
  * Memory savings of 20-35% for LP 8 mode in preset M6 and below
    and 1-5% in other modes/presets</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Update to release 2.1
  * Presets 6 and 12 are now pointing to presets 7 and 13
    respectively due to the lack of spacing between the presets.
  * Added variance boost support to improve visual quality for
    the tune vq mode.
  * Speedup of 12–40% presets M0, M3, M5 and M6 while maintaining
    similar quality levels.
  * Improved the compression efficiency of presets M11-M13 by 1-2%.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1719316800">- Update to release 2.1.1
  * Removed the SVT-AV1 Decoder portion of the project.
  * Improved documentation.</changelog>
</package>
<package pkgid="20181a569a28a4e426d333a13ea1aa8b5ad4b577c4adc4d09e7c00e1dcefc33c721443cde2167bc50fc811623c9a288611720fa8d3bc009573a0b1b9bda07398" name="SVT-AV1" arch="x86_64">
  <version epoch="0" ver="2.1.1" rel="1.0.2.1.sr20240605"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1622203200">- Update to release 0.8.7
  * Feature optimizations: creating new mode decision /
    encode-decode feature levels allowing better speed / quality
    trade-off granularity.
  * Preset repositioning after adopting new levels.
  * Preset 8 achieving similar speed levels to that of x265
    medium in the VOD (shot-based encoding) use-case while
    maintaining quality gains.
  * New 1-pass and 2-pass VBR implementation ported from libaom
    and adapted to the SVT architecture.
- Drop 1568-backport.patch (no longer applies)
- Remove wrong Obsoletes/Provides</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1643198400">- Update to 0.9.0
  * New faster presets M9-M12, M12 reaching similar complexity level to that of x264 veryfast
  * New multi-pass and single pass VBR implementation minimizing the quality difference vs CRF while reducing the cycle overhead
  * Quality vs density tradeoffs improvements across all presets in CRF mode
  * Added support for CRF with capped bitrate
  * Added support for overlay frames and super resolution
  * Fixed film grain synthesis bugs
  * Added experimental support for &gt; 4k resolutions
  * Added experimental support for the low delay prediction structure
  * Significant memory reduction especially for faster presets in a multi-threaded environment
  * API configuration structure cleanup removing all invalid or out of date parameters
  * Speedup legacy CPUs for faster development by adding SSE code for corresponding C-kernels
  * Updated the code license from BSD 2-clause to BSD 3-clause clear</changelog>
  <changelog author="Mia Herkt &lt;mia@0x0.st&gt;" date="1645012800">- Disable forced realtime scheduler priority
  By default, the encoder library will attempt to set realtime
  scheduler priority. Disable this behavior, as it serves no
  practical purpose (video encoding does not benefit from reduced
  process latency) and will only make the system unresponsive.
  (Additionally, it is arguably not a video encoder library’s job
  to manage scheduler priorities for the calling process.)
  See https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/1714</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650628800">- Update to release 1.0.0
  * Added S-frames support
  * Added CBR Rate control mode for low delay
  * Added support for chroma position signaling
  * Added support for skipping denoising pictures after film
    grain synthesis
  * Extend fast-decode support to cover presets M0-M10</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1659528000">- Update to release 1.2.0
  * TPL tradeoff optimizations for 4L pred structure
  * Quality-vs-cycles tradeoff improvements across all presets
  * Add ability to force key_frame positions through ffmpeg for
    CRF mode
  * Minimize the quality impact of fast-decode while maintaining
    the decoder speedup
  * AVX2 optimizations for low delay mode
  * Improve CRF preset tradeoffs for both the default and
    fast-decode modes
  * Improve the SSIM-based tradeoffs of the presets without
    impacting those of PSNR / VMAF
  * Improve CBR mode by enhancing the bit-distribution within the
    GOP
  * Added support for reference frame scaling
  * Added support for quantization matrices
  * AVX2 optimizations for low-delay mode
  * TPL-based VBR mode improvements
  * Improved Chroma RDOQ
  * Improve TPL QP Scaling
  * Add length info to ivf header
  * Fix support for metadata pass-through
  * Add ability to specify Chroma and Luma qindex offsets
    independently on top of CRF qp assignments</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1666267200">- Update to release 1.3.0:
  * Encoder:
  - Port SIMD optimizations from libDav1D making the conformant
    path (Inv. Transform) faster
  - Enabling smaller mini-GOP size configurations and tuning it
    for the low delay mode
  - Tuning the low-latency mode in random access targeting
    latencies from 250ms to 1s
  - Adding GOP-constrained Rate Control targeting low-latency
    streaming applications
  - Optimize mode decision features levels for depth
    partitioning, RDOQ, MD stage0 pruning in-loop filtering
    temporal filtering and TPL adding more granularity and
    gaining further quality
  - Preset tuning M0-M13 to smooth the spacing and utilize the
    quality improvements towards better tradeoffs
  * Build, Cleanup and Documentation:
  - Update preset and API documentation
  - Various functional bug fixes
  - Remove the use of GLOB in cmake and use file names
- Changes from release 1.2.1:
  * Encoder: Fix a crash at the end of the encode that may occur
    when an invalid metadata packet is sent with the EOS packet
  * Build, Cleanup:
  - y4m header pasring code cleanup
  - API cleanup and enhancements adding string options for RC
    mode
  - Added option to build without app / dec / enc using the
    build.sh / build.bat scripts</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.4.0:
  * Adopted the 6L / 32-picture mini-GOP configuraion as default and
    adjusted MD feature levels accordingly yielding higher compression
    efficiency gains
  * Update the TPL model to account for the larger mini-gop size
  * Re-tune presets M0-M12 using the gained coding efficiency for improved
    quality vs cycles tradeoffs
  * Allow duplicate commandline parameters to be parsed and take into
    consideration the latter to allow AWCY integration
  * Build, Cleanup and Documentation
  * Make include and lib paths friendly to abs and rel paths
  * Update preset and API documentation
  * Various functional bug fixes
  * Remove manual prediction structure support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672660800">- update to 1.4.1:
  * Fix CRF with maxrate bug causing bitrate to be significantly limited for
    CRF encodings
  * Fix command line parsing forcing 1-pass in a 2-pass encoding mode when
    the --keyint=`x`s format is used
  * Fix decoder segfault due to assuming aligned buffers in the inverse
    transform assembly</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1680177600">- Enable build on aarch64</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1687176000">- Update to release 1.6.0
  * Improved the tradeoffs for the random access mode across
    presets M1-M13:
  * Speeding up the higher quality presets by 30-40%
  * Improving the BD-rate by 1-4% for the faster presets
  * Improved the tradeoffs for the low delay mode for both screen
    content and non-screen content encoding modes
  * Added a toggle to remove the legacy one-frame buffer at the
    input of the pipeline allowing the low delay mode to operate
    at sub-frame processing latencies
  * Added a new API allowing the user to specify quantization
    offsets for a region of interest per frame</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1687780800">- Enable build on riscv64</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1699012800">- Update to release 1.7.0
  * Encoder:
  * Improve the tradeoffs for the random access mode across
    presets MR-M13
  * Quality improvements across all presets and metrics ranging
    from 0.3% to 4.5% in BD-rate
  * Added an experimental tune SSIM mode yielding ~3-4%
    additional SSIM BD-rate gains</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1702382400">- Update to release 1.8.0
  * Improve the tradeoffs for the random access mode across presets:
  * Speedup CRF presets M6 to M0 by 17-53% while maintaining
    similar quality levels
  * Re-adjust CRF presets M7 to M13 for better quality with BD-rate
    gains ranging from 1-4%
  * Improve the quality and speed of the 1-pass VBR mode
  * Add API allowing to update bitrate / CRF and Key_frame
    placement during the encoding session for CBR lowdelay mode and
    CRF Random Access mode
  * ARM Neon SIMD optimizations for most critical kernels allowing
    for a 4.5-8x fps speedup vs the c implementation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1710331200">- Update to release 2.0
  * Changed the API signaling the End Of Stream (EOS) with the
    last frame vs with an empty frame
  * Removed the 3-pass VBR mode which changed the calling
    mechanism of multi-pass VBR
  * Improve the tradeoffs for the random access mode across
    presets:
  * Improved the compression efficiency of presets M9-M13 by 1-4%
  * Replaced the 3-pass VBR with a 2-pass VBR
  * Memory savings of 20-35% for LP 8 mode in preset M6 and below
    and 1-5% in other modes/presets</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Update to release 2.1
  * Presets 6 and 12 are now pointing to presets 7 and 13
    respectively due to the lack of spacing between the presets.
  * Added variance boost support to improve visual quality for
    the tune vq mode.
  * Speedup of 12–40% presets M0, M3, M5 and M6 while maintaining
    similar quality levels.
  * Improved the compression efficiency of presets M11-M13 by 1-2%.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1719316800">- Update to release 2.1.1
  * Removed the SVT-AV1 Decoder portion of the project.
  * Improved documentation.</changelog>
</package>
<package pkgid="66d07a44826c7ab60f0c2dd1de8a047073377598db7eb822a9b3c5d9f4d9a20d8cb703f3100ef6a91259e2b2efbd7e5f3263519a688fbfb5e708c401adb6c876" name="SVT-AV1-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.1.1" rel="1.0.2.1.sr20240605"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1622203200">- Update to release 0.8.7
  * Feature optimizations: creating new mode decision /
    encode-decode feature levels allowing better speed / quality
    trade-off granularity.
  * Preset repositioning after adopting new levels.
  * Preset 8 achieving similar speed levels to that of x265
    medium in the VOD (shot-based encoding) use-case while
    maintaining quality gains.
  * New 1-pass and 2-pass VBR implementation ported from libaom
    and adapted to the SVT architecture.
- Drop 1568-backport.patch (no longer applies)
- Remove wrong Obsoletes/Provides</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1643198400">- Update to 0.9.0
  * New faster presets M9-M12, M12 reaching similar complexity level to that of x264 veryfast
  * New multi-pass and single pass VBR implementation minimizing the quality difference vs CRF while reducing the cycle overhead
  * Quality vs density tradeoffs improvements across all presets in CRF mode
  * Added support for CRF with capped bitrate
  * Added support for overlay frames and super resolution
  * Fixed film grain synthesis bugs
  * Added experimental support for &gt; 4k resolutions
  * Added experimental support for the low delay prediction structure
  * Significant memory reduction especially for faster presets in a multi-threaded environment
  * API configuration structure cleanup removing all invalid or out of date parameters
  * Speedup legacy CPUs for faster development by adding SSE code for corresponding C-kernels
  * Updated the code license from BSD 2-clause to BSD 3-clause clear</changelog>
  <changelog author="Mia Herkt &lt;mia@0x0.st&gt;" date="1645012800">- Disable forced realtime scheduler priority
  By default, the encoder library will attempt to set realtime
  scheduler priority. Disable this behavior, as it serves no
  practical purpose (video encoding does not benefit from reduced
  process latency) and will only make the system unresponsive.
  (Additionally, it is arguably not a video encoder library’s job
  to manage scheduler priorities for the calling process.)
  See https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/1714</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650628800">- Update to release 1.0.0
  * Added S-frames support
  * Added CBR Rate control mode for low delay
  * Added support for chroma position signaling
  * Added support for skipping denoising pictures after film
    grain synthesis
  * Extend fast-decode support to cover presets M0-M10</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1659528000">- Update to release 1.2.0
  * TPL tradeoff optimizations for 4L pred structure
  * Quality-vs-cycles tradeoff improvements across all presets
  * Add ability to force key_frame positions through ffmpeg for
    CRF mode
  * Minimize the quality impact of fast-decode while maintaining
    the decoder speedup
  * AVX2 optimizations for low delay mode
  * Improve CRF preset tradeoffs for both the default and
    fast-decode modes
  * Improve the SSIM-based tradeoffs of the presets without
    impacting those of PSNR / VMAF
  * Improve CBR mode by enhancing the bit-distribution within the
    GOP
  * Added support for reference frame scaling
  * Added support for quantization matrices
  * AVX2 optimizations for low-delay mode
  * TPL-based VBR mode improvements
  * Improved Chroma RDOQ
  * Improve TPL QP Scaling
  * Add length info to ivf header
  * Fix support for metadata pass-through
  * Add ability to specify Chroma and Luma qindex offsets
    independently on top of CRF qp assignments</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1666267200">- Update to release 1.3.0:
  * Encoder:
  - Port SIMD optimizations from libDav1D making the conformant
    path (Inv. Transform) faster
  - Enabling smaller mini-GOP size configurations and tuning it
    for the low delay mode
  - Tuning the low-latency mode in random access targeting
    latencies from 250ms to 1s
  - Adding GOP-constrained Rate Control targeting low-latency
    streaming applications
  - Optimize mode decision features levels for depth
    partitioning, RDOQ, MD stage0 pruning in-loop filtering
    temporal filtering and TPL adding more granularity and
    gaining further quality
  - Preset tuning M0-M13 to smooth the spacing and utilize the
    quality improvements towards better tradeoffs
  * Build, Cleanup and Documentation:
  - Update preset and API documentation
  - Various functional bug fixes
  - Remove the use of GLOB in cmake and use file names
- Changes from release 1.2.1:
  * Encoder: Fix a crash at the end of the encode that may occur
    when an invalid metadata packet is sent with the EOS packet
  * Build, Cleanup:
  - y4m header pasring code cleanup
  - API cleanup and enhancements adding string options for RC
    mode
  - Added option to build without app / dec / enc using the
    build.sh / build.bat scripts</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.4.0:
  * Adopted the 6L / 32-picture mini-GOP configuraion as default and
    adjusted MD feature levels accordingly yielding higher compression
    efficiency gains
  * Update the TPL model to account for the larger mini-gop size
  * Re-tune presets M0-M12 using the gained coding efficiency for improved
    quality vs cycles tradeoffs
  * Allow duplicate commandline parameters to be parsed and take into
    consideration the latter to allow AWCY integration
  * Build, Cleanup and Documentation
  * Make include and lib paths friendly to abs and rel paths
  * Update preset and API documentation
  * Various functional bug fixes
  * Remove manual prediction structure support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672660800">- update to 1.4.1:
  * Fix CRF with maxrate bug causing bitrate to be significantly limited for
    CRF encodings
  * Fix command line parsing forcing 1-pass in a 2-pass encoding mode when
    the --keyint=`x`s format is used
  * Fix decoder segfault due to assuming aligned buffers in the inverse
    transform assembly</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1680177600">- Enable build on aarch64</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1687176000">- Update to release 1.6.0
  * Improved the tradeoffs for the random access mode across
    presets M1-M13:
  * Speeding up the higher quality presets by 30-40%
  * Improving the BD-rate by 1-4% for the faster presets
  * Improved the tradeoffs for the low delay mode for both screen
    content and non-screen content encoding modes
  * Added a toggle to remove the legacy one-frame buffer at the
    input of the pipeline allowing the low delay mode to operate
    at sub-frame processing latencies
  * Added a new API allowing the user to specify quantization
    offsets for a region of interest per frame</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1687780800">- Enable build on riscv64</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1699012800">- Update to release 1.7.0
  * Encoder:
  * Improve the tradeoffs for the random access mode across
    presets MR-M13
  * Quality improvements across all presets and metrics ranging
    from 0.3% to 4.5% in BD-rate
  * Added an experimental tune SSIM mode yielding ~3-4%
    additional SSIM BD-rate gains</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1702382400">- Update to release 1.8.0
  * Improve the tradeoffs for the random access mode across presets:
  * Speedup CRF presets M6 to M0 by 17-53% while maintaining
    similar quality levels
  * Re-adjust CRF presets M7 to M13 for better quality with BD-rate
    gains ranging from 1-4%
  * Improve the quality and speed of the 1-pass VBR mode
  * Add API allowing to update bitrate / CRF and Key_frame
    placement during the encoding session for CBR lowdelay mode and
    CRF Random Access mode
  * ARM Neon SIMD optimizations for most critical kernels allowing
    for a 4.5-8x fps speedup vs the c implementation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1710331200">- Update to release 2.0
  * Changed the API signaling the End Of Stream (EOS) with the
    last frame vs with an empty frame
  * Removed the 3-pass VBR mode which changed the calling
    mechanism of multi-pass VBR
  * Improve the tradeoffs for the random access mode across
    presets:
  * Improved the compression efficiency of presets M9-M13 by 1-4%
  * Replaced the 3-pass VBR with a 2-pass VBR
  * Memory savings of 20-35% for LP 8 mode in preset M6 and below
    and 1-5% in other modes/presets</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Update to release 2.1
  * Presets 6 and 12 are now pointing to presets 7 and 13
    respectively due to the lack of spacing between the presets.
  * Added variance boost support to improve visual quality for
    the tune vq mode.
  * Speedup of 12–40% presets M0, M3, M5 and M6 while maintaining
    similar quality levels.
  * Improved the compression efficiency of presets M11-M13 by 1-2%.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1719316800">- Update to release 2.1.1
  * Removed the SVT-AV1 Decoder portion of the project.
  * Improved documentation.</changelog>
</package>
<package pkgid="7233156cb3c584ae891a5c909be84595d3b7e5eb8acf1bfb738d4ff82e811e963761e9ac4d1357f27ed9a9e5c8a505b02ba175aa487b5af5f49e6496e2233bf2" name="SVT-AV1-debugsource" arch="x86_64">
  <version epoch="0" ver="2.1.1" rel="1.0.2.1.sr20240605"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1622203200">- Update to release 0.8.7
  * Feature optimizations: creating new mode decision /
    encode-decode feature levels allowing better speed / quality
    trade-off granularity.
  * Preset repositioning after adopting new levels.
  * Preset 8 achieving similar speed levels to that of x265
    medium in the VOD (shot-based encoding) use-case while
    maintaining quality gains.
  * New 1-pass and 2-pass VBR implementation ported from libaom
    and adapted to the SVT architecture.
- Drop 1568-backport.patch (no longer applies)
- Remove wrong Obsoletes/Provides</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1643198400">- Update to 0.9.0
  * New faster presets M9-M12, M12 reaching similar complexity level to that of x264 veryfast
  * New multi-pass and single pass VBR implementation minimizing the quality difference vs CRF while reducing the cycle overhead
  * Quality vs density tradeoffs improvements across all presets in CRF mode
  * Added support for CRF with capped bitrate
  * Added support for overlay frames and super resolution
  * Fixed film grain synthesis bugs
  * Added experimental support for &gt; 4k resolutions
  * Added experimental support for the low delay prediction structure
  * Significant memory reduction especially for faster presets in a multi-threaded environment
  * API configuration structure cleanup removing all invalid or out of date parameters
  * Speedup legacy CPUs for faster development by adding SSE code for corresponding C-kernels
  * Updated the code license from BSD 2-clause to BSD 3-clause clear</changelog>
  <changelog author="Mia Herkt &lt;mia@0x0.st&gt;" date="1645012800">- Disable forced realtime scheduler priority
  By default, the encoder library will attempt to set realtime
  scheduler priority. Disable this behavior, as it serves no
  practical purpose (video encoding does not benefit from reduced
  process latency) and will only make the system unresponsive.
  (Additionally, it is arguably not a video encoder library’s job
  to manage scheduler priorities for the calling process.)
  See https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/1714</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650628800">- Update to release 1.0.0
  * Added S-frames support
  * Added CBR Rate control mode for low delay
  * Added support for chroma position signaling
  * Added support for skipping denoising pictures after film
    grain synthesis
  * Extend fast-decode support to cover presets M0-M10</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1659528000">- Update to release 1.2.0
  * TPL tradeoff optimizations for 4L pred structure
  * Quality-vs-cycles tradeoff improvements across all presets
  * Add ability to force key_frame positions through ffmpeg for
    CRF mode
  * Minimize the quality impact of fast-decode while maintaining
    the decoder speedup
  * AVX2 optimizations for low delay mode
  * Improve CRF preset tradeoffs for both the default and
    fast-decode modes
  * Improve the SSIM-based tradeoffs of the presets without
    impacting those of PSNR / VMAF
  * Improve CBR mode by enhancing the bit-distribution within the
    GOP
  * Added support for reference frame scaling
  * Added support for quantization matrices
  * AVX2 optimizations for low-delay mode
  * TPL-based VBR mode improvements
  * Improved Chroma RDOQ
  * Improve TPL QP Scaling
  * Add length info to ivf header
  * Fix support for metadata pass-through
  * Add ability to specify Chroma and Luma qindex offsets
    independently on top of CRF qp assignments</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1666267200">- Update to release 1.3.0:
  * Encoder:
  - Port SIMD optimizations from libDav1D making the conformant
    path (Inv. Transform) faster
  - Enabling smaller mini-GOP size configurations and tuning it
    for the low delay mode
  - Tuning the low-latency mode in random access targeting
    latencies from 250ms to 1s
  - Adding GOP-constrained Rate Control targeting low-latency
    streaming applications
  - Optimize mode decision features levels for depth
    partitioning, RDOQ, MD stage0 pruning in-loop filtering
    temporal filtering and TPL adding more granularity and
    gaining further quality
  - Preset tuning M0-M13 to smooth the spacing and utilize the
    quality improvements towards better tradeoffs
  * Build, Cleanup and Documentation:
  - Update preset and API documentation
  - Various functional bug fixes
  - Remove the use of GLOB in cmake and use file names
- Changes from release 1.2.1:
  * Encoder: Fix a crash at the end of the encode that may occur
    when an invalid metadata packet is sent with the EOS packet
  * Build, Cleanup:
  - y4m header pasring code cleanup
  - API cleanup and enhancements adding string options for RC
    mode
  - Added option to build without app / dec / enc using the
    build.sh / build.bat scripts</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.4.0:
  * Adopted the 6L / 32-picture mini-GOP configuraion as default and
    adjusted MD feature levels accordingly yielding higher compression
    efficiency gains
  * Update the TPL model to account for the larger mini-gop size
  * Re-tune presets M0-M12 using the gained coding efficiency for improved
    quality vs cycles tradeoffs
  * Allow duplicate commandline parameters to be parsed and take into
    consideration the latter to allow AWCY integration
  * Build, Cleanup and Documentation
  * Make include and lib paths friendly to abs and rel paths
  * Update preset and API documentation
  * Various functional bug fixes
  * Remove manual prediction structure support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672660800">- update to 1.4.1:
  * Fix CRF with maxrate bug causing bitrate to be significantly limited for
    CRF encodings
  * Fix command line parsing forcing 1-pass in a 2-pass encoding mode when
    the --keyint=`x`s format is used
  * Fix decoder segfault due to assuming aligned buffers in the inverse
    transform assembly</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1680177600">- Enable build on aarch64</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1687176000">- Update to release 1.6.0
  * Improved the tradeoffs for the random access mode across
    presets M1-M13:
  * Speeding up the higher quality presets by 30-40%
  * Improving the BD-rate by 1-4% for the faster presets
  * Improved the tradeoffs for the low delay mode for both screen
    content and non-screen content encoding modes
  * Added a toggle to remove the legacy one-frame buffer at the
    input of the pipeline allowing the low delay mode to operate
    at sub-frame processing latencies
  * Added a new API allowing the user to specify quantization
    offsets for a region of interest per frame</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1687780800">- Enable build on riscv64</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1699012800">- Update to release 1.7.0
  * Encoder:
  * Improve the tradeoffs for the random access mode across
    presets MR-M13
  * Quality improvements across all presets and metrics ranging
    from 0.3% to 4.5% in BD-rate
  * Added an experimental tune SSIM mode yielding ~3-4%
    additional SSIM BD-rate gains</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1702382400">- Update to release 1.8.0
  * Improve the tradeoffs for the random access mode across presets:
  * Speedup CRF presets M6 to M0 by 17-53% while maintaining
    similar quality levels
  * Re-adjust CRF presets M7 to M13 for better quality with BD-rate
    gains ranging from 1-4%
  * Improve the quality and speed of the 1-pass VBR mode
  * Add API allowing to update bitrate / CRF and Key_frame
    placement during the encoding session for CBR lowdelay mode and
    CRF Random Access mode
  * ARM Neon SIMD optimizations for most critical kernels allowing
    for a 4.5-8x fps speedup vs the c implementation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1710331200">- Update to release 2.0
  * Changed the API signaling the End Of Stream (EOS) with the
    last frame vs with an empty frame
  * Removed the 3-pass VBR mode which changed the calling
    mechanism of multi-pass VBR
  * Improve the tradeoffs for the random access mode across
    presets:
  * Improved the compression efficiency of presets M9-M13 by 1-4%
  * Replaced the 3-pass VBR with a 2-pass VBR
  * Memory savings of 20-35% for LP 8 mode in preset M6 and below
    and 1-5% in other modes/presets</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Update to release 2.1
  * Presets 6 and 12 are now pointing to presets 7 and 13
    respectively due to the lack of spacing between the presets.
  * Added variance boost support to improve visual quality for
    the tune vq mode.
  * Speedup of 12–40% presets M0, M3, M5 and M6 while maintaining
    similar quality levels.
  * Improved the compression efficiency of presets M11-M13 by 1-2%.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1719316800">- Update to release 2.1.1
  * Removed the SVT-AV1 Decoder portion of the project.
  * Improved documentation.</changelog>
</package>
<package pkgid="ea8653dfd30567e4b072a4aa7c860b280ddeb89e0a596be9b1d0838a449eb9408f55a7eeb0f14e314784036d14ee7e200bed64b0fb6860449624987ee1ff1a77" name="SVT-AV1-devel" arch="x86_64">
  <version epoch="0" ver="2.1.1" rel="1.0.2.1.sr20240605"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1622203200">- Update to release 0.8.7
  * Feature optimizations: creating new mode decision /
    encode-decode feature levels allowing better speed / quality
    trade-off granularity.
  * Preset repositioning after adopting new levels.
  * Preset 8 achieving similar speed levels to that of x265
    medium in the VOD (shot-based encoding) use-case while
    maintaining quality gains.
  * New 1-pass and 2-pass VBR implementation ported from libaom
    and adapted to the SVT architecture.
- Drop 1568-backport.patch (no longer applies)
- Remove wrong Obsoletes/Provides</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1643198400">- Update to 0.9.0
  * New faster presets M9-M12, M12 reaching similar complexity level to that of x264 veryfast
  * New multi-pass and single pass VBR implementation minimizing the quality difference vs CRF while reducing the cycle overhead
  * Quality vs density tradeoffs improvements across all presets in CRF mode
  * Added support for CRF with capped bitrate
  * Added support for overlay frames and super resolution
  * Fixed film grain synthesis bugs
  * Added experimental support for &gt; 4k resolutions
  * Added experimental support for the low delay prediction structure
  * Significant memory reduction especially for faster presets in a multi-threaded environment
  * API configuration structure cleanup removing all invalid or out of date parameters
  * Speedup legacy CPUs for faster development by adding SSE code for corresponding C-kernels
  * Updated the code license from BSD 2-clause to BSD 3-clause clear</changelog>
  <changelog author="Mia Herkt &lt;mia@0x0.st&gt;" date="1645012800">- Disable forced realtime scheduler priority
  By default, the encoder library will attempt to set realtime
  scheduler priority. Disable this behavior, as it serves no
  practical purpose (video encoding does not benefit from reduced
  process latency) and will only make the system unresponsive.
  (Additionally, it is arguably not a video encoder library’s job
  to manage scheduler priorities for the calling process.)
  See https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/1714</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650628800">- Update to release 1.0.0
  * Added S-frames support
  * Added CBR Rate control mode for low delay
  * Added support for chroma position signaling
  * Added support for skipping denoising pictures after film
    grain synthesis
  * Extend fast-decode support to cover presets M0-M10</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1659528000">- Update to release 1.2.0
  * TPL tradeoff optimizations for 4L pred structure
  * Quality-vs-cycles tradeoff improvements across all presets
  * Add ability to force key_frame positions through ffmpeg for
    CRF mode
  * Minimize the quality impact of fast-decode while maintaining
    the decoder speedup
  * AVX2 optimizations for low delay mode
  * Improve CRF preset tradeoffs for both the default and
    fast-decode modes
  * Improve the SSIM-based tradeoffs of the presets without
    impacting those of PSNR / VMAF
  * Improve CBR mode by enhancing the bit-distribution within the
    GOP
  * Added support for reference frame scaling
  * Added support for quantization matrices
  * AVX2 optimizations for low-delay mode
  * TPL-based VBR mode improvements
  * Improved Chroma RDOQ
  * Improve TPL QP Scaling
  * Add length info to ivf header
  * Fix support for metadata pass-through
  * Add ability to specify Chroma and Luma qindex offsets
    independently on top of CRF qp assignments</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1666267200">- Update to release 1.3.0:
  * Encoder:
  - Port SIMD optimizations from libDav1D making the conformant
    path (Inv. Transform) faster
  - Enabling smaller mini-GOP size configurations and tuning it
    for the low delay mode
  - Tuning the low-latency mode in random access targeting
    latencies from 250ms to 1s
  - Adding GOP-constrained Rate Control targeting low-latency
    streaming applications
  - Optimize mode decision features levels for depth
    partitioning, RDOQ, MD stage0 pruning in-loop filtering
    temporal filtering and TPL adding more granularity and
    gaining further quality
  - Preset tuning M0-M13 to smooth the spacing and utilize the
    quality improvements towards better tradeoffs
  * Build, Cleanup and Documentation:
  - Update preset and API documentation
  - Various functional bug fixes
  - Remove the use of GLOB in cmake and use file names
- Changes from release 1.2.1:
  * Encoder: Fix a crash at the end of the encode that may occur
    when an invalid metadata packet is sent with the EOS packet
  * Build, Cleanup:
  - y4m header pasring code cleanup
  - API cleanup and enhancements adding string options for RC
    mode
  - Added option to build without app / dec / enc using the
    build.sh / build.bat scripts</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670241600">- update to 1.4.0:
  * Adopted the 6L / 32-picture mini-GOP configuraion as default and
    adjusted MD feature levels accordingly yielding higher compression
    efficiency gains
  * Update the TPL model to account for the larger mini-gop size
  * Re-tune presets M0-M12 using the gained coding efficiency for improved
    quality vs cycles tradeoffs
  * Allow duplicate commandline parameters to be parsed and take into
    consideration the latter to allow AWCY integration
  * Build, Cleanup and Documentation
  * Make include and lib paths friendly to abs and rel paths
  * Update preset and API documentation
  * Various functional bug fixes
  * Remove manual prediction structure support</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1672660800">- update to 1.4.1:
  * Fix CRF with maxrate bug causing bitrate to be significantly limited for
    CRF encodings
  * Fix command line parsing forcing 1-pass in a 2-pass encoding mode when
    the --keyint=`x`s format is used
  * Fix decoder segfault due to assuming aligned buffers in the inverse
    transform assembly</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1680177600">- Enable build on aarch64</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1687176000">- Update to release 1.6.0
  * Improved the tradeoffs for the random access mode across
    presets M1-M13:
  * Speeding up the higher quality presets by 30-40%
  * Improving the BD-rate by 1-4% for the faster presets
  * Improved the tradeoffs for the low delay mode for both screen
    content and non-screen content encoding modes
  * Added a toggle to remove the legacy one-frame buffer at the
    input of the pipeline allowing the low delay mode to operate
    at sub-frame processing latencies
  * Added a new API allowing the user to specify quantization
    offsets for a region of interest per frame</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1687780800">- Enable build on riscv64</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1699012800">- Update to release 1.7.0
  * Encoder:
  * Improve the tradeoffs for the random access mode across
    presets MR-M13
  * Quality improvements across all presets and metrics ranging
    from 0.3% to 4.5% in BD-rate
  * Added an experimental tune SSIM mode yielding ~3-4%
    additional SSIM BD-rate gains</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1702382400">- Update to release 1.8.0
  * Improve the tradeoffs for the random access mode across presets:
  * Speedup CRF presets M6 to M0 by 17-53% while maintaining
    similar quality levels
  * Re-adjust CRF presets M7 to M13 for better quality with BD-rate
    gains ranging from 1-4%
  * Improve the quality and speed of the 1-pass VBR mode
  * Add API allowing to update bitrate / CRF and Key_frame
    placement during the encoding session for CBR lowdelay mode and
    CRF Random Access mode
  * ARM Neon SIMD optimizations for most critical kernels allowing
    for a 4.5-8x fps speedup vs the c implementation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1710331200">- Update to release 2.0
  * Changed the API signaling the End Of Stream (EOS) with the
    last frame vs with an empty frame
  * Removed the 3-pass VBR mode which changed the calling
    mechanism of multi-pass VBR
  * Improve the tradeoffs for the random access mode across
    presets:
  * Improved the compression efficiency of presets M9-M13 by 1-4%
  * Replaced the 3-pass VBR with a 2-pass VBR
  * Memory savings of 20-35% for LP 8 mode in preset M6 and below
    and 1-5% in other modes/presets</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Update to release 2.1
  * Presets 6 and 12 are now pointing to presets 7 and 13
    respectively due to the lack of spacing between the presets.
  * Added variance boost support to improve visual quality for
    the tune vq mode.
  * Speedup of 12–40% presets M0, M3, M5 and M6 while maintaining
    similar quality levels.
  * Improved the compression efficiency of presets M11-M13 by 1-2%.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1719316800">- Update to release 2.1.1
  * Removed the SVT-AV1 Decoder portion of the project.
  * Improved documentation.</changelog>
</package>
<package pkgid="79150086f6660a6547cc2f761672a11d6e055630b9210c5e6f0b06c7bb6eb006d71ee02be99222ef6ed7e6af6ddf597b373a1ffaa483c93200f028c5b92f2509" name="Vc" arch="src">
  <version epoch="0" ver="1.4.5" rel="1.1"/>
  <changelog author="normand@linux.vnet.ibm.com" date="1438948800">- add ExclusiveArch %{ix86} x86_64
  because not supported asm lines for other architectures</changelog>
  <changelog author="mpluskal@suse.com" date="1441972800">- Use cmake macro
- Cleanup spec file with spec-cleaner</changelog>
  <changelog author="asterios.dramis@gmail.com" date="1444132800">- Update to 0.7.5:
  * compilation warnings fixed
  * detect Haswell and Broadwell CPUs (#6)
  * bugfix: AVX::Mask::operator== returned incorrect answers on a
    few masks
  * more thorough mask testing
  * detect and work around clang 3.6 bug with AVX codegen (#20)
  * subscript workaround for GCC 5.1 and 5.2 (#9)
  * merge vc_compile_for_all_implementations from master, making it
    more robust
  * fix isfinite usage with ICC (#8)</changelog>
  <changelog author="idonmez@suse.com" date="1477569600">- Update to version 1.3.0
  * Too many changes to list, please see
    https://github.com/VcDevel/Vc/releases for details.</changelog>
  <changelog author="idonmez@suse.com" date="1485518400">- Repackage without examples/spline see
  https://github.com/VcDevel/Vc/issues/150 for details.</changelog>
  <changelog author="idonmez@suse.com" date="1489060800">- Update to version 1.3.1
  * swap(v[i], v[j]) did not compile. Vc 1.3.1 overloads the swap
    function and thus enables swapping scalars into/out of vector
    and mask objects.
  * The spline example has moved to the new Vc-examples-nonfree
    repository since it has a license that restricts redistribution.</changelog>
  <changelog author="idonmez@suse.com" date="1494849600">- Update to version 1.3.2
  * Resolve warning from GCC 6 about ignored attributes
  * Support for Kaby Lake detection</changelog>
  <changelog author="asterios.dramis@gmail.com" date="1518696000">- Update to version 1.3.3:
  * Support for AVX2 gather instructions.
  * Shift optimizations
  * Preliminary support for compiling to non-x86 targets (uses only
    the Scalar ABI)
  * Resolve failing static assertions, moving the relevant tests to
    unit tests
  * Fixed is_simd_vector and is_simd_mask traits to consider the
    ElementType too.
- Added a patch "fix_i686_build.patch" to fix build on i686.</changelog>
  <changelog author="stefan.bruens@rwth-aachen.de" date="1519128000">- Drop ExclusiveArch, Vc 1.3.3 is no longer x86 only
  Add default_to_scalar_implementation_for_unknown_arch.patch
- Split documentation to subpackage
- Drop redundant %doc in front of %_docdir
- Remove unneeded fdupes BuildRequires</changelog>
  <changelog author="sean@suspend.net" date="1539604800">- Update to version 1.4.0:
  * i686 build failure build fixed upstream (#190)
    Drop fix_i686_build.patch
  * Drop default_to_scalar_implementation_for_unknown_arch.patch,
    fixed upstream.</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1540900800">- Add handle-missing-libmvec.patch to fix build issues on archs for
  which libmvec is not available.</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1541505600">- Add 0001-Fix-i686-build.patch to fix build failures on i686 targets.</changelog>
  <changelog author="Wolfgang Bauer &lt;wbauer@tmo.at&gt;" date="1562932800">- Use FAT lto objects as the package ships a static library</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1589371200">- Update to version 1.4.1:
  * No upstream changelog available
- Drop upstreamed patches:
  * 0001-Fix-i686-build.patch
  * handle-missing-libmvec.patch</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1622894400">- Add GCC 11 compatibility fix:
  * 0001-Add-missing-include-to-simdarray.h-275.patch</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1640347200">- Fix Vc-devel dependencies.
  VcTargets.cmake defines the Vc::Vc target which points to
  libVc.a. Vc-devel needs an explicit dependency on the package
  containing the static library.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1641297600">- update to 1.4.2:
  * Added a missing include for GCC11.
  * Fixed a corner case in the unit tests
  * Fixed a warning in the unit tests.
  * Removed the deprecated Vector&lt;T, VectorAbi::Scalar&gt;::reinterpretCast
    to fix a warning with GCC10
  * Avoid potentially pessimizing std::move in return statements.
  * Avoid redefinition of bit_scan{forward,reverse} macros.
  * Improved performance of simized random access containers
- drop 0001-Add-missing-include-to-simdarray.h-275.patch (upstream)</changelog>
  <changelog author="Asterios Dramis &lt;asterios.dramis@gmail.com&gt;" date="1657022400">- Update to version 1.4.3:
  * See https://github.com/VcDevel/Vc/releases/tag/1.4.3 for
    changelog.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1698062400">- Update to version 1.4.4
  * Add missing vectorcall to isImplementationSupported
  * Adapt to cpp17: std::iterator is deprecated
  * Rename None to NoTransformation in enum class Category to avoid
    a clash with X11 library
  * Fix horizontal min/max for uchar</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1719144000">- Update to version 1.4.5:
  * Small CMake improvements (gh#VcDevel/Vc#360).
  * Replace uses exec_program with execute_process
    (gh#VcDevel/Vc#364).</changelog>
</package>
<package pkgid="2579e7d0ee976390d1de829bb131c966d2eb17d9994e5a413bb4f59c19bc828f0b418527935013dd988e4f5dcb8a8063bc7f6cb3bb2599c868c33fcac98cbead" name="Vc-devel" arch="x86_64">
  <version epoch="0" ver="1.4.5" rel="1.1"/>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1540900800">- Add handle-missing-libmvec.patch to fix build issues on archs for
  which libmvec is not available.</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1541505600">- Add 0001-Fix-i686-build.patch to fix build failures on i686 targets.</changelog>
  <changelog author="Wolfgang Bauer &lt;wbauer@tmo.at&gt;" date="1562932800">- Use FAT lto objects as the package ships a static library</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1589371200">- Update to version 1.4.1:
  * No upstream changelog available
- Drop upstreamed patches:
  * 0001-Fix-i686-build.patch
  * handle-missing-libmvec.patch</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1622894400">- Add GCC 11 compatibility fix:
  * 0001-Add-missing-include-to-simdarray.h-275.patch</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1640347200">- Fix Vc-devel dependencies.
  VcTargets.cmake defines the Vc::Vc target which points to
  libVc.a. Vc-devel needs an explicit dependency on the package
  containing the static library.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1641297600">- update to 1.4.2:
  * Added a missing include for GCC11.
  * Fixed a corner case in the unit tests
  * Fixed a warning in the unit tests.
  * Removed the deprecated Vector&lt;T, VectorAbi::Scalar&gt;::reinterpretCast
    to fix a warning with GCC10
  * Avoid potentially pessimizing std::move in return statements.
  * Avoid redefinition of bit_scan{forward,reverse} macros.
  * Improved performance of simized random access containers
- drop 0001-Add-missing-include-to-simdarray.h-275.patch (upstream)</changelog>
  <changelog author="Asterios Dramis &lt;asterios.dramis@gmail.com&gt;" date="1657022400">- Update to version 1.4.3:
  * See https://github.com/VcDevel/Vc/releases/tag/1.4.3 for
    changelog.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1698062400">- Update to version 1.4.4
  * Add missing vectorcall to isImplementationSupported
  * Adapt to cpp17: std::iterator is deprecated
  * Rename None to NoTransformation in enum class Category to avoid
    a clash with X11 library
  * Fix horizontal min/max for uchar</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1719144000">- Update to version 1.4.5:
  * Small CMake improvements (gh#VcDevel/Vc#360).
  * Replace uses exec_program with execute_process
    (gh#VcDevel/Vc#364).</changelog>
</package>
<package pkgid="2b3d0d037164e0b28259cbf5b24f32eea9575632661c17b99387ee1000441c40c33fe71d9b5cedb9ee97f43a9cbb8dabe7835b56aeac8b485e22cbfea4bc1030" name="Vc-devel-doc" arch="noarch">
  <version epoch="0" ver="1.4.5" rel="1.1"/>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1540900800">- Add handle-missing-libmvec.patch to fix build issues on archs for
  which libmvec is not available.</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1541505600">- Add 0001-Fix-i686-build.patch to fix build failures on i686 targets.</changelog>
  <changelog author="Wolfgang Bauer &lt;wbauer@tmo.at&gt;" date="1562932800">- Use FAT lto objects as the package ships a static library</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1589371200">- Update to version 1.4.1:
  * No upstream changelog available
- Drop upstreamed patches:
  * 0001-Fix-i686-build.patch
  * handle-missing-libmvec.patch</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1622894400">- Add GCC 11 compatibility fix:
  * 0001-Add-missing-include-to-simdarray.h-275.patch</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1640347200">- Fix Vc-devel dependencies.
  VcTargets.cmake defines the Vc::Vc target which points to
  libVc.a. Vc-devel needs an explicit dependency on the package
  containing the static library.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1641297600">- update to 1.4.2:
  * Added a missing include for GCC11.
  * Fixed a corner case in the unit tests
  * Fixed a warning in the unit tests.
  * Removed the deprecated Vector&lt;T, VectorAbi::Scalar&gt;::reinterpretCast
    to fix a warning with GCC10
  * Avoid potentially pessimizing std::move in return statements.
  * Avoid redefinition of bit_scan{forward,reverse} macros.
  * Improved performance of simized random access containers
- drop 0001-Add-missing-include-to-simdarray.h-275.patch (upstream)</changelog>
  <changelog author="Asterios Dramis &lt;asterios.dramis@gmail.com&gt;" date="1657022400">- Update to version 1.4.3:
  * See https://github.com/VcDevel/Vc/releases/tag/1.4.3 for
    changelog.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1698062400">- Update to version 1.4.4
  * Add missing vectorcall to isImplementationSupported
  * Adapt to cpp17: std::iterator is deprecated
  * Rename None to NoTransformation in enum class Category to avoid
    a clash with X11 library
  * Fix horizontal min/max for uchar</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1719144000">- Update to version 1.4.5:
  * Small CMake improvements (gh#VcDevel/Vc#360).
  * Replace uses exec_program with execute_process
    (gh#VcDevel/Vc#364).</changelog>
</package>
<package pkgid="12a02fbd9e28d33d71663af388494bfc80fec8fe826d7b025ec8799fc11394bcb360aaef974d95ac3e23d93e2c8133f9f87df82445dcc6eab7713bd4f80ea4d1" name="Vc-devel-static" arch="x86_64">
  <version epoch="0" ver="1.4.5" rel="1.1"/>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1540900800">- Add handle-missing-libmvec.patch to fix build issues on archs for
  which libmvec is not available.</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1541505600">- Add 0001-Fix-i686-build.patch to fix build failures on i686 targets.</changelog>
  <changelog author="Wolfgang Bauer &lt;wbauer@tmo.at&gt;" date="1562932800">- Use FAT lto objects as the package ships a static library</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1589371200">- Update to version 1.4.1:
  * No upstream changelog available
- Drop upstreamed patches:
  * 0001-Fix-i686-build.patch
  * handle-missing-libmvec.patch</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1622894400">- Add GCC 11 compatibility fix:
  * 0001-Add-missing-include-to-simdarray.h-275.patch</changelog>
  <changelog author="Christophe Giboudeaux &lt;christophe@krop.fr&gt;" date="1640347200">- Fix Vc-devel dependencies.
  VcTargets.cmake defines the Vc::Vc target which points to
  libVc.a. Vc-devel needs an explicit dependency on the package
  containing the static library.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1641297600">- update to 1.4.2:
  * Added a missing include for GCC11.
  * Fixed a corner case in the unit tests
  * Fixed a warning in the unit tests.
  * Removed the deprecated Vector&lt;T, VectorAbi::Scalar&gt;::reinterpretCast
    to fix a warning with GCC10
  * Avoid potentially pessimizing std::move in return statements.
  * Avoid redefinition of bit_scan{forward,reverse} macros.
  * Improved performance of simized random access containers
- drop 0001-Add-missing-include-to-simdarray.h-275.patch (upstream)</changelog>
  <changelog author="Asterios Dramis &lt;asterios.dramis@gmail.com&gt;" date="1657022400">- Update to version 1.4.3:
  * See https://github.com/VcDevel/Vc/releases/tag/1.4.3 for
    changelog.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1698062400">- Update to version 1.4.4
  * Add missing vectorcall to isImplementationSupported
  * Adapt to cpp17: std::iterator is deprecated
  * Rename None to NoTransformation in enum class Category to avoid
    a clash with X11 library
  * Fix horizontal min/max for uchar</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1719144000">- Update to version 1.4.5:
  * Small CMake improvements (gh#VcDevel/Vc#360).
  * Replace uses exec_program with execute_process
    (gh#VcDevel/Vc#364).</changelog>
</package>
<package pkgid="0a3922d1420c9b3ef82d116e9e99d6f062627266ff5cd2dfe18ed57710d289877b9a4e8e915a8bd8ba18f65c735b02f7cdb9d5e7c0bac4e808e94bca805ccd8d" name="aaa_base" arch="i586">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="4bc348f210f6021da01e4432fa8f0f4ef2102ad98e195e891cab27e0ae390ae931e9907c4e25cc7d25b8dea175b3e37e939679aff7cc1561ecf220189327e28d" name="aaa_base" arch="src">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="073f898ffb9cd66a0328292555ba1d6a93fa3acc72a99eec12abae85919cab35b481a3179d095a0ca6dad92c820bfd6b8aae33aae60f60e476c3f326b249aaaa" name="aaa_base" arch="x86_64">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="53b2798161fbb53e4ce55f922ed848cce533b0954cbba725f3174cdd4f79ae3e581423a513dd421cf7cfe9321476e9969b513399dd0917a1b881154339590905" name="aaa_base-debuginfo" arch="i586">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="f6f6336459ad19460fbadf490d0a5bf98f24411aa5e258372d6441f7e6d0fc7577ce0132dcb0f6b56fc31f182c8cfd02714a206bddf830d7e4558ed609eb3d26" name="aaa_base-debuginfo" arch="x86_64">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="0b06cbe1e9552923880b6fbaca4c26dc1ea1e738ee2307ecd626c757e18cff08af3e8cc578068d8fdd25a0b7ae8c0be52f1425c0dc5643d83634903105fef6ae" name="aaa_base-debugsource" arch="i586">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="02522bd7ba3496192c3963afb881d898a6a787b2b95be7fc7ff19e4cf7509967eb4408839d2744df88cafde7e07035d986796379a8f161b851c4660c2a535464" name="aaa_base-debugsource" arch="x86_64">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="594f5e3dc392a41ed6e81a95ca073dd01bf1c8b30ac493a58af78f18782659a39df2360ec6aa64d4f76615c9e0f6d402fd90b56ebb10aea6dda73a29474beec9" name="aaa_base-extras" arch="i586">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="34ef06f73b40b6be593617698897350b2ef130ea0ce03b7df28222c1948a26930d9dd94cfa8b93e8be3739dc47464de10debe8e330d56a8f6e7ae4d0fa4c06aa" name="aaa_base-extras" arch="x86_64">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="3a4694d849d5b086b5a0eb2ab1ae1c7d6046bb46ad55cad29acea32bf7cdd56eab7451819b2d55df5e8dcaa5c16c33f7f42723959884f8eb5436b38ae904ed05" name="aaa_base-malloccheck" arch="i586">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="5dbaf8c5a653dda70a4d85652ac5e5dab74273a9bac5ad0550ecb1f577904fbcc4fb3b8864a5b00750c98370a33b637d22476185657306eff9d6dbce4bc72456" name="aaa_base-malloccheck" arch="x86_64">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="f53369b23be959b20320abf7029c95a8609b10ec8778579775c7e59527a65f23cab62f0edd4d199898948d437cb91d9955460e3eb8a640ec5d19ff60b548c2f3" name="aaa_base-wsl" arch="i586">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="6ec9ba9963ad74e4fcf7f9e3499e5a63eb0ae68ac07a7c47314da419115bc4b2dddd9d076612e1d7a24a740d91bbe2b2a467c7858da449223cce4e242edddd2d" name="aaa_base-wsl" arch="x86_64">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="37b2359f7a4bb5fb957bc770e6f0831aebb364dd83bd4b32ec0481b4f08ffc3501f64099799e7295cff66cda86e110e2879aa89b87709cf22889911bce4a3b9f" name="aaa_base-yama-enable-ptrace" arch="i586">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="2560dd55e2076098a57c003e0da9b07203bcb39eac5f982b926f44989f65efe4acd73f5243946bd20599136a5c74bdcb01f543e52ac5aa8bee45be469a47180c" name="aaa_base-yama-enable-ptrace" arch="x86_64">
  <version epoch="0" ver="84.87+git20240620.57ee9e1" rel="1.1"/>
  <changelog author="lnussel@suse.de" date="1647864000">- Update to version 84.87+git20220321.f60f2de:
  * order header in the way spec-cleaner wants it
  * move changes from package to git
  * merge audio files highlighting fixes from coreutils 9
  * Update from coreutils 9
  * Make source validator happy</changelog>
  <changelog author="dmueller@suse.com" date="1648123200">- Update to version 84.87+git20220324.fca4619:
  * No completion in restricted bash
  * No longer install /usr/lib/restricted/bin/hostname =&gt; /bin/hostname symlink</changelog>
  <changelog author="lnussel@suse.de" date="1649678400">- Update to version 84.87+git20220411.adfb912:
  * move bash completion back to -extras (bsc#1187213)</changelog>
  <changelog author="lnussel@suse.de" date="1650369600">- Update to version 84.87+git20220419.bf51b75:
  * add Yama LSM sysctl setting and description
  * Stop lowering the inotify limit
  * move DIR_COLORS to where ls.bash is</changelog>
  <changelog author="werner@suse.de" date="1652875200">- Update to version 84.87+git20220518.78b2a0b:
  * The wrapper rootsh is not a restricted shell</changelog>
  <changelog author="werner@suse.de" date="1652875201">- Update to version 84.87+git20220518.dc83f4e:
  * Also in /etc/profile, rootsh is not restricted</changelog>
  <changelog author="gmbr3@opensuse.org" date="1659700800">- Update to version 84.87+git20220727.43b9e53:
  * Use HOSTTYPE in MACHTYPE
  * Move suse to VENDOR
  * Use /var/mail for MAIL</changelog>
  <changelog author="lnussel@suse.de" date="1662465600">- Update to version 84.87+git20220822.6b9f7a3:
  * Simplify XDG_CONFIG_DIRS (boo#1201802)</changelog>
  <changelog author="lnussel@suse.de" date="1676894400">- Update to version 84.87+git20230220.2991cfd:
  * Add instructions to build in place
  * Remove pre scriptlet
  * Don't create mtab symlink
  * Don't create /root/.bash_history
  * Don't enable lastlog by default
  * Fix #91: do not accidental unset shell functions
  * Prepare more /etc cleanup</changelog>
  <changelog author="lnussel@suse.de" date="1678363200">- Update to version 84.87+git20230309.04eae92:
  * Add conditional glibc requirement back
  * Keep owning /etc/sysctl.conf to avoid rpmsave</changelog>
  <changelog author="lnussel@suse.de" date="1680091200">- Update to version 84.87+git20230329.b39efbc:
  * Fix glibc requirement</changelog>
  <changelog author="lnussel@suse.com" date="1692100800">- Update to version 84.87+git20230815.cab7b44:
  * Remove broken autocompletion overrides and restore default bash behavior
  * Add foot to DIR_COLORS
  * files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
  * files/u/s/smart_agetty: replace shebang with /bin/sh
  * files/u/s/service: avoid bashism, fix shellcheck warnings
  * files/u/s/refresh_initrd: make POSIX compliant
  * files/u/b/safe-rm: make POSIX compliant
  * aaa_base.post: replace shebang with /usr/sh
  * files/u/b/old: make POSIX compliant</changelog>
  <changelog author="lnussel@suse.de" date="1698062400">- Update to version 84.87+git20231023.f347d36:
  * Remove %ghost lastlog entry, lastlog is long gone
  * Remove shaky safe-rm and safe-rmdir helpers (bsc#1159103)</changelog>
  <changelog author="ro@suse.com" date="1706875200">- Update to version 84.87+git20240202.9526d46:
  * properly shorten the variable when setting JAVA_HOME and JRE_HOME
  * silence output of alljava
  * Restrict ptrace with Yama LSM by default
  * patch alljava.sh and alljava.csh, use the links from update alternatives</changelog>
  <changelog author="lnussel@suse.com" date="1712059200">- Update to version 84.87+git20240402.16596d1:
  * add alacritty to DIR_COLORS
  * Make sure tput it present before resetting TERM
  * Add mc helpers for both tcsh and bash resources
  * Do not overwrite escape sequences for xterm like
  * Check for valid TERM</changelog>
  <changelog author="lnussel@suse.com" date="1713182400">- Update to version 84.87+git20240415.e6815bf:
  * drop obsolete 50-default-s390.conf (bsc#1211721)
  * fix typo in alljava.csh and drop stderr redirection</changelog>
  <changelog author="kukuk@suse.com" date="1716552000">- Update to version 84.87+git20240523.10a5692:
  * Add tmpfiles.d/soft-reboot-cleanup.conf</changelog>
  <changelog author="ro@suse.com" date="1718366400">- Update to version 84.87+git20240614.332933e:
  * Do not save/restore cursor for foot at status line
  * Add tmux and others to DIR_COLORS (Issue #116)
  * Remove kernel.pid_max limit (bsc#1219038)
  * Add subpackge to enable ptrace</changelog>
  <changelog author="ro@suse.com" date="1718625600">- Update to version 84.87+git20240617.f5ff27f:
  * add /usr/bin/nu to etc/shells for nushell</changelog>
  <changelog author="kukuk@suse.com" date="1718971200">- Update to version 84.87+git20240620.57ee9e1:
  * Remove legacy-actions support [jsc#PED-264]</changelog>
</package>
<package pkgid="7fce0b3b7984125f38b0c4e26abd7de6ba9bc25f36c24baefde1ab93965b149684d3d2ddd45a114fefdccb049636b424a830102e6dd2791c654c28128d415459" name="aalib" arch="i586">
  <version epoch="0" ver="1.4.0" rel="515.0.2.2.sr20240605"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="16b26de05d977816a0ac3eecea2529fe12f2ee6db8f25dd01c6b71d90aababfe2b4f376cd246d5f7361e7fd03803e40541344ad23099796da2a7844d40b96ef1" name="aalib" arch="src">
  <version epoch="0" ver="1.4.0" rel="515.0.2.2.sr20240605"/>
  <changelog author="crrodriguez@opensuse.org" date="1254744000">- fix aalib-1.4.0-477.9: possible missing call to fclose [bnc#523344]</changelog>
  <changelog author="jengelh@medozas.de" date="1264593600">- package baselibs.conf</changelog>
  <changelog author="aj@suse.de" date="1283860800">- BuildRequire gpm-devel</changelog>
  <changelog author="coolo@suse.com" date="1315224000">- fix build with newer ld</changelog>
  <changelog author="jengelh@medozas.de" date="1316174400">- Implement shlib policy
- Remove redundant tags; use %_smp_mflags</changelog>
  <changelog author="coolo@suse.com" date="1317384000">- add libtool as buildrequire to make the spec file more reliable</changelog>
  <changelog author="coolo@suse.com" date="1323259200">- fix license to be in spdx.org format</changelog>
  <changelog author="jengelh@medozas.de" date="1328961600">- Strip distinct version from -devel subpackage</changelog>
  <changelog author="mmeister@suse.com" date="1363608000">- Replace Source with Link to source</changelog>
  <changelog author="mmeister@suse.com" date="1363953600">- Added url as source.
  Please see http://en.opensuse.org/SourceUrls</changelog>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="f85819e451ba66bd8f8d7f6e516442169fe3eb5991b0cc279ad4b5b0c0b73583798300327f29d9a6825105afc6fde64540d7a81d5588a300b9f71c544449333e" name="aalib" arch="x86_64">
  <version epoch="0" ver="1.4.0" rel="515.0.2.2.sr20240605"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="d2a4f0f62213ba6ba7eb04c6763e5e3732bb4d46aeb2e73d53cab15354c5592c74e1d75c29849a9ce3f9770323206c30784ad625b732bfaf00507590c1184ec7" name="aalib" arch="src">
  <version epoch="0" ver="1.4.0" rel="515.1"/>
  <changelog author="crrodriguez@opensuse.org" date="1254744000">- fix aalib-1.4.0-477.9: possible missing call to fclose [bnc#523344]</changelog>
  <changelog author="jengelh@medozas.de" date="1264593600">- package baselibs.conf</changelog>
  <changelog author="aj@suse.de" date="1283860800">- BuildRequire gpm-devel</changelog>
  <changelog author="coolo@suse.com" date="1315224000">- fix build with newer ld</changelog>
  <changelog author="jengelh@medozas.de" date="1316174400">- Implement shlib policy
- Remove redundant tags; use %_smp_mflags</changelog>
  <changelog author="coolo@suse.com" date="1317384000">- add libtool as buildrequire to make the spec file more reliable</changelog>
  <changelog author="coolo@suse.com" date="1323259200">- fix license to be in spdx.org format</changelog>
  <changelog author="jengelh@medozas.de" date="1328961600">- Strip distinct version from -devel subpackage</changelog>
  <changelog author="mmeister@suse.com" date="1363608000">- Replace Source with Link to source</changelog>
  <changelog author="mmeister@suse.com" date="1363953600">- Added url as source.
  Please see http://en.opensuse.org/SourceUrls</changelog>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="e46378a5cb8c6a9bcdfa0f30d042e1ed05816a0a21e3b332188820c60831dfc1412ce17d588d1bdeff201daaf15ad7a6164cae1647eceb5c339c7007c6c9f09a" name="aalib" arch="x86_64">
  <version epoch="0" ver="1.4.0" rel="515.1"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="45888ac3399110c57612308b23f2c32347962c0150fae150ef65eced7faa6ebdd0b6e038e3a486a079ec973b37615f3db34898d474b2f880518867102c4cc907" name="aalib-debuginfo" arch="i586">
  <version epoch="0" ver="1.4.0" rel="515.0.2.2.sr20240605"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="33c22bac34d7cbb7004324ae9ed6cac6352b709467825749ef25a2a17f8e9799b55e7645c78134ebc1f2a3c8283c7481ef182c0e29b0beade4bd96a88ab8ce11" name="aalib-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.4.0" rel="515.0.2.2.sr20240605"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="513ab3f0db1271191916e08049ab0050d144aeb459cf7e7a5a12bc952b16a1a51f307bed5eb39f27994868586ce806a1501fbe64d77e46e8a4d75cf2ce1939de" name="aalib-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.4.0" rel="515.1"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="1119bc59a046729bd5a70e90723f3d9da078c63346a7ce2ef3627fa8429e8c2a3f624857201218e28e03bc11a6774ddc3ed7c835fd6488330a4e0598e55f4338" name="aalib-debugsource" arch="i586">
  <version epoch="0" ver="1.4.0" rel="515.0.2.2.sr20240605"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="088cb53a50940290021c0f7442db5953c540c5308943f769cbbc92616fc013e49b60a77299fc92c4c07acbb898b7349be559400ee5485cbc8e2ab9e54f73f242" name="aalib-debugsource" arch="x86_64">
  <version epoch="0" ver="1.4.0" rel="515.0.2.2.sr20240605"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="806e94cd77d69302a21d85f93d12773d27ed9bfd2380f8ed6de608719c9cdd4f862cadcc0de3c3f339aa598f70e438b0d73b535d6c5983c91b94fb3dc9a88175" name="aalib-debugsource" arch="x86_64">
  <version epoch="0" ver="1.4.0" rel="515.1"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="517e55b856060261c62f6605a03c44b72521b60847d8c9212327f8c9af8d015815d6837f4b15f052e10d6cf98058b43b2d451e8300c1d75b12b3759fec122e03" name="aalib-devel" arch="i586">
  <version epoch="0" ver="1.4.0" rel="515.0.2.2.sr20240605"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="5ec53af1269eb0e7bf90c103096c024f6f743be9ffc67ce31222499738ede135803f0a6baf8cc6c407735f32181c7a649741af8759a1c4a6fb2212e3748b4737" name="aalib-devel" arch="x86_64">
  <version epoch="0" ver="1.4.0" rel="515.0.2.2.sr20240605"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="a19453241f2e5a5ebe77b4193e75149cc1cc62eeeef02d9d4aba413543da775dd0684e70a3abd26a58b3d98f9500b4e5bcf2794e92ed34e1997ab0d94653e324" name="aalib-devel" arch="x86_64">
  <version epoch="0" ver="1.4.0" rel="515.1"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="cface52acd7a526a86fc15c67c4ce3050a71eaf3f1fddf9eea36ed35a077a5d445f268c5dc2112307693bb9e7ec39ad8f8c66c14c82207801bba00b79e06e84b" name="aalib-devel-32bit" arch="x86_64">
  <version epoch="0" ver="1.4.0" rel="515.0.2.2.sr20240605"/>
  <changelog author="crrodriguez@opensuse.org" date="1410782400">- Use pkgconfig(x11) not metapackage xorg-x11-devel</changelog>
  <changelog author="meissner@suse.com" date="1431864000">- info deinstall needs to be in preun section.</changelog>
  <changelog author="dimstar@opensuse.org" date="1441800000">- Add aalib-ncurses-6.0-accessors.patch: Fix build with
  NCurses 6.0 with WINDOW_OPAQUE set to 1.</changelog>
  <changelog author="meissner@suse.com" date="1445083200">- aavga.dif: add -fno-stack-protector to shared aavga.so object build</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1623067200">- Drop --with-pic (no effect with --disable-static).
- Run fdupes, and trim old rpm constructs.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1662897600">- avoid ffast-math (ggo#55522)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1668513600">- Homepage link http://aa-project.sourceforge.net/ is a permanent
  redirect to its HTTPS counterpart https://aa-project.sourceforge.net/</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1714996800">- Add -fpermissive to optflags (boo#1223910).</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1715256000">- Remove conditionals for SUSE 11.3</changelog>
</package>
<package pkgid="8775b68c5a4675549c1a987f34ea033bc5b4a8ebd2db340d684cd3dfb56563b688ed5df5ba0018660e36054e3b51453f4cdf067a16e0704d091e9b5f83c6b4c8" name="accessibility-inspector" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710504000">- Init accessibility-inspector</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="0acc53cc85e84f481ef4c24e22c285c248ec7b489655512d6e57db1c639b47626dc3f7eb86a28d77674dc25bbed5cd8e9ef29f5e44769e843fcd357276536749" name="accessibility-inspector" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710504000">- Init accessibility-inspector</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="ec8be6311e84100b153277e5e4f193d0a6fad39439517c7eb5bda141b01a7da023df9fb52e8f662d8bd086d7102e83e1bded042dd6fb024a38ae712535f518b0" name="accessibility-inspector-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710504000">- Init accessibility-inspector</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="4e8814bfda0c0962ef31cd19e4e6edcbc7981a45e6579c3455d1c2f9c668a6b871326b2db28f3782307a8e089cca7ec6d6c672e3b2556995c5655b320a01326e" name="accessibility-inspector-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710504000">- Init accessibility-inspector</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="f1674f1c1c8bf032f70bccd853136fe90d29b55d4bd5e60799f3d6672ed4eabbd2fb9afd7a58db06763a0fdec91111b23f35c7e99c071d9a29d7503297340999" name="accessibility-inspector-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710504000">- Init accessibility-inspector</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="63354eaf72a9aa9b4df4c93e8a7f36cd9dcd46a4f1d4b7ec86f9001b83729c1e85e1c99973d91d56b2036381ba4c99f354c3fe313ca86711057b9095c721ad25" name="accountsservice" arch="src">
  <version epoch="0" ver="23.13.9" rel="9.1"/>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1579953600">- No longer recommend -lang: supplements are in use</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1586865600">- Apply as-fate318433-prevent-same-account-multi-logins.patch to Leap.</changelog>
  <changelog author="Antoine Belvire &lt;antoine.belvire@opensuse.org&gt;" date="1614686400">- Add accountsservice-fix-gdm-crash.patch: Prevent crash of gdm
  upon service restart when automatic login is enabled
  (glfo#accountsservice/accountsservice#55).</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627387200">- Added hardening to systemd service(s). Added patch(es):
  * harden_accounts-daemon.service.patch</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1628510400">- Spec layout cleaning up for harden_accounts-daemon.service.patch.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1629979200">- Update harden_accounts-daemon.service.patch: Do not proect home
  directories: the accounts daemon is used to create home
  directories upon user creation (boo#1189853).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1636027200">- Stop passing the no longer used nor recognized option
  user-heuristics=true to meson.</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1643716800">- Add ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch: Fix build
  with meson 0.61.0.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 22.08.8
  + Handle missing admin groups when changing account types
  + Set PrivateTmp to false in the systemd service
  + Add function to set user password expiration policy
- Update to version 22.04.62
  + Updated Swedish translation
  + Updated Indonesian translation
  + Updated German translation
  + Updated slovak translation
  + Update Ukrainian translation
  + Updated Brazilian Portuguese translation
  + act-user: Use stronger hashing methods in make_crypted() if available.
  + act-user-manager: Watch for the daemon going away and coming back
  + user-manager: Update users tables on username changes
  + user: Translate property x-session property name to match the proxy one
  + Check GDBusMessage for INTERACTIVE_AUTHORIZATION flag
  + daemon: Fix error check in save_autologin()
  + Never delete the root filesystem when removing users
  + Remove user heuristics
  + user-classify: Add git to username blacklist
  + daemon: ensure cache files for system users are processed
  + daemon: Don't try to add admin users to non existing groups
  + Move D-Bus conf file to $(datadir)/dbus-1/system.d
- Rebased patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch
  + as-fate318433-prevent-same-account-multi-logins.patch
- Drop upstream fixed patches:
  + ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch
  + accountsservice-fix-gdm-crash.patch
  + accountsservice-read-root-user-cache.patch
  + accountsservice-wtmp-io-improvements.patch</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1659096000">- Allow to build without vala support.
- Refresh harden_accounts-daemon.service.patch to not duplicate
  existing entries.</changelog>
  <changelog author="Matthias Gerstner &lt;matthias.gerstner@suse.com&gt;" date="1659355200">- Remove BuildIgnore for rpmlint-mini. This is a violation of the
  security policies applying to SUSE products as it circumvents the
  SUSE security team's control over what enters Factory and what
  not.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1687348800">- Update to version 23.13.9:
  + daemon: Fix boot delay
  + user-manager:
  - Add cancellable to fetch user requests
  - Track non-existent users
- Changes from version 23.11.69:
  + Add lightdm autologin support
  + user:
  - Return an error when setting invalid language
  - Throw a warning for invalid locales
  - Support new LocalAccount property in cache file
  - Replace usermod -p with chpasswd -e
  + main:
  - Use new overridable USERDIR
  - Use new overridable ICONDIR
  - Use new overridable sysconfdir
  + daemon:
  - Add GetUsersLanguages() function
  - Don't crash if /etc/shadow doesn't exist
  + Updated translations.
- Rebase patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1687608000">- Add accountsservice-assume-gdm.patch: assume gdm when not being
  able to detect the used display manager. This is basically the
  same as was in place before we gained support for multiple DMs
  (boo#1212675).</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1688558400">- Rebase accountsservice-sysconfig.patch: (boo#1212675 boo#1212973).
- Remove accountsservice-assume-gdm.patch: Fixed by new rebasing
  of accountsservice-sysconfig.patch.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1691582400">- Rebase as-fate318433-prevent-same-account-multi-logins.patch:
  (bsc#1213884).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701172800">- Use %patch -p N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707912000">- First part to fix build with GCC 14:
  + Inject patched mocklibc-1.0.tar.gz: only some header
    modifications to address implicit declaration of print_indent.
  + Add accountsservice-mocklib-gcc14.patch: patch meson'
    subproject definition to validate the injected tarball.</changelog>
  <changelog author="xiaoguang wang &lt;xiaoguang.wang@suse.com&gt;" date="1709035200">- Rebase accountsservice-sysconfig.patch: to fix build with GCC 14
  (bsc#1219909).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715083200">- Keep en and en_GB 'translations' in the main package: do not
  force -lang packages onto all users.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1718798400">- Update accountsservice-sysconfig.patch: work with SELinux policy
  (bsc#1222978).</changelog>
</package>
<package pkgid="c71277bd883d05c09ef84f99bae15e77b62c4525fd6de696faad95ed0d6a820536b44a834921c48ac0313bde8cb09ef125660a414a2de5aac550b369052dfa61" name="accountsservice" arch="x86_64">
  <version epoch="0" ver="23.13.9" rel="9.1"/>
  <changelog author="Antoine Belvire &lt;antoine.belvire@opensuse.org&gt;" date="1614686400">- Add accountsservice-fix-gdm-crash.patch: Prevent crash of gdm
  upon service restart when automatic login is enabled
  (glfo#accountsservice/accountsservice#55).</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627387200">- Added hardening to systemd service(s). Added patch(es):
  * harden_accounts-daemon.service.patch</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1628510400">- Spec layout cleaning up for harden_accounts-daemon.service.patch.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1629979200">- Update harden_accounts-daemon.service.patch: Do not proect home
  directories: the accounts daemon is used to create home
  directories upon user creation (boo#1189853).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1636027200">- Stop passing the no longer used nor recognized option
  user-heuristics=true to meson.</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1643716800">- Add ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch: Fix build
  with meson 0.61.0.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 22.08.8
  + Handle missing admin groups when changing account types
  + Set PrivateTmp to false in the systemd service
  + Add function to set user password expiration policy
- Update to version 22.04.62
  + Updated Swedish translation
  + Updated Indonesian translation
  + Updated German translation
  + Updated slovak translation
  + Update Ukrainian translation
  + Updated Brazilian Portuguese translation
  + act-user: Use stronger hashing methods in make_crypted() if available.
  + act-user-manager: Watch for the daemon going away and coming back
  + user-manager: Update users tables on username changes
  + user: Translate property x-session property name to match the proxy one
  + Check GDBusMessage for INTERACTIVE_AUTHORIZATION flag
  + daemon: Fix error check in save_autologin()
  + Never delete the root filesystem when removing users
  + Remove user heuristics
  + user-classify: Add git to username blacklist
  + daemon: ensure cache files for system users are processed
  + daemon: Don't try to add admin users to non existing groups
  + Move D-Bus conf file to $(datadir)/dbus-1/system.d
- Rebased patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch
  + as-fate318433-prevent-same-account-multi-logins.patch
- Drop upstream fixed patches:
  + ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch
  + accountsservice-fix-gdm-crash.patch
  + accountsservice-read-root-user-cache.patch
  + accountsservice-wtmp-io-improvements.patch</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1659096000">- Allow to build without vala support.
- Refresh harden_accounts-daemon.service.patch to not duplicate
  existing entries.</changelog>
  <changelog author="Matthias Gerstner &lt;matthias.gerstner@suse.com&gt;" date="1659355200">- Remove BuildIgnore for rpmlint-mini. This is a violation of the
  security policies applying to SUSE products as it circumvents the
  SUSE security team's control over what enters Factory and what
  not.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1687348800">- Update to version 23.13.9:
  + daemon: Fix boot delay
  + user-manager:
  - Add cancellable to fetch user requests
  - Track non-existent users
- Changes from version 23.11.69:
  + Add lightdm autologin support
  + user:
  - Return an error when setting invalid language
  - Throw a warning for invalid locales
  - Support new LocalAccount property in cache file
  - Replace usermod -p with chpasswd -e
  + main:
  - Use new overridable USERDIR
  - Use new overridable ICONDIR
  - Use new overridable sysconfdir
  + daemon:
  - Add GetUsersLanguages() function
  - Don't crash if /etc/shadow doesn't exist
  + Updated translations.
- Rebase patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1687608000">- Add accountsservice-assume-gdm.patch: assume gdm when not being
  able to detect the used display manager. This is basically the
  same as was in place before we gained support for multiple DMs
  (boo#1212675).</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1688558400">- Rebase accountsservice-sysconfig.patch: (boo#1212675 boo#1212973).
- Remove accountsservice-assume-gdm.patch: Fixed by new rebasing
  of accountsservice-sysconfig.patch.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1691582400">- Rebase as-fate318433-prevent-same-account-multi-logins.patch:
  (bsc#1213884).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701172800">- Use %patch -p N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707912000">- First part to fix build with GCC 14:
  + Inject patched mocklibc-1.0.tar.gz: only some header
    modifications to address implicit declaration of print_indent.
  + Add accountsservice-mocklib-gcc14.patch: patch meson'
    subproject definition to validate the injected tarball.</changelog>
  <changelog author="xiaoguang wang &lt;xiaoguang.wang@suse.com&gt;" date="1709035200">- Rebase accountsservice-sysconfig.patch: to fix build with GCC 14
  (bsc#1219909).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715083200">- Keep en and en_GB 'translations' in the main package: do not
  force -lang packages onto all users.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1718798400">- Update accountsservice-sysconfig.patch: work with SELinux policy
  (bsc#1222978).</changelog>
</package>
<package pkgid="a556c589c07ad33bf6ae67ed875c8f06d79fc03aa505226dbf54914e9ac9762b7ef892704856532e645cad192430638fb5b9a0ca536d99f1318564e6535e220e" name="accountsservice-debuginfo" arch="x86_64">
  <version epoch="0" ver="23.13.9" rel="9.1"/>
  <changelog author="Antoine Belvire &lt;antoine.belvire@opensuse.org&gt;" date="1614686400">- Add accountsservice-fix-gdm-crash.patch: Prevent crash of gdm
  upon service restart when automatic login is enabled
  (glfo#accountsservice/accountsservice#55).</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627387200">- Added hardening to systemd service(s). Added patch(es):
  * harden_accounts-daemon.service.patch</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1628510400">- Spec layout cleaning up for harden_accounts-daemon.service.patch.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1629979200">- Update harden_accounts-daemon.service.patch: Do not proect home
  directories: the accounts daemon is used to create home
  directories upon user creation (boo#1189853).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1636027200">- Stop passing the no longer used nor recognized option
  user-heuristics=true to meson.</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1643716800">- Add ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch: Fix build
  with meson 0.61.0.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 22.08.8
  + Handle missing admin groups when changing account types
  + Set PrivateTmp to false in the systemd service
  + Add function to set user password expiration policy
- Update to version 22.04.62
  + Updated Swedish translation
  + Updated Indonesian translation
  + Updated German translation
  + Updated slovak translation
  + Update Ukrainian translation
  + Updated Brazilian Portuguese translation
  + act-user: Use stronger hashing methods in make_crypted() if available.
  + act-user-manager: Watch for the daemon going away and coming back
  + user-manager: Update users tables on username changes
  + user: Translate property x-session property name to match the proxy one
  + Check GDBusMessage for INTERACTIVE_AUTHORIZATION flag
  + daemon: Fix error check in save_autologin()
  + Never delete the root filesystem when removing users
  + Remove user heuristics
  + user-classify: Add git to username blacklist
  + daemon: ensure cache files for system users are processed
  + daemon: Don't try to add admin users to non existing groups
  + Move D-Bus conf file to $(datadir)/dbus-1/system.d
- Rebased patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch
  + as-fate318433-prevent-same-account-multi-logins.patch
- Drop upstream fixed patches:
  + ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch
  + accountsservice-fix-gdm-crash.patch
  + accountsservice-read-root-user-cache.patch
  + accountsservice-wtmp-io-improvements.patch</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1659096000">- Allow to build without vala support.
- Refresh harden_accounts-daemon.service.patch to not duplicate
  existing entries.</changelog>
  <changelog author="Matthias Gerstner &lt;matthias.gerstner@suse.com&gt;" date="1659355200">- Remove BuildIgnore for rpmlint-mini. This is a violation of the
  security policies applying to SUSE products as it circumvents the
  SUSE security team's control over what enters Factory and what
  not.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1687348800">- Update to version 23.13.9:
  + daemon: Fix boot delay
  + user-manager:
  - Add cancellable to fetch user requests
  - Track non-existent users
- Changes from version 23.11.69:
  + Add lightdm autologin support
  + user:
  - Return an error when setting invalid language
  - Throw a warning for invalid locales
  - Support new LocalAccount property in cache file
  - Replace usermod -p with chpasswd -e
  + main:
  - Use new overridable USERDIR
  - Use new overridable ICONDIR
  - Use new overridable sysconfdir
  + daemon:
  - Add GetUsersLanguages() function
  - Don't crash if /etc/shadow doesn't exist
  + Updated translations.
- Rebase patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1687608000">- Add accountsservice-assume-gdm.patch: assume gdm when not being
  able to detect the used display manager. This is basically the
  same as was in place before we gained support for multiple DMs
  (boo#1212675).</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1688558400">- Rebase accountsservice-sysconfig.patch: (boo#1212675 boo#1212973).
- Remove accountsservice-assume-gdm.patch: Fixed by new rebasing
  of accountsservice-sysconfig.patch.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1691582400">- Rebase as-fate318433-prevent-same-account-multi-logins.patch:
  (bsc#1213884).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701172800">- Use %patch -p N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707912000">- First part to fix build with GCC 14:
  + Inject patched mocklibc-1.0.tar.gz: only some header
    modifications to address implicit declaration of print_indent.
  + Add accountsservice-mocklib-gcc14.patch: patch meson'
    subproject definition to validate the injected tarball.</changelog>
  <changelog author="xiaoguang wang &lt;xiaoguang.wang@suse.com&gt;" date="1709035200">- Rebase accountsservice-sysconfig.patch: to fix build with GCC 14
  (bsc#1219909).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715083200">- Keep en and en_GB 'translations' in the main package: do not
  force -lang packages onto all users.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1718798400">- Update accountsservice-sysconfig.patch: work with SELinux policy
  (bsc#1222978).</changelog>
</package>
<package pkgid="f5c94a5628fd0d9e8ed9596da346e2689e4b22031bb4b08166ed47b90250ca030fd86b66d060fb3d4c11e30295aa03fec03196b2ef38e610ec361de8d73c3074" name="accountsservice-debugsource" arch="x86_64">
  <version epoch="0" ver="23.13.9" rel="9.1"/>
  <changelog author="Antoine Belvire &lt;antoine.belvire@opensuse.org&gt;" date="1614686400">- Add accountsservice-fix-gdm-crash.patch: Prevent crash of gdm
  upon service restart when automatic login is enabled
  (glfo#accountsservice/accountsservice#55).</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627387200">- Added hardening to systemd service(s). Added patch(es):
  * harden_accounts-daemon.service.patch</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1628510400">- Spec layout cleaning up for harden_accounts-daemon.service.patch.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1629979200">- Update harden_accounts-daemon.service.patch: Do not proect home
  directories: the accounts daemon is used to create home
  directories upon user creation (boo#1189853).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1636027200">- Stop passing the no longer used nor recognized option
  user-heuristics=true to meson.</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1643716800">- Add ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch: Fix build
  with meson 0.61.0.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 22.08.8
  + Handle missing admin groups when changing account types
  + Set PrivateTmp to false in the systemd service
  + Add function to set user password expiration policy
- Update to version 22.04.62
  + Updated Swedish translation
  + Updated Indonesian translation
  + Updated German translation
  + Updated slovak translation
  + Update Ukrainian translation
  + Updated Brazilian Portuguese translation
  + act-user: Use stronger hashing methods in make_crypted() if available.
  + act-user-manager: Watch for the daemon going away and coming back
  + user-manager: Update users tables on username changes
  + user: Translate property x-session property name to match the proxy one
  + Check GDBusMessage for INTERACTIVE_AUTHORIZATION flag
  + daemon: Fix error check in save_autologin()
  + Never delete the root filesystem when removing users
  + Remove user heuristics
  + user-classify: Add git to username blacklist
  + daemon: ensure cache files for system users are processed
  + daemon: Don't try to add admin users to non existing groups
  + Move D-Bus conf file to $(datadir)/dbus-1/system.d
- Rebased patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch
  + as-fate318433-prevent-same-account-multi-logins.patch
- Drop upstream fixed patches:
  + ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch
  + accountsservice-fix-gdm-crash.patch
  + accountsservice-read-root-user-cache.patch
  + accountsservice-wtmp-io-improvements.patch</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1659096000">- Allow to build without vala support.
- Refresh harden_accounts-daemon.service.patch to not duplicate
  existing entries.</changelog>
  <changelog author="Matthias Gerstner &lt;matthias.gerstner@suse.com&gt;" date="1659355200">- Remove BuildIgnore for rpmlint-mini. This is a violation of the
  security policies applying to SUSE products as it circumvents the
  SUSE security team's control over what enters Factory and what
  not.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1687348800">- Update to version 23.13.9:
  + daemon: Fix boot delay
  + user-manager:
  - Add cancellable to fetch user requests
  - Track non-existent users
- Changes from version 23.11.69:
  + Add lightdm autologin support
  + user:
  - Return an error when setting invalid language
  - Throw a warning for invalid locales
  - Support new LocalAccount property in cache file
  - Replace usermod -p with chpasswd -e
  + main:
  - Use new overridable USERDIR
  - Use new overridable ICONDIR
  - Use new overridable sysconfdir
  + daemon:
  - Add GetUsersLanguages() function
  - Don't crash if /etc/shadow doesn't exist
  + Updated translations.
- Rebase patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1687608000">- Add accountsservice-assume-gdm.patch: assume gdm when not being
  able to detect the used display manager. This is basically the
  same as was in place before we gained support for multiple DMs
  (boo#1212675).</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1688558400">- Rebase accountsservice-sysconfig.patch: (boo#1212675 boo#1212973).
- Remove accountsservice-assume-gdm.patch: Fixed by new rebasing
  of accountsservice-sysconfig.patch.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1691582400">- Rebase as-fate318433-prevent-same-account-multi-logins.patch:
  (bsc#1213884).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701172800">- Use %patch -p N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707912000">- First part to fix build with GCC 14:
  + Inject patched mocklibc-1.0.tar.gz: only some header
    modifications to address implicit declaration of print_indent.
  + Add accountsservice-mocklib-gcc14.patch: patch meson'
    subproject definition to validate the injected tarball.</changelog>
  <changelog author="xiaoguang wang &lt;xiaoguang.wang@suse.com&gt;" date="1709035200">- Rebase accountsservice-sysconfig.patch: to fix build with GCC 14
  (bsc#1219909).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715083200">- Keep en and en_GB 'translations' in the main package: do not
  force -lang packages onto all users.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1718798400">- Update accountsservice-sysconfig.patch: work with SELinux policy
  (bsc#1222978).</changelog>
</package>
<package pkgid="8bc0c1a420508ed1b3fb792a96f6ed7cbe65f3fa624bd394ad44fe95476bf7bd0e592695b23059ad793d899d2859c292060177bd381ff014b6dbf76f5a0ba418" name="accountsservice-devel" arch="x86_64">
  <version epoch="0" ver="23.13.9" rel="9.1"/>
  <changelog author="Antoine Belvire &lt;antoine.belvire@opensuse.org&gt;" date="1614686400">- Add accountsservice-fix-gdm-crash.patch: Prevent crash of gdm
  upon service restart when automatic login is enabled
  (glfo#accountsservice/accountsservice#55).</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627387200">- Added hardening to systemd service(s). Added patch(es):
  * harden_accounts-daemon.service.patch</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1628510400">- Spec layout cleaning up for harden_accounts-daemon.service.patch.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1629979200">- Update harden_accounts-daemon.service.patch: Do not proect home
  directories: the accounts daemon is used to create home
  directories upon user creation (boo#1189853).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1636027200">- Stop passing the no longer used nor recognized option
  user-heuristics=true to meson.</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1643716800">- Add ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch: Fix build
  with meson 0.61.0.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 22.08.8
  + Handle missing admin groups when changing account types
  + Set PrivateTmp to false in the systemd service
  + Add function to set user password expiration policy
- Update to version 22.04.62
  + Updated Swedish translation
  + Updated Indonesian translation
  + Updated German translation
  + Updated slovak translation
  + Update Ukrainian translation
  + Updated Brazilian Portuguese translation
  + act-user: Use stronger hashing methods in make_crypted() if available.
  + act-user-manager: Watch for the daemon going away and coming back
  + user-manager: Update users tables on username changes
  + user: Translate property x-session property name to match the proxy one
  + Check GDBusMessage for INTERACTIVE_AUTHORIZATION flag
  + daemon: Fix error check in save_autologin()
  + Never delete the root filesystem when removing users
  + Remove user heuristics
  + user-classify: Add git to username blacklist
  + daemon: ensure cache files for system users are processed
  + daemon: Don't try to add admin users to non existing groups
  + Move D-Bus conf file to $(datadir)/dbus-1/system.d
- Rebased patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch
  + as-fate318433-prevent-same-account-multi-logins.patch
- Drop upstream fixed patches:
  + ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch
  + accountsservice-fix-gdm-crash.patch
  + accountsservice-read-root-user-cache.patch
  + accountsservice-wtmp-io-improvements.patch</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1659096000">- Allow to build without vala support.
- Refresh harden_accounts-daemon.service.patch to not duplicate
  existing entries.</changelog>
  <changelog author="Matthias Gerstner &lt;matthias.gerstner@suse.com&gt;" date="1659355200">- Remove BuildIgnore for rpmlint-mini. This is a violation of the
  security policies applying to SUSE products as it circumvents the
  SUSE security team's control over what enters Factory and what
  not.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1687348800">- Update to version 23.13.9:
  + daemon: Fix boot delay
  + user-manager:
  - Add cancellable to fetch user requests
  - Track non-existent users
- Changes from version 23.11.69:
  + Add lightdm autologin support
  + user:
  - Return an error when setting invalid language
  - Throw a warning for invalid locales
  - Support new LocalAccount property in cache file
  - Replace usermod -p with chpasswd -e
  + main:
  - Use new overridable USERDIR
  - Use new overridable ICONDIR
  - Use new overridable sysconfdir
  + daemon:
  - Add GetUsersLanguages() function
  - Don't crash if /etc/shadow doesn't exist
  + Updated translations.
- Rebase patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1687608000">- Add accountsservice-assume-gdm.patch: assume gdm when not being
  able to detect the used display manager. This is basically the
  same as was in place before we gained support for multiple DMs
  (boo#1212675).</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1688558400">- Rebase accountsservice-sysconfig.patch: (boo#1212675 boo#1212973).
- Remove accountsservice-assume-gdm.patch: Fixed by new rebasing
  of accountsservice-sysconfig.patch.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1691582400">- Rebase as-fate318433-prevent-same-account-multi-logins.patch:
  (bsc#1213884).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701172800">- Use %patch -p N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707912000">- First part to fix build with GCC 14:
  + Inject patched mocklibc-1.0.tar.gz: only some header
    modifications to address implicit declaration of print_indent.
  + Add accountsservice-mocklib-gcc14.patch: patch meson'
    subproject definition to validate the injected tarball.</changelog>
  <changelog author="xiaoguang wang &lt;xiaoguang.wang@suse.com&gt;" date="1709035200">- Rebase accountsservice-sysconfig.patch: to fix build with GCC 14
  (bsc#1219909).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715083200">- Keep en and en_GB 'translations' in the main package: do not
  force -lang packages onto all users.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1718798400">- Update accountsservice-sysconfig.patch: work with SELinux policy
  (bsc#1222978).</changelog>
</package>
<package pkgid="c45d50caaf6b35861aaa57c2ca3320df4bb6c6610ca2eb369b51b1e6ecb7c4a22cc47439d5489453112649a0cb38667f36d7833138c028ac26aa1b513efe6012" name="accountsservice-lang" arch="noarch">
  <version epoch="0" ver="23.13.9" rel="9.1"/>
  <changelog author="Antoine Belvire &lt;antoine.belvire@opensuse.org&gt;" date="1614686400">- Add accountsservice-fix-gdm-crash.patch: Prevent crash of gdm
  upon service restart when automatic login is enabled
  (glfo#accountsservice/accountsservice#55).</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627387200">- Added hardening to systemd service(s). Added patch(es):
  * harden_accounts-daemon.service.patch</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1628510400">- Spec layout cleaning up for harden_accounts-daemon.service.patch.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1629979200">- Update harden_accounts-daemon.service.patch: Do not proect home
  directories: the accounts daemon is used to create home
  directories upon user creation (boo#1189853).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1636027200">- Stop passing the no longer used nor recognized option
  user-heuristics=true to meson.</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1643716800">- Add ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch: Fix build
  with meson 0.61.0.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 22.08.8
  + Handle missing admin groups when changing account types
  + Set PrivateTmp to false in the systemd service
  + Add function to set user password expiration policy
- Update to version 22.04.62
  + Updated Swedish translation
  + Updated Indonesian translation
  + Updated German translation
  + Updated slovak translation
  + Update Ukrainian translation
  + Updated Brazilian Portuguese translation
  + act-user: Use stronger hashing methods in make_crypted() if available.
  + act-user-manager: Watch for the daemon going away and coming back
  + user-manager: Update users tables on username changes
  + user: Translate property x-session property name to match the proxy one
  + Check GDBusMessage for INTERACTIVE_AUTHORIZATION flag
  + daemon: Fix error check in save_autologin()
  + Never delete the root filesystem when removing users
  + Remove user heuristics
  + user-classify: Add git to username blacklist
  + daemon: ensure cache files for system users are processed
  + daemon: Don't try to add admin users to non existing groups
  + Move D-Bus conf file to $(datadir)/dbus-1/system.d
- Rebased patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch
  + as-fate318433-prevent-same-account-multi-logins.patch
- Drop upstream fixed patches:
  + ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch
  + accountsservice-fix-gdm-crash.patch
  + accountsservice-read-root-user-cache.patch
  + accountsservice-wtmp-io-improvements.patch</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1659096000">- Allow to build without vala support.
- Refresh harden_accounts-daemon.service.patch to not duplicate
  existing entries.</changelog>
  <changelog author="Matthias Gerstner &lt;matthias.gerstner@suse.com&gt;" date="1659355200">- Remove BuildIgnore for rpmlint-mini. This is a violation of the
  security policies applying to SUSE products as it circumvents the
  SUSE security team's control over what enters Factory and what
  not.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1687348800">- Update to version 23.13.9:
  + daemon: Fix boot delay
  + user-manager:
  - Add cancellable to fetch user requests
  - Track non-existent users
- Changes from version 23.11.69:
  + Add lightdm autologin support
  + user:
  - Return an error when setting invalid language
  - Throw a warning for invalid locales
  - Support new LocalAccount property in cache file
  - Replace usermod -p with chpasswd -e
  + main:
  - Use new overridable USERDIR
  - Use new overridable ICONDIR
  - Use new overridable sysconfdir
  + daemon:
  - Add GetUsersLanguages() function
  - Don't crash if /etc/shadow doesn't exist
  + Updated translations.
- Rebase patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1687608000">- Add accountsservice-assume-gdm.patch: assume gdm when not being
  able to detect the used display manager. This is basically the
  same as was in place before we gained support for multiple DMs
  (boo#1212675).</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1688558400">- Rebase accountsservice-sysconfig.patch: (boo#1212675 boo#1212973).
- Remove accountsservice-assume-gdm.patch: Fixed by new rebasing
  of accountsservice-sysconfig.patch.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1691582400">- Rebase as-fate318433-prevent-same-account-multi-logins.patch:
  (bsc#1213884).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701172800">- Use %patch -p N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707912000">- First part to fix build with GCC 14:
  + Inject patched mocklibc-1.0.tar.gz: only some header
    modifications to address implicit declaration of print_indent.
  + Add accountsservice-mocklib-gcc14.patch: patch meson'
    subproject definition to validate the injected tarball.</changelog>
  <changelog author="xiaoguang wang &lt;xiaoguang.wang@suse.com&gt;" date="1709035200">- Rebase accountsservice-sysconfig.patch: to fix build with GCC 14
  (bsc#1219909).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715083200">- Keep en and en_GB 'translations' in the main package: do not
  force -lang packages onto all users.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1718798400">- Update accountsservice-sysconfig.patch: work with SELinux policy
  (bsc#1222978).</changelog>
</package>
<package pkgid="2b003f42f574c0547de6415b32949f9429a9bb6d5be1a801def38bd25dcc86dfd83b7d54897c0e1c0f7a976ec2765c5610953f780d2c67c6878de34e80bc90b2" name="accountsservice-vala" arch="x86_64">
  <version epoch="0" ver="23.13.9" rel="9.1"/>
  <changelog author="Antoine Belvire &lt;antoine.belvire@opensuse.org&gt;" date="1614686400">- Add accountsservice-fix-gdm-crash.patch: Prevent crash of gdm
  upon service restart when automatic login is enabled
  (glfo#accountsservice/accountsservice#55).</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627387200">- Added hardening to systemd service(s). Added patch(es):
  * harden_accounts-daemon.service.patch</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1628510400">- Spec layout cleaning up for harden_accounts-daemon.service.patch.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1629979200">- Update harden_accounts-daemon.service.patch: Do not proect home
  directories: the accounts daemon is used to create home
  directories upon user creation (boo#1189853).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1636027200">- Stop passing the no longer used nor recognized option
  user-heuristics=true to meson.</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1643716800">- Add ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch: Fix build
  with meson 0.61.0.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 22.08.8
  + Handle missing admin groups when changing account types
  + Set PrivateTmp to false in the systemd service
  + Add function to set user password expiration policy
- Update to version 22.04.62
  + Updated Swedish translation
  + Updated Indonesian translation
  + Updated German translation
  + Updated slovak translation
  + Update Ukrainian translation
  + Updated Brazilian Portuguese translation
  + act-user: Use stronger hashing methods in make_crypted() if available.
  + act-user-manager: Watch for the daemon going away and coming back
  + user-manager: Update users tables on username changes
  + user: Translate property x-session property name to match the proxy one
  + Check GDBusMessage for INTERACTIVE_AUTHORIZATION flag
  + daemon: Fix error check in save_autologin()
  + Never delete the root filesystem when removing users
  + Remove user heuristics
  + user-classify: Add git to username blacklist
  + daemon: ensure cache files for system users are processed
  + daemon: Don't try to add admin users to non existing groups
  + Move D-Bus conf file to $(datadir)/dbus-1/system.d
- Rebased patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch
  + as-fate318433-prevent-same-account-multi-logins.patch
- Drop upstream fixed patches:
  + ac9b14f1c1bbca413987d0bbfeaad05804107e9a.patch
  + accountsservice-fix-gdm-crash.patch
  + accountsservice-read-root-user-cache.patch
  + accountsservice-wtmp-io-improvements.patch</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1659096000">- Allow to build without vala support.
- Refresh harden_accounts-daemon.service.patch to not duplicate
  existing entries.</changelog>
  <changelog author="Matthias Gerstner &lt;matthias.gerstner@suse.com&gt;" date="1659355200">- Remove BuildIgnore for rpmlint-mini. This is a violation of the
  security policies applying to SUSE products as it circumvents the
  SUSE security team's control over what enters Factory and what
  not.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1687348800">- Update to version 23.13.9:
  + daemon: Fix boot delay
  + user-manager:
  - Add cancellable to fetch user requests
  - Track non-existent users
- Changes from version 23.11.69:
  + Add lightdm autologin support
  + user:
  - Return an error when setting invalid language
  - Throw a warning for invalid locales
  - Support new LocalAccount property in cache file
  - Replace usermod -p with chpasswd -e
  + main:
  - Use new overridable USERDIR
  - Use new overridable ICONDIR
  - Use new overridable sysconfdir
  + daemon:
  - Add GetUsersLanguages() function
  - Don't crash if /etc/shadow doesn't exist
  + Updated translations.
- Rebase patches:
  + accountsservice-sysconfig.patch
  + accountsservice-filter-suse-accounts.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1687608000">- Add accountsservice-assume-gdm.patch: assume gdm when not being
  able to detect the used display manager. This is basically the
  same as was in place before we gained support for multiple DMs
  (boo#1212675).</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1688558400">- Rebase accountsservice-sysconfig.patch: (boo#1212675 boo#1212973).
- Remove accountsservice-assume-gdm.patch: Fixed by new rebasing
  of accountsservice-sysconfig.patch.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1691582400">- Rebase as-fate318433-prevent-same-account-multi-logins.patch:
  (bsc#1213884).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701172800">- Use %patch -p N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707912000">- First part to fix build with GCC 14:
  + Inject patched mocklibc-1.0.tar.gz: only some header
    modifications to address implicit declaration of print_indent.
  + Add accountsservice-mocklib-gcc14.patch: patch meson'
    subproject definition to validate the injected tarball.</changelog>
  <changelog author="xiaoguang wang &lt;xiaoguang.wang@suse.com&gt;" date="1709035200">- Rebase accountsservice-sysconfig.patch: to fix build with GCC 14
  (bsc#1219909).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1715083200">- Keep en and en_GB 'translations' in the main package: do not
  force -lang packages onto all users.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1718798400">- Update accountsservice-sysconfig.patch: work with SELinux policy
  (bsc#1222978).</changelog>
</package>
<package pkgid="6a8b7bb46bea8602c04dcbca1fa9eaee3b760f78946529de80e70cb6d5e42f745bb600bbcfaecad29b072a053fe525cdd5b27f753c4c7db4043e3a641b00de60" name="act" arch="src">
  <version epoch="0" ver="0.2.63" rel="1.0.2.1.sr20240605"/>
  <changelog author="Orville Q. Song &lt;orville@anislet.dev&gt;" date="1638619200">- Init act Package.
  Run your GitHub Actions locally. 🚀
  Current Release: v0.2.25
  Commit Hash: 8ad6c07083c7cd7f45ea9e0808e3297bf2370ab5</changelog>
  <changelog author="Orville Q. Song &lt;orville@anislet.dev&gt;" date="1638705600">- Update to version 0.2.25:
  * feat: add option for docker image rebuild (#878)
  * Don't interpolate joboutputs, before job is done (#894)
  * Fix regex for GITHUB_ENV parsing (#893)
  * Revert "feat: allow existing logger from context (#859)" (#890)
  * docs: add brew installation from HEAD (#886)
  * build(deps): bump github.com/go-ini/ini from 1.63.2 to 1.64.0 (#882)
  * fix: fromJSON should work with any JSON (#883)
  * fix: correctly unmarshal entrypoint (#876)
  * fix: use docker lib for image ref parsing (#877)
  * Fix github SSH regex for missing .git extension (#871)</changelog>
  <changelog author="elimat@opensuse.org" date="1656849600">- Update to version 0.2.29:
  * build(deps): bump github.com/rhysd/actionlint from 1.6.13 to 1.6.14 (#1234)
  * build(deps): bump github.com/spf13/cobra from 1.4.0 to 1.5.0 (#1233)
  * build(deps): bump github.com/stretchr/testify from 1.7.2 to 1.7.5 (#1232)
  * fix: checkout container path should always use `/` (#1226)
  * feat: add option to bypass GHE for actions checkout (#1162)
  * revert auto changelog generator
  * ignore release-notes.md to avoid dirty check in goreleaser
  * update to use PAT
  * setup git user
  * allow workflow_dispatch on tag-monthly
  * add monthly release
  * auto generate changelog (#1225)
  * update runc and containerd (#1224)
  * feat: non root user container (#1202)
  * fix: processing of strategy.matrix.include (#1200)
  * fix: localcheckout mock (#1198)
  * Added support for chunked uploads. (#1208)
  * fix: keep action inputs (#1215)
  * Improve logging (#1171)
  * fix: allow TimeoutMinutes to be expression (#1217)
  * build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.2 (#1213)
  * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.4 to 2.3.5 (#1214)
  * build(deps): bump github.com/docker/cli (#1211)
  * build(deps): bump github.com/docker/docker (#1212)
  * refactor: remove github.com/pkg/errors dependency (#1077)
  * fix: skip local actions pre step in any case (#1204)
  * pkg/runner: add support to replace GitHub's env (#1197)
  * fix: dryrun skip local actions + enable Tests (#1199)
  * fix: Remove volume with same name as the container again (#1203)
  * build(deps): bump github.com/go-ini/ini from 1.66.5 to 1.66.6 (#1201)
  * build(deps): bump github.com/go-ini/ini from 1.66.4 to 1.66.5 (#1189)
  * governance: fix bug report rendering (#1186)
  * update docs (#1180)
  * feat: handle context cancelation during docker exec (#1170)
  * implement pre and post steps (#1089)
  * fix: remove composite restrictions (#1128)
  * governance: new issue templates (#1048)
  * ci(choco): update chocolatey to 1.1.0 (#1164)
  * build(deps): bump goreleaser/goreleaser-action from 2 to 3 (#1179)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.12 to 1.6.13 (#1173)
  * feat: add ubuntu-22.04 (#1150)
  * feat/bug-report-extended (#1163)
  * build(deps): bump golangci/golangci-lint-action from 3.1.0 to 3.2.0 (#1169)
  * build(deps): bump github.com/docker/docker (#1167)
  * build(deps): bump github.com/docker/cli (#1168)
  * fix: panic if a step in a job is nil (#1145)
  * fix: return invalid step type (#1157)
  * Remove the correct Volume (#1148)
  * fix: panic while running DRYRUN with local actions (#1141)
  * refactor: remove composite action runcontext workaround (#1085)
  * build(deps): bump github.com/moby/buildkit from 0.10.2 to 0.10.3 (#1153)
  * build(deps): bump docker/setup-qemu-action from 1 to 2 (#1156)
  * build(deps): bump github.com/docker/docker (#1155)
  * build(deps): bump github.com/docker/cli (#1154)
  * feat: support `GITHUB_REF_NAME` &amp; `GITHUB_REF_TYPE` (#1142)
  * build(deps): bump github.com/moby/buildkit from 0.10.1 to 0.10.2 (#1147)
  * fix: conclusion and outcome are no integers (#1136)
  * fix: do not error that much (#1137)
  * build(deps): bump codecov/codecov-action from 3.0.0 to 3.1.0 (#1139)
  * chore: fold integration test outputs (#1111)
  * Update README.md (#1121)
  * docs(README): remove go install (#1123)
  * ci: always grab latest go version (#1124)
  * tests: remove runTestJobFile (#1127)
  * use new paths from goreleaser (#1135)
  * README: add MacPorts badge (#1129)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.11 to 1.6.12 (#1126)
  * build(deps): bump codecov/codecov-action from 2.1.0 to 3.0.0 (#1118)
  * build(deps): bump github.com/moby/buildkit from 0.10.0 to 0.10.1 (#1116)
  * build(deps): bump actions/upload-artifact from 2 to 3 (#1119)
  * build(deps): bump actions/setup-go from 2 to 3 (#1120)
  * build(deps): bump actions/stale from 4 to 5 (#1117)
  * tests(runner): move arm64 test to own func (#1095)
  * build(deps): bump deps which dependabot doesn't want to (#1107)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.10 to 1.6.11 (#1106)
  * implement volume mount for container job (#1101)
  * feat: add option to specify git remote name (#1104)
  * Allow passed in env vars to supersede ones declared in the workflow (#1100)
  * fix: copy ignored tracked files (#1074)
  * build(deps): bump github.com/opencontainers/selinux (#1102)
  * fix: return error on reusable workflows (#1093)
  * deps: bump go.mod to go1.18 (#1088)
  * fix(editorconfig): correct braces (#1094)
  * ci: bump go to 1.18 (#1087)
  * fix: don't overwrite with empty cmd/entrypoint (#1076)
  * refactor: simplify action function signatures (#1083)
  * deps: remove shlex (#1086)
  * fix: set default version string (#1070)
  * build(deps): bump actions/cache from 2 to 3 (#1082)
  * build(deps): bump github.com/docker/docker (#1080)
  * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.2 to 2.3.4 (#1079)
  * build(deps): bump github.com/docker/cli (#1081)
  * automatically merge PRs from dependabot (#1084)
  * deps: bump go-git (#1057)
  * feat: split job steps into its own files/structs (#1004)
  * feat: add bug-report flag (#1056)
  * Fix: panic: reflect: slice index out of range (#1066)
  * Fix: call of reflect.Value.Interface on zero Value (#1067)
  * Fix: tojson(null) == 'null' (#1068)
  * build(deps): bump github.com/docker/docker (#1062)
  * build(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#1061)
  * feat: add flag to always run the checkout action (#1049)
  * Revert: Don't stop JobContainer on failure (#1041)
  * fix: remove unused TestContext (#1013)
  * feat: add step name to logger field (#1027)
  * fix: coerce booleans to numbers for comparison in exprparser (#1030)
  * feat: add json logger output (#1026)
  * build(deps): bump golangci/golangci-lint-action from 2 to 3.1.0 (#1019)
  * ci(stalebot): ignore feature requests (#1017)
  * build(deps): bump actions/checkout from 2 to 3 (#1028)
  * build(deps): bump github.com/spf13/cobra from 1.3.0 to 1.4.0 (#1040)
  * build(deps): bump github.com/docker/cli (#1038)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.9 to 1.6.10 (#1039)
  * build(deps): bump github.com/docker/distribution (#1037)
  * build(deps): bump github.com/moby/buildkit from 0.9.3 to 0.10.0 (#1036)
  * fix: trim whitespace from actrc (#1024)
  * fix: hide masked values in log files (#1011)
  * build(deps): bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#955)
  * Update link to 'filesystems' GitHub docs (#1016)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.8 to 1.6.9 (#1018)
  * feat: run jobs in parallel (#1003)
  * Expression evaluator fixes (#1009)
  * build(deps): bump github.com/go-ini/ini from 1.64.0 to 1.66.4 (#997)
  * fix: print line after password prompt (#1014)
  * refactor: default empty if: statement to if: success() in evaluator &amp; remove `FixIfStatement()` (#990)
  * fix: deep evaluate matrix strategy (#964)
  * build(deps): bump github.com/docker/distribution (#994)
  * Added instructions to install on fedora using copr package (#993)
  * fix: always execute closeContainer() executor (#988)
  * refactor: extract setupAction into ActionReader (#986)
  * refactor: extract RunContext Executor in JobExecutor (#984)
  * docs: Expand the GITHUB_TOKEN section (#968)
  * ci(Mergify): configuration update (#972)
  * fix: docker cp of dangling symlink (#943) (#948)
  * Fix: regression run after failure (#971)
  * ci(Mergify): configuration update (#966)
  * build(deps): bump github.com/moby/buildkit from 0.9.2 to 0.9.3 (#958)
  * build(deps): bump github.com/docker/docker (#957)
  * build(deps): bump github.com/opencontainers/image-spec (#954)
  * build(deps): bump github.com/docker/cli (#956)
  * Test: env.ACT in if condition of the workflow (#965)
  * feat: add skipped status as step result (#950)
  * feat: try to read ref and sha from event payload if available (#889)
  * fix: set composite outputs on failure (#945)
  * Refactor expression evaluator to use parser from actionlint package (#908)
  * fix(goreleaser): add append mode for release notes (#962)
  * feat(goreleaser): format changelog, add prereleases (#942)
  * fix: update install.sh (#937)
  * refactor: export and move shared contexts into pkg/model (#931)
  * feat: add node16 support (#922)
  * Feature: uses in composite (#793)
  * lint(megalinter): disable markdown link check (#938)
  * ci: replace superlinter with megalinter (#923)
  * fix: rework setupShellCommand (#930)
  * fix: clarify --reuse and --rm flags (#929)
  * ci(Mergify): configuration update (#924)
  * fix: ::stop-commands:: should continue to print the lines (#920)
  * fix: continue jobs + steps after failure (#840)
  * Fix and test choco action (#911)
  * Docker auth (#891)
  * container credentials (#868)
  * Add more steps context support (#887)
  * feat: allow existing logger from context (#898)
  * feat: SELinux lables for --bind (#906)
  * ci(choco): fix chocolatey docker build (#903)
- Add go modules (vendor) suport in _service file
- run spec-cleaner</changelog>
  <changelog author="jayvdb@gmail.com" date="1660132800">- Update to version 0.2.30:
  * fix: ensure all post steps are executed (#1286)
  * walk submodule path instead of dir name (#1282)
  * fix: add parent step id in composite action step id (#1268)
  * Made env interpolated instead of evaluated. (#1222)
  * build(deps): bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0 (#1273)
  * Update README.md (#1260)
  * lint: add ReadHeaderTimeout (#1277)
  * fix: the number in the github event is of type number (#1252)
  * only perform chown operation for non root users (#1250)
  * fix: allow TimeoutMinutes to be expression in Jobs (#1247)
  * fix: use docker images from dockerhub (#1249)
  * Improve --eventpath example command (#1243)
  * Improve docs for events inputs (#1238)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.14 to 1.6.15 (#1239)
  * build(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 (#1240)</changelog>
  <changelog author="Thomas Schraitle &lt;thomas.schraitle@suse.com&gt; - 0.2.31" date="1670673600">- Update to version 0.2.31:
  * fix: CI is unstable due to new linting rules (#1292)
  * help output: use consistent terminology between -j &amp; -l (#1326)
  * support runner.arch (#1290)
  * build(deps): bump github.com/moby/buildkit from 0.10.3 to 0.10.4 (#1322)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.16 to 1.6.17 (#1321)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.14 to 0.0.16 (#1312)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.15 to 1.6.16 (#1311)
  * build(deps): bump github.com/go-ini/ini from 1.66.6 to 1.67.0 (#1305)
  * refactor: ignore already closed error (#1285)</changelog>
  <changelog author="Thomas Schraitle &lt;thomas.schraitle@suse.com&gt; - 0.2.32" date="1670673601">- Update to version 0.2.32:
  * feat: pass current matrix information to job logger (#1364)
  * fix: show workflow info even if on.push is not defined (#1329) (#1335)
  * fix: restore the job logger setup after job cancelation (#1365)
  * fix: align github.ref to GitHub Action (#1362)
  * fix: crash on invalid docker credentials (#1348)
  * fix: missing defaults in nodejs pre (#1349)
  * fix: support expression for step's continue-on-error field (#900) (#1331)
  * fix: show workflow name when get error on yml parsing (#1133) (#1328)
  * build(deps): bump codecov/codecov-action from 3.1.0 to 3.1.1 (#1359)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.18 to 1.6.19 (#1360)
  * build(deps): bump actions/stale from 5 to 6 (#1357)
  * Arch best practice is to not run partial upgrades (#1355)
  * Improve hint for inserting secrets securely (#1354)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.17 to 1.6.18 (#1352)
  * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.5 to 2.3.6 (#1341)
  * build(deps): bump github.com/docker/cli (#1340)
  * build(deps): bump github.com/docker/docker (#1339)</changelog>
  <changelog author="Thomas Schraitle &lt;thomas.schraitle@suse.com&gt; - 0.2.33" date="1670673602">- Update to version 0.2.33:
  * fix: ci is failing since 2022-10-17 (#1397)
  * fix: re-evaluate env for remote composite actions (#1385)
  * fix: interpolate action input defaults (#1376)
  * fix: support docker create arguments from container.options (#1022) (#1351)
  * fix: handle go closure iteration (#1374)
  * build(deps): bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (#1420)
  * build(deps): bump github.com/docker/docker (#1418)
  * build(deps): bump github.com/docker/cli (#1419)
  * build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#1404)
  * refactor: move from io/ioutil to io and os packages (#1417)
  * Add user level Docker socket to common paths (#1416)
  * build(deps): bump megalinter/megalinter from 6.12.0 to 6.13.0 (#1407)
  * build(deps): bump golangci/golangci-lint-action from 3.2.0 to 3.3.0 (#1408)
  * build(deps): bump github.com/docker/docker (#1403)
  * build(deps): bump github.com/docker/cli (#1405)
  * build(deps): bump github.com/moby/buildkit from 0.10.4 to 0.10.5 (#1406)
  * Fixes #1387 (#1388)
  * build(deps): bump megalinter/megalinter from 6.11.1 to 6.12.0 (#1395)
  * build(deps): bump github.com/docker/cli (#1393)
  * build(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.0 (#1394)
  * build(deps): bump github.com/docker/docker (#1392)
  * Mapping workflow_dispatch inputs into the Expression inputs context (#1363)
  * test: add test for networking setup in act (#1375)
  * build(deps): bump megalinter/megalinter from 6.11.0 to 6.11.1 (#1381)
  * build(deps): bump gotest.tools/v3 from 3.0.3 to 3.4.0 (#1379)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.20 to 1.6.21 (#1380)
  * build(deps): bump github.com/imdario/mergo from 0.3.12 to 0.3.13 (#1378)
  * Fix composite input handling (#1345)
  * build(deps): bump megalinter/megalinter from 5 to 6.11.0 (#1370)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.19 to 1.6.20 (#1371)
  * build(deps): bump github.com/opencontainers/selinux (#1372)</changelog>
  <changelog author="Thomas Schraitle &lt;thomas.schraitle@suse.com&gt; - 0.2.34" date="1670673603">- Update to version 0.2.34:
  * feat: interpolate the step names (#1422)
  * feat: GITHUB_STATE and GITHUB_OUTPUT file commands (#1391)
  * feat: Host environment (#1293)
  * feat: parse types of reusable workflows (#1414)
  * fix: handle subdirectors and exclusions (#1012) (#1446)
  * fix: keep path to event json file in composite actions (#1428)
  * fix: nil pointer access ( workflow_dispatch )
  * build(deps): bump megalinter/megalinter from 6.14.0 to 6.15.0 (#1475)
  * act -j -W example (#1471)
  * Fix shellcommand error on sh shell (#1464)
  * fix typo (#1456)
  * build(deps): bump github.com/creack/pty from 1.1.17 to 1.1.18 (#1447)
  * Remove dead code (#1425)
  * build(deps): bump github.com/moby/buildkit from 0.10.5 to 0.10.6 (#1437)
  * build(deps): bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 (#1436)
  * Update number of approvers required from 3 to 2
  * build(deps): bump megalinter/megalinter from 6.13.0 to 6.14.0 (#1426)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.21 to 1.6.22 (#1427)</changelog>
  <changelog author="Thomas Schraitle &lt;thomas.schraitle@suse.com&gt; - 0.2.34" date="1673438400">- Spec file:
  Fix bsc#1207021 to report the correct version when calling "act --version"
  Wrong version is fixed with sed in act-0.2.34/main.go
  Reported upstream as GH://nektos/act#1555</changelog>
  <changelog author="sebix@sebix.at" date="1683720000">- Update to version 0.2.45:
  * chore: bump VERSION to 0.2.45
  * Support cache (#1770)
  * chore: run act from cli on linux (#1758)
  * Revert breaking docker socket changes (#1763)
  * avoid using log.Fatal (#1759)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1755)
  * build(deps): bump github.com/docker/docker (#1754)
  * build(deps): bump github.com/docker/cli (#1753)
  * build(deps): bump codecov/codecov-action from 3.1.2 to 3.1.3 (#1752)
  * ci: deduplicate running workflows (#1751)
  * fix: try finding a socket, otherwise fail, respect user choice (#1745)
  * Improve watchAndRun (#1743)
  * Remove the comment-out code. (#1691)
  * typo: fix expression of warning message on macOS (#1693)
  * fix: environment handling windows (host mode) (#1732)
  * fix: ensure networkmode "host" unless explicitly specified (#1739)
  * Avoid using `log.Fatal` in `pkg/*` (#1705)
  * feat: support yaml env/secrets/inputs file (#1733)
  * build(deps): bump codecov/codecov-action from 3.1.1 to 3.1.2 (#1735)
  * fix: ghc assignment typo (#1729)
  * fix: reusable workflow panic (#1728)
  * fix: add `server_url` attribute to github context (#1727)
  * build(deps): update go-git to ce62f3e9ff86270538a514a68d3bd5563a733e3b (#1725)
  * build(deps): bump github.com/docker/docker (#1719)
  * build(deps): bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#1724)
  * build(deps): bump github.com/docker/cli (#1722)
  * build(deps): bump megalinter/megalinter from 6.22.1 to 6.22.2 (#1720)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.23 to 1.6.24 (#1721)
  * build(deps): bump golang.org/x/term from 0.6.0 to 0.7.0 (#1723)
  * build(deps): bump github.com/docker/cli (#1712)
  * build(deps): bump github.com/docker/docker (#1711)
  * build(deps): bump megalinter/megalinter from 6.21.0 to 6.22.1 (#1710)
  * chore: bump VERSION to 0.2.44
  * build(deps): bump github.com/opencontainers/runc from 1.1.3 to 1.1.5 (#1708)
  * feat: improve GetOutboundIP (#1707)
  * fix: use os.UserHomeDir (#1706)
  * Make sure working directory is respected when configured from matrix (#1686)
  * build(deps): bump github.com/moby/buildkit from 0.11.4 to 0.11.5 (#1703)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.17 to 0.0.18 (#1702)
  * build(deps): bump github.com/imdario/mergo from 0.3.14 to 0.3.15 (#1701)
  * build(deps): bump actions/stale from 7 to 8 (#1700)
  * build(deps): bump megalinter/megalinter from 6.20.1 to 6.21.0 (#1699)
  * full path required for extension install (#1670)
  * build(deps): bump actions/setup-go from 3 to 4 (#1689)
  * build(deps): bump github.com/imdario/mergo from 0.3.13 to 0.3.14 (#1688)
  * build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#1650)
  * build(deps): bump megalinter/megalinter from 6.20.0 to 6.20.1 (#1679)
  * build(deps): bump fregante/setup-git-user from 1 to 2 (#1664)
  * Add example command for collecting artifacts (#1671)
  * feat: specify matrix on command line (#1675)
  * Support for docker steps in host environment (#1674)
  * fix: correct ref and ref_name (#1672)
  * fix: return err in walk (#1667)
  * test: Enshure ForcePull config doesn't break docker actions (1661)
  * fix: crash if the id tool fails to run in the container (1660)
  * build(deps): bump github.com/moby/buildkit from 0.11.3 to 0.11.4 (#1669)
  * build(deps): bump megalinter/megalinter from 6.19.0 to 6.20.0 (#1665)
  * build(deps): bump golang.org/x/term from 0.5.0 to 0.6.0 (#1666)
  * Improve XDG Spec supporting (#1656)
  * fix: safe file name (#1651)
  * fix: compare properties of Invalid types (#1645)
  * chore: bump VERSION to 0.2.43
  * fix: github.job property is empty, GITHUB_JOB should be job id (#1646)
  * build(deps): bump github.com/opencontainers/image-spec (#1649)
  * fix: update output handling for reusable workflows (#1521)
  * fix: crash malformed composite action (#1616)
  * docs: remove help section (#1648)
  * feat: workflowpattern package (#1618)
  * build(deps): bump github.com/containerd/containerd from 1.6.16 to 1.6.18 (#1637)
  * fix: add GITHUB_STEP_SUMMARY (#1607)
  * build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0 (#1636)
  * build(deps): bump github.com/moby/buildkit from 0.11.2 to 0.11.3 (#1635)
  * fix: tolerate workflow that needs a missing job (#1595) (#1619)
  * chore: Remove obsolete Container.UpdateFromPath (#1631)
  * chore: use new style octal (#1630)
  * fix: don't override env (#1629)
  * ci: add Winget Releaser workflow (#1623)
  * build(deps): bump github.com/opencontainers/selinux (#1625)
  * build(deps): bump github.com/docker/docker (#1624)
  * build(deps): bump github.com/docker/cli (#1626)
  * chore: add Winget installation instructions (#1622)
  * Pass dockerfile to build executor (#1606)
  * build(deps): bump github.com/docker/cli from 23.0.0-rc.1+incompatible to 23.0.0+incompatible (#1611)
  * build(deps): bump github.com/docker/docker (#1613)
  * build(deps): bump megalinter/megalinter from 6.18.0 to 6.19.0 (#1610)
  * build(deps): bump github.com/go-git/go-billy/v5 from 5.4.0 to 5.4.1 (#1612)
  * build(deps): bump github.com/joho/godotenv from 1.4.0 to 1.5.1 (#1614)
  * refactor: GITHUB_ENV command / remove env.PATH (#1503)
  * Update max container name length (#1597)
  * feat: allow overriding of `GITHUB_` env variables (#1582)
  * Docker build fixes (#1596)
  * fix: Apply forcePull only for prebuild docker actions (#1599)
  * chore: bump VERSION to 0.2.42
  * feat: cache notices to reduce frequency of upgrade notifications (#1592)
  * chore: fix release script to trigger gh-act
  * chore: bump VERSION to 0.2.41
  * build(deps): bump github.com/moby/buildkit from 0.11.1 to 0.11.2 (#1589)
  * build(deps): bump golangci/golangci-lint-action from 3.3.1 to 3.4.0 (#1590)
  * cI: make stalebot less annoying (#1587)
  * test: Do not leak step env in composite (#1585)
  * feat: step summary of test results (#1580)
  * build(deps): bump github.com/moby/buildkit from 0.11.0 to 0.11.1 (#1576)
  * build(deps): bump golang.org/x/term from 0.3.0 to 0.4.0 (#1577)
  * build(deps): bump github.com/docker/docker (#1573)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.22 to 1.6.23 (#1574)
  * build(deps): bump actions/github-script from 5 to 6 (#1572)
  * chore: update docs for installing act as GH CLI extension
  * feat: release extension
  * feat: release extension
  * feat: release extension
  * refactor: pull and rebuild docker by default (#1569)
  * feat: add remote reusable workflows (#1525)
  * Fixed auto-generated platform configuration with Micro size image (#1566)
  * Feature/allow worktrees (#1530)
  * chore: bump VERSION to 0.2.40
  * fix: update artifact server to address GHSL-2023-004 (#1565)
  * chore: bump VERSION to 0.2.39
  * chore: fix promote script
  * chore: bump version
  * chore: makefile update
  * chore: bump version
  * build(deps): bump github.com/moby/buildkit from 0.10.6 to 0.11.0 (#1563)
  * chore: push new version
  * Readme: Fix shell installation (#1547)
  * fix: allow override of artifact server bind address (#1560)
  * feat: add check for newer versions (#1562)
  * Input (#1524)
  * refactor: remove docker image list reference filter (#1501)
  * fix: add-matcher fails github workflow (#1532)
  * feat: add support for building docker actions with private registries (#1557)
  * build(deps): bump github.com/containerd/containerd from 1.6.6 to 1.6.12 (#1554)
  * feat: Allow building without docker support (#1507)
  * fix: extra path lost in composite actions (#1531)
  * test: make sure workflow_call is not a github event calling our workflow (#1520)
  * fix: preserve job result state in case of failure (#1519)
  * build(deps): bump megalinter/megalinter from 6.17.0 to 6.18.0 (#1550)
  * build(deps): bump megalinter/megalinter from 6.16.0 to 6.17.0 (#1540)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.16 to 0.0.17 (#1539)
  * build(deps): bump github.com/go-git/go-billy/v5 from 5.3.1 to 5.4.0 (#1541)
  * build(deps): bump megalinter/megalinter from 6.15.0 to 6.16.0 (#1534)
  * build(deps): bump actions/stale from 6 to 7 (#1535)
  * revert: deprecation of containerArchitecture (#1514)
  * build(deps): bump goreleaser/goreleaser-action from 3 to 4 (#1515)
  * build(deps): bump github.com/docker/cli (#1516)
  * build(deps): bump github.com/docker/docker (#1517)
  * fix: align runner.os / runner.arch to known values (#1510)
  * feat: Support "result" on "needs" context. (#1497)
  * fix: tail (not absolute) as entrypoint of job container (#1506)
  * refactor: fix savestate in pre steps (#1466)
  * feat: allow to spawn and run a local reusable workflow (#1423)
  * refactor: fix add-path / GITHUB_PATH commands (#1472)
  * feat: JobLoggerFactory (#1496)
  * fix: handle env-vars case sensitive (#1493)
  * fix: step env is unavailable in with property expr (#1458)
  * refactor: share UpdateFromEnv logic (#1457)
  * feat: `--container-options` (#1462)
  * refactor: move autoremove into the jobexecutor (#1463)
  * docs: clarifying skipping steps / jobs (#1480)
  * Pass `LANG=C.UTF-8` to environment (#1476)
  * build(deps): bump megalinter/megalinter from 6.14.0 to 6.15.0 (#1475)
  * act -j -W example (#1471)
  * Fix shellcommand error on sh shell (#1464)
  * fix typo (#1456)
  * build(deps): bump github.com/creack/pty from 1.1.17 to 1.1.18 (#1447)
  * fix: handle subdirectors and exclusions (#1012) (#1446)
  * Remove dead code (#1425)
  * feat: interpolate the step names (#1422)
  * feat: GITHUB_STATE and GITHUB_OUTPUT file commands (#1391)
  * feat: Host environment (#1293)
  * build(deps): bump github.com/moby/buildkit from 0.10.5 to 0.10.6 (#1437)
  * fix: keep path to event json file in composite actions (#1428)
  * build(deps): bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 (#1436)
  * fix: nil pointer access ( workflow_dispatch )
  * Update number of approvers required from 3 to 2
  * build(deps): bump megalinter/megalinter from 6.13.0 to 6.14.0 (#1426)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.21 to 1.6.22 (#1427)
  * feat: parse types of reusable workflows (#1414)
  * build(deps): bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (#1420)
  * build(deps): bump github.com/docker/docker (#1418)
  * build(deps): bump github.com/docker/cli (#1419)
  * build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#1404)
  * refactor: move from io/ioutil to io and os packages (#1417)
  * Add user level Docker socket to common paths (#1416)
  * build(deps): bump megalinter/megalinter from 6.12.0 to 6.13.0 (#1407)
  * build(deps): bump golangci/golangci-lint-action from 3.2.0 to 3.3.0 (#1408)
  * build(deps): bump github.com/docker/docker (#1403)
  * build(deps): bump github.com/docker/cli (#1405)
  * build(deps): bump github.com/moby/buildkit from 0.10.4 to 0.10.5 (#1406)
  * Fixes #1387 (#1388)
  * build(deps): bump megalinter/megalinter from 6.11.1 to 6.12.0 (#1395)
  * build(deps): bump github.com/docker/cli (#1393)
  * build(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.0 (#1394)
  * build(deps): bump github.com/docker/docker (#1392)
  * Mapping `workflow_dispatch` inputs into the Expression `inputs` context (#1363)
  * fix: ci is failing since 2022-10-17 (#1397)
  * test: add test for networking setup in act (#1375)
  * fix: re-evaluate env for remote composite actions (#1385)
  * build(deps): bump megalinter/megalinter from 6.11.0 to 6.11.1 (#1381)
  * build(deps): bump gotest.tools/v3 from 3.0.3 to 3.4.0 (#1379)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.20 to 1.6.21 (#1380)
  * build(deps): bump github.com/imdario/mergo from 0.3.12 to 0.3.13 (#1378)
  * fix: interpolate action input defaults (#1376)
  * fix: support docker create arguments from container.options (#1022) (#1351)
  * Fix composite input handling (#1345)
  * fix: handle go closure iteration (#1374)
  * build(deps): bump megalinter/megalinter from 5 to 6.11.0 (#1370)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.19 to 1.6.20 (#1371)
  * build(deps): bump github.com/opencontainers/selinux (#1372)
  * fix: show workflow info even if on.push is not defined (#1329) (#1335)
  * fix: restore the job logger setup after job cancelation (#1365)
  * feat: pass current matrix information to job logger (#1364)
  * fix: align github.ref to GitHub Action (#1362)
  * fix: crash on invalid docker credentials (#1348)
  * fix: missing defaults in nodejs pre (#1349)
  * build(deps): bump codecov/codecov-action from 3.1.0 to 3.1.1 (#1359)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.18 to 1.6.19 (#1360)
  * build(deps): bump actions/stale from 5 to 6 (#1357)
  * Arch best practice is to not run partial upgrades (#1355)
  * Improve hint for inserting secrets securely (#1354)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.17 to 1.6.18 (#1352)
  * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.5 to 2.3.6 (#1341)
  * build(deps): bump github.com/docker/cli (#1340)
  * build(deps): bump github.com/docker/docker (#1339)
  * fix: support expression for step's continue-on-error field (#900) (#1331)
  * fix: show workflow name when get error on yml parsing (#1133) (#1328)
  * help output: use consistent terminology between `-j` &amp; `-l` (#1326)
  * support runner.arch (#1290)
  * build(deps): bump github.com/moby/buildkit from 0.10.3 to 0.10.4 (#1322)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.16 to 1.6.17 (#1321)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.14 to 0.0.16 (#1312)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.15 to 1.6.16 (#1311)
  * build(deps): bump github.com/go-ini/ini from 1.66.6 to 1.67.0 (#1305)
  * refactor: ignore already closed error (#1285)
  * fix: CI is unstable due to new linting rules (#1292)</changelog>
  <changelog author="ila.embsys@gmail.com" date="1709380800">- Update to version 0.2.60:
  * chore: bump VERSION to 0.2.60
  * build(deps): bump go.etcd.io/bbolt from 1.3.8 to 1.3.9 (#2229)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.26 to 1.6.27 (#2228)
  * fix: logo and demo asset urls (#2226)
  * feat: Test writing remote Actions locally (#2155)
  * build(deps): bump github.com/opencontainers/image-spec (#2223)
  * refactor: simpilfy go-git cache (#2208)
  * feat: offline mode for new action cache (#2173)
  * build(deps): bump github.com/opencontainers/image-spec (#2214)
  * build(deps): bump golang.org/x/term from 0.16.0 to 0.17.0 (#2213)
  * fix: Rootless error concerning `/var/run/docker.sock` (#2181)
  * Shrink Readme (#2198)
  * chore: bump VERSION to 0.2.59
  * feat: correctly use the xdg library, which has the side effect to fix the config survey (#2195)
  * chore: bump VERSION to 0.2.58
  * build(deps): bump github.com/opencontainers/runc from 1.1.7 to 1.1.12 (#2187)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.12.5 (#2188)
  * build(deps): bump github.com/containerd/containerd from 1.6.19 to 1.6.26 (#2189)
  * build(deps): bump github.com/opencontainers/image-spec (#2167)
  * build(deps): bump github.com/moby/buildkit from 0.12.4 to 0.12.5 (#2186)
  * fix: use correct path to toolcache (#1494)
  * refactor: filecollector into new package (#2174)
  * build(deps): bump codecov/codecov-action from 3.1.4 to 3.1.5 (#2175)
  * fix: improve warning about remote not found (#2169)
  * fix: improve new-action-cache fetch failure error (#2172)
  * fix: subpath actions via new artifact cache (#2170)
  * fix: improve action not found error (#2171)
  * refactor(cmd/root): simplify `parseEnvs` (#2162)
  * Add containerd's normalized architectures to archMapper (#2168)
  * build(deps): bump megalinter/megalinter from 7.7.0 to 7.8.0 (#2164)
  * fix: write default config in XDG config dir to avoid cluttering the HOME directory by default (#2140)
  * WorkflowDispatchConfig supports multiple yaml node kinds (#2123)
  * fix: match cache `restore-keys` in creation reverse order (#2153)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#2133)
  * feat: support offline mode (#2128)
  * feat: cli option to enable the new action cache (#1954)
  * ci: automatic merge PRs created by a maintainer and approved by 1 other maintainer (#2156)
  * Add support for NetBSD (#2023)
  * build(deps): bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 (#2149)
  * build(deps): bump golang.org/x/term from 0.15.0 to 0.16.0 (#2148)
  * chore: bump VERSION to 0.2.57
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#2134)
  * build(deps): bump github.com/containerd/containerd from 1.7.2 to 1.7.11 (#2136)
  * chore: bump VERSION to 0.2.56
  * build(deps): bump actions/stale from 8 to 9 (#2120)
  * feat: support config env expansion (#2063)
  * build(deps): bump actions/checkout from 3 to 4 (#1998)
  * build(deps): bump github.com/creack/pty from 1.1.20 to 1.1.21 (#2099)
  * Fix noisy `runs-on` error logging (#2102)
  * fix: IsHost is defined as false on windows (#2093)
  * build(deps): bump actions/setup-go from 4 to 5 (#2118)
  * build(deps): bump megalinter/megalinter from 7.6.0 to 7.7.0 (#2119)
  * build(deps): bump github.com/go-git/go-git/v5 from 5.10.1 to 5.11.0 (#2117)
  * build(deps): bump golang.org/x/term from 0.14.0 to 0.15.0 (#2112)
  * build(deps): bump github.com/go-git/go-git/v5 from 5.10.0 to 5.10.1 (#2114)
  * build(deps): bump github.com/moby/buildkit from 0.12.3 to 0.12.4 (#2113)
  * chore: bump VERSION to 0.2.55
  * build(deps): bump megalinter/megalinter from 7.5.0 to 7.6.0 (#2098)
  * build(deps): bump actions/github-script from 6 to 7 (#2097)
  * chore: bump VERSION to 0.2.54
  * build(deps): bump golang.org/x/term from 0.13.0 to 0.14.0 (#2091)
  * Evaluate if condition when calling a reusable workflow (#2087)
  * feat: support runs-on labels and group (#2062)
  * Evaluate all service values (#2054)
  * fix: (#2075)
  * Don't set GITHUB_TOKEN (#2089)
  * Support array expressions in runs-on (#2088)
  * Use unique name for reusable workflow (#2015)
  * build(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#2079)
  * fix: panic (#2071)
  * chore: bump VERSION to 0.2.53
  * build(deps): bump github.com/docker/docker (#2067)
  * build(deps): bump github.com/creack/pty from 1.1.18 to 1.1.20 (#2068)
  * build(deps): bump megalinter/megalinter from 7.4.0 to 7.5.0 (#2070)
  * build(deps): bump go.etcd.io/bbolt from 1.3.7 to 1.3.8 (#2065)
  * build(deps): bump github.com/docker/cli (#2069)
  * build(deps): bump github.com/go-git/go-git/v5 from 5.9.0 to 5.10.0 (#2066)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.19 to 0.0.20 (#2059)
  * build(deps): bump github.com/moby/buildkit from 0.12.2 to 0.12.3 (#2060)
  * Add support for service containers (#1949)
  * Fix float formatting (#2018)
  * build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 (#2045)
  * build(deps): bump github.com/docker/distribution (#2037)
  * build(deps): bump golang.org/x/term from 0.12.0 to 0.13.0 (#2036)
  * fix action_ref (composite action) (#2020)
  * fix: use actions/runner hashfiles in container (#1940)
  * Fix image survey for large images (#2022)
  * [ Variables ] - Add missing documentation for repository variables (#2032)
  * chore: bump VERSION to 0.2.52
  * build(deps): bump github.com/rhysd/actionlint from 1.6.25 to 1.6.26 (#2026)
  * build(deps): bump megalinter/megalinter from 7.3.0 to 7.4.0 (#2025)
  * chore: bump VERSION to 0.2.51
  * build(deps): bump github.com/go-git/go-git/v5 from 5.8.1 to 5.9.0 (#2011)
  * build(deps): bump github.com/opencontainers/image-spec (#2010)
  * build(deps): bump gotest.tools/v3 from 3.5.0 to 3.5.1 (#2009)
  * build(deps): bump github.com/go-git/go-billy/v5 from 5.4.1 to 5.5.0 (#2012)
  * build(deps): bump docker/setup-qemu-action from 2 to 3 (#2007)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#2008)
  * feat: support node20 runtime (#1988)
  * feat: support interpolation in `&lt;job&gt;.container.options` (#1958)
  * build(deps): bump github.com/docker/docker (#2000)
  * build(deps): bump github.com/docker/cli (#1999)
  * build(deps): bump golang.org/x/term from 0.11.0 to 0.12.0 (#1992)
  * chore: bump VERSION to 0.2.50
  * build(deps): bump github.com/moby/buildkit from 0.12.1 to 0.12.2 (#1986)
  * build(deps): bump github.com/moby/patternmatcher from 0.5.0 to 0.6.0 (#1985)
  * fix: fail if no stages were found (#1970)
  * build(deps): bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 (#1978)
  * Mention act user guide in act (#1973)
  * build(deps): bump megalinter/megalinter from 7.2.1 to 7.3.0 (#1965)
  * ci: change winget job runner to `ubuntu-latest` (#1959)
  * change podman socket path (#1961)
  * Fix "Unknown server OS" for Docker container `--device` option (#1957)
  * refactor: remove unnecessary nil check in RunContext (#1955)
  * feat: Add new Action Cache (#1913)
  * feat: cmd support for windows (#1941)
  * feat: Add CopyTarStream to Container Interface (#1912)
  * refactor: docker build BuildContext field (#1914)
  * Shorten or/and in expressions (#1939)
  * prefer pwsh on windows if found (#1942)
  * build(deps): bump megalinter/megalinter from 7.1.0 to 7.2.1 (#1931)
  * build(deps): bump golang.org/x/term from 0.10.0 to 0.11.0 (#1948)
  * build(deps): bump github.com/moby/buildkit from 0.12.0 to 0.12.1 (#1947)
  * chore: bump VERSION to 0.2.49
  * build(deps): bump github.com/go-git/go-git/v5 from 5.8.0 to 5.8.1 (#1934)
  * build(deps): bump github.com/docker/cli (#1932)
  * build(deps): bump github.com/docker/docker (#1933)
  * build(deps): bump github.com/go-git/go-git/v5 from 5.7.0 to 5.8.0 (#1925)
  * local runner doc (#1911)
  * Add new CLI flag to log just the job id and not the entire job name (#1920)
  * build(deps): bump github.com/moby/buildkit from 0.11.6 to 0.12.0 (#1917)
  * build(deps): bump golang.org/x/term from 0.9.0 to 0.10.0 (#1906)
  * Bump dockercli (#1905)
  * throw when invalid `uses` key is provided (#1804)
  * fix: handle zero size (#1888)
  * chore: upgrade golangci-lint and address findings (#1904)
  * build(deps): bump golangci/golangci-lint-action from 3.5.0 to 3.6.0 (#1868)
  * build(deps): bump gotest.tools/v3 from 3.4.0 to 3.5.0 (#1892)
  * Normalize path outputs emitted by the artifact server download endpoint (#1898)
  * chore: bump VERSION to 0.2.48
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1884)
  * build(deps): bump github.com/opencontainers/image-spec (#1893)
  * Remove `archives.replacements` in `goreleaser.yaml` (#1895)
  * refactor: open boltdb only while using it (#1879)
  * chore: bump VERSION to 0.2.47
  * Allow inputs for workflow_calls (#1845)
  * build(deps): bump github.com/opencontainers/image-spec (#1883)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1882)
  * build(deps): bump github.com/opencontainers/image-spec (#1881)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1880)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.24 to 1.6.25 (#1870)
  * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.6 to 2.3.7 (#1872)
  * build(deps): bump golang.org/x/term from 0.8.0 to 0.9.0 (#1869)
  * build(deps): bump github.com/opencontainers/image-spec (#1871)
  * Allow to override location of action cache dir (#1863)
  * Drop disappeared `wei/curl@v1` (#1864)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1858)
  * build(deps): bump megalinter/megalinter from 7.0.4 to 7.1.0 (#1857)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.18 to 0.0.19 (#1859)
  * fix: spelling mistake in readme (#1854)
  * feature: Add support for github action variables (#1833)
  * Fix bug in processing jobs on platforms without Docker (#1834)
  * build(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.4 (#1842)
  * build(deps): bump megalinter/megalinter from 7.0.2 to 7.0.4 (#1838)
  * build(deps): bump github.com/docker/cli (#1843)
  * build(deps): bump github.com/imdario/mergo from 0.3.15 to 0.3.16 (#1840)
  * build(deps): bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3 (#1841)
  * build(deps): bump golangci/golangci-lint-action from 3.4.0 to 3.5.0 (#1839)
  * chore: bump VERSION to 0.2.46
  * build(deps): bump github.com/opencontainers/image-spec (#1829)
  * build(deps): bump github.com/docker/cli (#1816)
  * add instruction for using `gh auth token` (#1831)
  * build(deps): bump github.com/go-git/go-git/v5 (#1830)
  * build(deps): bump megalinter/megalinter from 6.22.2 to 7.0.2 (#1827)
  * fix: Update ARCH environment variable used in runners/actions (#1818)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1817)
  * build(deps): bump github.com/sirupsen/logrus from 1.9.0 to 1.9.2 (#1814)
  * build(deps): bump codecov/codecov-action from 3.1.3 to 3.1.4 (#1813)
  * build(deps): bump github.com/opencontainers/image-spec (#1807)
  * build(deps): bump github.com/docker/docker (#1806)
  * build(deps): bump github.com/docker/cli (#1805)
  * build(deps): bump github.com/docker/distribution (#1801)
  * build(deps): bump github.com/cloudflare/circl from 1.1.0 to 1.3.3 (#1800)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1791)
  * Replace backslash in GetActPath() for Windows (#1777)
  * feat: implement steps.timeout-minutes (#1776)
  * fix: don't allow `-self-hosted` mode as container image (#1783)
  * Refactor evaluate yaml node do not alter nested nodes (#1761)
  * fix: fallback to unauthenticated pull (#1774)
  * fix: remove hardcoded reference to github.com when using reusable remote workflows and remote actions (#1784)
  * build(deps): bump github.com/docker/cli (#1780)
  * build(deps): bump github.com/opencontainers/image-spec (#1781)
  * build(deps): bump github.com/docker/docker (#1779)</changelog>
  <changelog author="kskarthik@disroot.org" date="1715256000">- Update to version 0.2.62:
  * chore: bump VERSION to 0.2.62
  * build(deps): bump megalinter/megalinter from 7.10.0 to 7.11.1 (#2309)
  * build(deps): bump golangci/golangci-lint-action from 4.0.0 to 5.0.0 (#2310)
  * build(deps): bump github.com/docker/cli (#2307)
  * build(deps): bump github.com/docker/docker (#2306)
  * build(deps): bump github.com/moby/buildkit from 0.13.1 to 0.13.2 (#2308)
  * build(deps): bump github.com/docker/cli (#2302)
  * Add codespell support (config, workflow to detect/not fix) and make it fix few typos (#2296)
  * build(deps): bump github.com/docker/docker (#2299)
  * build(deps): bump github.com/docker/docker (#2295)
  * build(deps): bump megalinter/megalinter from 7.9.0 to 7.10.0 (#2294)
  * build(deps): bump megalinter/megalinter from 7.8.0 to 7.9.0 (#2216)
  * build(deps): bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 (#2215)
  * build(deps): bump golang.org/x/term from 0.18.0 to 0.19.0 (#2278)
  * build(deps): bump github.com/docker/cli (#2291)
  * Update action.yml (#2293)
  * build(deps): bump github.com/moby/buildkit from 0.12.5 to 0.13.1 (#2253)
  * Bump docker to v26 (#2289)
  * fix: skipped jobs have no result (#2276)
  * fix: favor command-line over files (#2274)
  * chore: fix some comments (#2279)
  * build(deps): bump actions/cache from 3 to 4 (#2163)
  * Remove local action cache if remote has changed (#2284)
  * chore: fix codecov (#2288)
  * build(deps): bump github.com/go-git/go-git/v5 from 5.11.0 to 5.12.0 (#2269)
  * chore: bump VERSION to 0.2.61
  * fix: cache adjust restore order of exact key matches (#2267)
  * Trivial: reduce log spam. (#2256)
  * chore: remove repetitive words (#2259)
  * Support overwriting caches (#2265)
  * test: use ping to improve network test (#2266)
  * build(deps): bump github.com/docker/docker (#2252)
  * build(deps): bump golang.org/x/term from 0.17.0 to 0.18.0 (#2244)
  * fix: rootless permission bits (new actions cache) (#2242)
  * fix function name in comment (#2240)
  * fix: docker buildx cache restore not working (#2236)
  * build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#2235)</changelog>
  <changelog author="kskarthik@disroot.org" date="1717329600">- Update to version 0.2.63:
  * chore: bump VERSION to 0.2.63
  * Meta-copy-symlinks-new-actions-cache (#2337)
  * build(deps): bump google.golang.org/protobuf from 1.33.0 to 1.34.1 (#2340)
  * build(deps): bump github.com/golang-jwt/jwt/v5 from 5.2.0 to 5.2.1 (#2341)
  * Actions Artifacts v4 backend (#2224)
  * build(deps): bump github.com/docker/docker (#2333)
  * build(deps): bump github.com/docker/cli (#2332)
  * Add documentation for `dryrun` parameter (#2311)
  * Fix for issue 2232: Many lines of "Could not find any stages to run" on run (#2272)
  * build(deps): bump github.com/docker/cli (#2325)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.27 to 1.7.0 (#2326)
  * build(deps): bump go.etcd.io/bbolt from 1.3.9 to 1.3.10 (#2327)
  * build(deps): bump github.com/docker/docker (#2324)
  * build(deps): bump golangci/golangci-lint-action from 5.3.0 to 6.0.1 (#2323)
  * build(deps): bump golangci/golangci-lint-action from 5.0.0 to 5.3.0 (#2319)
  * build(deps): bump github.com/docker/cli (#2318)
  * build(deps): bump golang.org/x/term from 0.19.0 to 0.20.0 (#2316)
  * build(deps): bump github.com/docker/docker (#2317)</changelog>
</package>
<package pkgid="8b32dd2ab24cdccf2c5d55e4a8f66eedb391eec28e5a05e2a62b5347ea710738b0fc51ef817d7b1594c5549f8c4a46ed435d46bc9eac3e98167d61db1dc7505d" name="act" arch="x86_64">
  <version epoch="0" ver="0.2.63" rel="1.0.2.1.sr20240605"/>
  <changelog author="Orville Q. Song &lt;orville@anislet.dev&gt;" date="1638619200">- Init act Package.
  Run your GitHub Actions locally. 🚀
  Current Release: v0.2.25
  Commit Hash: 8ad6c07083c7cd7f45ea9e0808e3297bf2370ab5</changelog>
  <changelog author="Orville Q. Song &lt;orville@anislet.dev&gt;" date="1638705600">- Update to version 0.2.25:
  * feat: add option for docker image rebuild (#878)
  * Don't interpolate joboutputs, before job is done (#894)
  * Fix regex for GITHUB_ENV parsing (#893)
  * Revert "feat: allow existing logger from context (#859)" (#890)
  * docs: add brew installation from HEAD (#886)
  * build(deps): bump github.com/go-ini/ini from 1.63.2 to 1.64.0 (#882)
  * fix: fromJSON should work with any JSON (#883)
  * fix: correctly unmarshal entrypoint (#876)
  * fix: use docker lib for image ref parsing (#877)
  * Fix github SSH regex for missing .git extension (#871)</changelog>
  <changelog author="elimat@opensuse.org" date="1656849600">- Update to version 0.2.29:
  * build(deps): bump github.com/rhysd/actionlint from 1.6.13 to 1.6.14 (#1234)
  * build(deps): bump github.com/spf13/cobra from 1.4.0 to 1.5.0 (#1233)
  * build(deps): bump github.com/stretchr/testify from 1.7.2 to 1.7.5 (#1232)
  * fix: checkout container path should always use `/` (#1226)
  * feat: add option to bypass GHE for actions checkout (#1162)
  * revert auto changelog generator
  * ignore release-notes.md to avoid dirty check in goreleaser
  * update to use PAT
  * setup git user
  * allow workflow_dispatch on tag-monthly
  * add monthly release
  * auto generate changelog (#1225)
  * update runc and containerd (#1224)
  * feat: non root user container (#1202)
  * fix: processing of strategy.matrix.include (#1200)
  * fix: localcheckout mock (#1198)
  * Added support for chunked uploads. (#1208)
  * fix: keep action inputs (#1215)
  * Improve logging (#1171)
  * fix: allow TimeoutMinutes to be expression (#1217)
  * build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.2 (#1213)
  * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.4 to 2.3.5 (#1214)
  * build(deps): bump github.com/docker/cli (#1211)
  * build(deps): bump github.com/docker/docker (#1212)
  * refactor: remove github.com/pkg/errors dependency (#1077)
  * fix: skip local actions pre step in any case (#1204)
  * pkg/runner: add support to replace GitHub's env (#1197)
  * fix: dryrun skip local actions + enable Tests (#1199)
  * fix: Remove volume with same name as the container again (#1203)
  * build(deps): bump github.com/go-ini/ini from 1.66.5 to 1.66.6 (#1201)
  * build(deps): bump github.com/go-ini/ini from 1.66.4 to 1.66.5 (#1189)
  * governance: fix bug report rendering (#1186)
  * update docs (#1180)
  * feat: handle context cancelation during docker exec (#1170)
  * implement pre and post steps (#1089)
  * fix: remove composite restrictions (#1128)
  * governance: new issue templates (#1048)
  * ci(choco): update chocolatey to 1.1.0 (#1164)
  * build(deps): bump goreleaser/goreleaser-action from 2 to 3 (#1179)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.12 to 1.6.13 (#1173)
  * feat: add ubuntu-22.04 (#1150)
  * feat/bug-report-extended (#1163)
  * build(deps): bump golangci/golangci-lint-action from 3.1.0 to 3.2.0 (#1169)
  * build(deps): bump github.com/docker/docker (#1167)
  * build(deps): bump github.com/docker/cli (#1168)
  * fix: panic if a step in a job is nil (#1145)
  * fix: return invalid step type (#1157)
  * Remove the correct Volume (#1148)
  * fix: panic while running DRYRUN with local actions (#1141)
  * refactor: remove composite action runcontext workaround (#1085)
  * build(deps): bump github.com/moby/buildkit from 0.10.2 to 0.10.3 (#1153)
  * build(deps): bump docker/setup-qemu-action from 1 to 2 (#1156)
  * build(deps): bump github.com/docker/docker (#1155)
  * build(deps): bump github.com/docker/cli (#1154)
  * feat: support `GITHUB_REF_NAME` &amp; `GITHUB_REF_TYPE` (#1142)
  * build(deps): bump github.com/moby/buildkit from 0.10.1 to 0.10.2 (#1147)
  * fix: conclusion and outcome are no integers (#1136)
  * fix: do not error that much (#1137)
  * build(deps): bump codecov/codecov-action from 3.0.0 to 3.1.0 (#1139)
  * chore: fold integration test outputs (#1111)
  * Update README.md (#1121)
  * docs(README): remove go install (#1123)
  * ci: always grab latest go version (#1124)
  * tests: remove runTestJobFile (#1127)
  * use new paths from goreleaser (#1135)
  * README: add MacPorts badge (#1129)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.11 to 1.6.12 (#1126)
  * build(deps): bump codecov/codecov-action from 2.1.0 to 3.0.0 (#1118)
  * build(deps): bump github.com/moby/buildkit from 0.10.0 to 0.10.1 (#1116)
  * build(deps): bump actions/upload-artifact from 2 to 3 (#1119)
  * build(deps): bump actions/setup-go from 2 to 3 (#1120)
  * build(deps): bump actions/stale from 4 to 5 (#1117)
  * tests(runner): move arm64 test to own func (#1095)
  * build(deps): bump deps which dependabot doesn't want to (#1107)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.10 to 1.6.11 (#1106)
  * implement volume mount for container job (#1101)
  * feat: add option to specify git remote name (#1104)
  * Allow passed in env vars to supersede ones declared in the workflow (#1100)
  * fix: copy ignored tracked files (#1074)
  * build(deps): bump github.com/opencontainers/selinux (#1102)
  * fix: return error on reusable workflows (#1093)
  * deps: bump go.mod to go1.18 (#1088)
  * fix(editorconfig): correct braces (#1094)
  * ci: bump go to 1.18 (#1087)
  * fix: don't overwrite with empty cmd/entrypoint (#1076)
  * refactor: simplify action function signatures (#1083)
  * deps: remove shlex (#1086)
  * fix: set default version string (#1070)
  * build(deps): bump actions/cache from 2 to 3 (#1082)
  * build(deps): bump github.com/docker/docker (#1080)
  * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.2 to 2.3.4 (#1079)
  * build(deps): bump github.com/docker/cli (#1081)
  * automatically merge PRs from dependabot (#1084)
  * deps: bump go-git (#1057)
  * feat: split job steps into its own files/structs (#1004)
  * feat: add bug-report flag (#1056)
  * Fix: panic: reflect: slice index out of range (#1066)
  * Fix: call of reflect.Value.Interface on zero Value (#1067)
  * Fix: tojson(null) == 'null' (#1068)
  * build(deps): bump github.com/docker/docker (#1062)
  * build(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#1061)
  * feat: add flag to always run the checkout action (#1049)
  * Revert: Don't stop JobContainer on failure (#1041)
  * fix: remove unused TestContext (#1013)
  * feat: add step name to logger field (#1027)
  * fix: coerce booleans to numbers for comparison in exprparser (#1030)
  * feat: add json logger output (#1026)
  * build(deps): bump golangci/golangci-lint-action from 2 to 3.1.0 (#1019)
  * ci(stalebot): ignore feature requests (#1017)
  * build(deps): bump actions/checkout from 2 to 3 (#1028)
  * build(deps): bump github.com/spf13/cobra from 1.3.0 to 1.4.0 (#1040)
  * build(deps): bump github.com/docker/cli (#1038)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.9 to 1.6.10 (#1039)
  * build(deps): bump github.com/docker/distribution (#1037)
  * build(deps): bump github.com/moby/buildkit from 0.9.3 to 0.10.0 (#1036)
  * fix: trim whitespace from actrc (#1024)
  * fix: hide masked values in log files (#1011)
  * build(deps): bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#955)
  * Update link to 'filesystems' GitHub docs (#1016)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.8 to 1.6.9 (#1018)
  * feat: run jobs in parallel (#1003)
  * Expression evaluator fixes (#1009)
  * build(deps): bump github.com/go-ini/ini from 1.64.0 to 1.66.4 (#997)
  * fix: print line after password prompt (#1014)
  * refactor: default empty if: statement to if: success() in evaluator &amp; remove `FixIfStatement()` (#990)
  * fix: deep evaluate matrix strategy (#964)
  * build(deps): bump github.com/docker/distribution (#994)
  * Added instructions to install on fedora using copr package (#993)
  * fix: always execute closeContainer() executor (#988)
  * refactor: extract setupAction into ActionReader (#986)
  * refactor: extract RunContext Executor in JobExecutor (#984)
  * docs: Expand the GITHUB_TOKEN section (#968)
  * ci(Mergify): configuration update (#972)
  * fix: docker cp of dangling symlink (#943) (#948)
  * Fix: regression run after failure (#971)
  * ci(Mergify): configuration update (#966)
  * build(deps): bump github.com/moby/buildkit from 0.9.2 to 0.9.3 (#958)
  * build(deps): bump github.com/docker/docker (#957)
  * build(deps): bump github.com/opencontainers/image-spec (#954)
  * build(deps): bump github.com/docker/cli (#956)
  * Test: env.ACT in if condition of the workflow (#965)
  * feat: add skipped status as step result (#950)
  * feat: try to read ref and sha from event payload if available (#889)
  * fix: set composite outputs on failure (#945)
  * Refactor expression evaluator to use parser from actionlint package (#908)
  * fix(goreleaser): add append mode for release notes (#962)
  * feat(goreleaser): format changelog, add prereleases (#942)
  * fix: update install.sh (#937)
  * refactor: export and move shared contexts into pkg/model (#931)
  * feat: add node16 support (#922)
  * Feature: uses in composite (#793)
  * lint(megalinter): disable markdown link check (#938)
  * ci: replace superlinter with megalinter (#923)
  * fix: rework setupShellCommand (#930)
  * fix: clarify --reuse and --rm flags (#929)
  * ci(Mergify): configuration update (#924)
  * fix: ::stop-commands:: should continue to print the lines (#920)
  * fix: continue jobs + steps after failure (#840)
  * Fix and test choco action (#911)
  * Docker auth (#891)
  * container credentials (#868)
  * Add more steps context support (#887)
  * feat: allow existing logger from context (#898)
  * feat: SELinux lables for --bind (#906)
  * ci(choco): fix chocolatey docker build (#903)
- Add go modules (vendor) suport in _service file
- run spec-cleaner</changelog>
  <changelog author="jayvdb@gmail.com" date="1660132800">- Update to version 0.2.30:
  * fix: ensure all post steps are executed (#1286)
  * walk submodule path instead of dir name (#1282)
  * fix: add parent step id in composite action step id (#1268)
  * Made env interpolated instead of evaluated. (#1222)
  * build(deps): bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0 (#1273)
  * Update README.md (#1260)
  * lint: add ReadHeaderTimeout (#1277)
  * fix: the number in the github event is of type number (#1252)
  * only perform chown operation for non root users (#1250)
  * fix: allow TimeoutMinutes to be expression in Jobs (#1247)
  * fix: use docker images from dockerhub (#1249)
  * Improve --eventpath example command (#1243)
  * Improve docs for events inputs (#1238)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.14 to 1.6.15 (#1239)
  * build(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 (#1240)</changelog>
  <changelog author="Thomas Schraitle &lt;thomas.schraitle@suse.com&gt; - 0.2.31" date="1670673600">- Update to version 0.2.31:
  * fix: CI is unstable due to new linting rules (#1292)
  * help output: use consistent terminology between -j &amp; -l (#1326)
  * support runner.arch (#1290)
  * build(deps): bump github.com/moby/buildkit from 0.10.3 to 0.10.4 (#1322)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.16 to 1.6.17 (#1321)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.14 to 0.0.16 (#1312)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.15 to 1.6.16 (#1311)
  * build(deps): bump github.com/go-ini/ini from 1.66.6 to 1.67.0 (#1305)
  * refactor: ignore already closed error (#1285)</changelog>
  <changelog author="Thomas Schraitle &lt;thomas.schraitle@suse.com&gt; - 0.2.32" date="1670673601">- Update to version 0.2.32:
  * feat: pass current matrix information to job logger (#1364)
  * fix: show workflow info even if on.push is not defined (#1329) (#1335)
  * fix: restore the job logger setup after job cancelation (#1365)
  * fix: align github.ref to GitHub Action (#1362)
  * fix: crash on invalid docker credentials (#1348)
  * fix: missing defaults in nodejs pre (#1349)
  * fix: support expression for step's continue-on-error field (#900) (#1331)
  * fix: show workflow name when get error on yml parsing (#1133) (#1328)
  * build(deps): bump codecov/codecov-action from 3.1.0 to 3.1.1 (#1359)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.18 to 1.6.19 (#1360)
  * build(deps): bump actions/stale from 5 to 6 (#1357)
  * Arch best practice is to not run partial upgrades (#1355)
  * Improve hint for inserting secrets securely (#1354)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.17 to 1.6.18 (#1352)
  * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.5 to 2.3.6 (#1341)
  * build(deps): bump github.com/docker/cli (#1340)
  * build(deps): bump github.com/docker/docker (#1339)</changelog>
  <changelog author="Thomas Schraitle &lt;thomas.schraitle@suse.com&gt; - 0.2.33" date="1670673602">- Update to version 0.2.33:
  * fix: ci is failing since 2022-10-17 (#1397)
  * fix: re-evaluate env for remote composite actions (#1385)
  * fix: interpolate action input defaults (#1376)
  * fix: support docker create arguments from container.options (#1022) (#1351)
  * fix: handle go closure iteration (#1374)
  * build(deps): bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (#1420)
  * build(deps): bump github.com/docker/docker (#1418)
  * build(deps): bump github.com/docker/cli (#1419)
  * build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#1404)
  * refactor: move from io/ioutil to io and os packages (#1417)
  * Add user level Docker socket to common paths (#1416)
  * build(deps): bump megalinter/megalinter from 6.12.0 to 6.13.0 (#1407)
  * build(deps): bump golangci/golangci-lint-action from 3.2.0 to 3.3.0 (#1408)
  * build(deps): bump github.com/docker/docker (#1403)
  * build(deps): bump github.com/docker/cli (#1405)
  * build(deps): bump github.com/moby/buildkit from 0.10.4 to 0.10.5 (#1406)
  * Fixes #1387 (#1388)
  * build(deps): bump megalinter/megalinter from 6.11.1 to 6.12.0 (#1395)
  * build(deps): bump github.com/docker/cli (#1393)
  * build(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.0 (#1394)
  * build(deps): bump github.com/docker/docker (#1392)
  * Mapping workflow_dispatch inputs into the Expression inputs context (#1363)
  * test: add test for networking setup in act (#1375)
  * build(deps): bump megalinter/megalinter from 6.11.0 to 6.11.1 (#1381)
  * build(deps): bump gotest.tools/v3 from 3.0.3 to 3.4.0 (#1379)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.20 to 1.6.21 (#1380)
  * build(deps): bump github.com/imdario/mergo from 0.3.12 to 0.3.13 (#1378)
  * Fix composite input handling (#1345)
  * build(deps): bump megalinter/megalinter from 5 to 6.11.0 (#1370)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.19 to 1.6.20 (#1371)
  * build(deps): bump github.com/opencontainers/selinux (#1372)</changelog>
  <changelog author="Thomas Schraitle &lt;thomas.schraitle@suse.com&gt; - 0.2.34" date="1670673603">- Update to version 0.2.34:
  * feat: interpolate the step names (#1422)
  * feat: GITHUB_STATE and GITHUB_OUTPUT file commands (#1391)
  * feat: Host environment (#1293)
  * feat: parse types of reusable workflows (#1414)
  * fix: handle subdirectors and exclusions (#1012) (#1446)
  * fix: keep path to event json file in composite actions (#1428)
  * fix: nil pointer access ( workflow_dispatch )
  * build(deps): bump megalinter/megalinter from 6.14.0 to 6.15.0 (#1475)
  * act -j -W example (#1471)
  * Fix shellcommand error on sh shell (#1464)
  * fix typo (#1456)
  * build(deps): bump github.com/creack/pty from 1.1.17 to 1.1.18 (#1447)
  * Remove dead code (#1425)
  * build(deps): bump github.com/moby/buildkit from 0.10.5 to 0.10.6 (#1437)
  * build(deps): bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 (#1436)
  * Update number of approvers required from 3 to 2
  * build(deps): bump megalinter/megalinter from 6.13.0 to 6.14.0 (#1426)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.21 to 1.6.22 (#1427)</changelog>
  <changelog author="Thomas Schraitle &lt;thomas.schraitle@suse.com&gt; - 0.2.34" date="1673438400">- Spec file:
  Fix bsc#1207021 to report the correct version when calling "act --version"
  Wrong version is fixed with sed in act-0.2.34/main.go
  Reported upstream as GH://nektos/act#1555</changelog>
  <changelog author="sebix@sebix.at" date="1683720000">- Update to version 0.2.45:
  * chore: bump VERSION to 0.2.45
  * Support cache (#1770)
  * chore: run act from cli on linux (#1758)
  * Revert breaking docker socket changes (#1763)
  * avoid using log.Fatal (#1759)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1755)
  * build(deps): bump github.com/docker/docker (#1754)
  * build(deps): bump github.com/docker/cli (#1753)
  * build(deps): bump codecov/codecov-action from 3.1.2 to 3.1.3 (#1752)
  * ci: deduplicate running workflows (#1751)
  * fix: try finding a socket, otherwise fail, respect user choice (#1745)
  * Improve watchAndRun (#1743)
  * Remove the comment-out code. (#1691)
  * typo: fix expression of warning message on macOS (#1693)
  * fix: environment handling windows (host mode) (#1732)
  * fix: ensure networkmode "host" unless explicitly specified (#1739)
  * Avoid using `log.Fatal` in `pkg/*` (#1705)
  * feat: support yaml env/secrets/inputs file (#1733)
  * build(deps): bump codecov/codecov-action from 3.1.1 to 3.1.2 (#1735)
  * fix: ghc assignment typo (#1729)
  * fix: reusable workflow panic (#1728)
  * fix: add `server_url` attribute to github context (#1727)
  * build(deps): update go-git to ce62f3e9ff86270538a514a68d3bd5563a733e3b (#1725)
  * build(deps): bump github.com/docker/docker (#1719)
  * build(deps): bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#1724)
  * build(deps): bump github.com/docker/cli (#1722)
  * build(deps): bump megalinter/megalinter from 6.22.1 to 6.22.2 (#1720)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.23 to 1.6.24 (#1721)
  * build(deps): bump golang.org/x/term from 0.6.0 to 0.7.0 (#1723)
  * build(deps): bump github.com/docker/cli (#1712)
  * build(deps): bump github.com/docker/docker (#1711)
  * build(deps): bump megalinter/megalinter from 6.21.0 to 6.22.1 (#1710)
  * chore: bump VERSION to 0.2.44
  * build(deps): bump github.com/opencontainers/runc from 1.1.3 to 1.1.5 (#1708)
  * feat: improve GetOutboundIP (#1707)
  * fix: use os.UserHomeDir (#1706)
  * Make sure working directory is respected when configured from matrix (#1686)
  * build(deps): bump github.com/moby/buildkit from 0.11.4 to 0.11.5 (#1703)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.17 to 0.0.18 (#1702)
  * build(deps): bump github.com/imdario/mergo from 0.3.14 to 0.3.15 (#1701)
  * build(deps): bump actions/stale from 7 to 8 (#1700)
  * build(deps): bump megalinter/megalinter from 6.20.1 to 6.21.0 (#1699)
  * full path required for extension install (#1670)
  * build(deps): bump actions/setup-go from 3 to 4 (#1689)
  * build(deps): bump github.com/imdario/mergo from 0.3.13 to 0.3.14 (#1688)
  * build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#1650)
  * build(deps): bump megalinter/megalinter from 6.20.0 to 6.20.1 (#1679)
  * build(deps): bump fregante/setup-git-user from 1 to 2 (#1664)
  * Add example command for collecting artifacts (#1671)
  * feat: specify matrix on command line (#1675)
  * Support for docker steps in host environment (#1674)
  * fix: correct ref and ref_name (#1672)
  * fix: return err in walk (#1667)
  * test: Enshure ForcePull config doesn't break docker actions (1661)
  * fix: crash if the id tool fails to run in the container (1660)
  * build(deps): bump github.com/moby/buildkit from 0.11.3 to 0.11.4 (#1669)
  * build(deps): bump megalinter/megalinter from 6.19.0 to 6.20.0 (#1665)
  * build(deps): bump golang.org/x/term from 0.5.0 to 0.6.0 (#1666)
  * Improve XDG Spec supporting (#1656)
  * fix: safe file name (#1651)
  * fix: compare properties of Invalid types (#1645)
  * chore: bump VERSION to 0.2.43
  * fix: github.job property is empty, GITHUB_JOB should be job id (#1646)
  * build(deps): bump github.com/opencontainers/image-spec (#1649)
  * fix: update output handling for reusable workflows (#1521)
  * fix: crash malformed composite action (#1616)
  * docs: remove help section (#1648)
  * feat: workflowpattern package (#1618)
  * build(deps): bump github.com/containerd/containerd from 1.6.16 to 1.6.18 (#1637)
  * fix: add GITHUB_STEP_SUMMARY (#1607)
  * build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0 (#1636)
  * build(deps): bump github.com/moby/buildkit from 0.11.2 to 0.11.3 (#1635)
  * fix: tolerate workflow that needs a missing job (#1595) (#1619)
  * chore: Remove obsolete Container.UpdateFromPath (#1631)
  * chore: use new style octal (#1630)
  * fix: don't override env (#1629)
  * ci: add Winget Releaser workflow (#1623)
  * build(deps): bump github.com/opencontainers/selinux (#1625)
  * build(deps): bump github.com/docker/docker (#1624)
  * build(deps): bump github.com/docker/cli (#1626)
  * chore: add Winget installation instructions (#1622)
  * Pass dockerfile to build executor (#1606)
  * build(deps): bump github.com/docker/cli from 23.0.0-rc.1+incompatible to 23.0.0+incompatible (#1611)
  * build(deps): bump github.com/docker/docker (#1613)
  * build(deps): bump megalinter/megalinter from 6.18.0 to 6.19.0 (#1610)
  * build(deps): bump github.com/go-git/go-billy/v5 from 5.4.0 to 5.4.1 (#1612)
  * build(deps): bump github.com/joho/godotenv from 1.4.0 to 1.5.1 (#1614)
  * refactor: GITHUB_ENV command / remove env.PATH (#1503)
  * Update max container name length (#1597)
  * feat: allow overriding of `GITHUB_` env variables (#1582)
  * Docker build fixes (#1596)
  * fix: Apply forcePull only for prebuild docker actions (#1599)
  * chore: bump VERSION to 0.2.42
  * feat: cache notices to reduce frequency of upgrade notifications (#1592)
  * chore: fix release script to trigger gh-act
  * chore: bump VERSION to 0.2.41
  * build(deps): bump github.com/moby/buildkit from 0.11.1 to 0.11.2 (#1589)
  * build(deps): bump golangci/golangci-lint-action from 3.3.1 to 3.4.0 (#1590)
  * cI: make stalebot less annoying (#1587)
  * test: Do not leak step env in composite (#1585)
  * feat: step summary of test results (#1580)
  * build(deps): bump github.com/moby/buildkit from 0.11.0 to 0.11.1 (#1576)
  * build(deps): bump golang.org/x/term from 0.3.0 to 0.4.0 (#1577)
  * build(deps): bump github.com/docker/docker (#1573)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.22 to 1.6.23 (#1574)
  * build(deps): bump actions/github-script from 5 to 6 (#1572)
  * chore: update docs for installing act as GH CLI extension
  * feat: release extension
  * feat: release extension
  * feat: release extension
  * refactor: pull and rebuild docker by default (#1569)
  * feat: add remote reusable workflows (#1525)
  * Fixed auto-generated platform configuration with Micro size image (#1566)
  * Feature/allow worktrees (#1530)
  * chore: bump VERSION to 0.2.40
  * fix: update artifact server to address GHSL-2023-004 (#1565)
  * chore: bump VERSION to 0.2.39
  * chore: fix promote script
  * chore: bump version
  * chore: makefile update
  * chore: bump version
  * build(deps): bump github.com/moby/buildkit from 0.10.6 to 0.11.0 (#1563)
  * chore: push new version
  * Readme: Fix shell installation (#1547)
  * fix: allow override of artifact server bind address (#1560)
  * feat: add check for newer versions (#1562)
  * Input (#1524)
  * refactor: remove docker image list reference filter (#1501)
  * fix: add-matcher fails github workflow (#1532)
  * feat: add support for building docker actions with private registries (#1557)
  * build(deps): bump github.com/containerd/containerd from 1.6.6 to 1.6.12 (#1554)
  * feat: Allow building without docker support (#1507)
  * fix: extra path lost in composite actions (#1531)
  * test: make sure workflow_call is not a github event calling our workflow (#1520)
  * fix: preserve job result state in case of failure (#1519)
  * build(deps): bump megalinter/megalinter from 6.17.0 to 6.18.0 (#1550)
  * build(deps): bump megalinter/megalinter from 6.16.0 to 6.17.0 (#1540)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.16 to 0.0.17 (#1539)
  * build(deps): bump github.com/go-git/go-billy/v5 from 5.3.1 to 5.4.0 (#1541)
  * build(deps): bump megalinter/megalinter from 6.15.0 to 6.16.0 (#1534)
  * build(deps): bump actions/stale from 6 to 7 (#1535)
  * revert: deprecation of containerArchitecture (#1514)
  * build(deps): bump goreleaser/goreleaser-action from 3 to 4 (#1515)
  * build(deps): bump github.com/docker/cli (#1516)
  * build(deps): bump github.com/docker/docker (#1517)
  * fix: align runner.os / runner.arch to known values (#1510)
  * feat: Support "result" on "needs" context. (#1497)
  * fix: tail (not absolute) as entrypoint of job container (#1506)
  * refactor: fix savestate in pre steps (#1466)
  * feat: allow to spawn and run a local reusable workflow (#1423)
  * refactor: fix add-path / GITHUB_PATH commands (#1472)
  * feat: JobLoggerFactory (#1496)
  * fix: handle env-vars case sensitive (#1493)
  * fix: step env is unavailable in with property expr (#1458)
  * refactor: share UpdateFromEnv logic (#1457)
  * feat: `--container-options` (#1462)
  * refactor: move autoremove into the jobexecutor (#1463)
  * docs: clarifying skipping steps / jobs (#1480)
  * Pass `LANG=C.UTF-8` to environment (#1476)
  * build(deps): bump megalinter/megalinter from 6.14.0 to 6.15.0 (#1475)
  * act -j -W example (#1471)
  * Fix shellcommand error on sh shell (#1464)
  * fix typo (#1456)
  * build(deps): bump github.com/creack/pty from 1.1.17 to 1.1.18 (#1447)
  * fix: handle subdirectors and exclusions (#1012) (#1446)
  * Remove dead code (#1425)
  * feat: interpolate the step names (#1422)
  * feat: GITHUB_STATE and GITHUB_OUTPUT file commands (#1391)
  * feat: Host environment (#1293)
  * build(deps): bump github.com/moby/buildkit from 0.10.5 to 0.10.6 (#1437)
  * fix: keep path to event json file in composite actions (#1428)
  * build(deps): bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 (#1436)
  * fix: nil pointer access ( workflow_dispatch )
  * Update number of approvers required from 3 to 2
  * build(deps): bump megalinter/megalinter from 6.13.0 to 6.14.0 (#1426)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.21 to 1.6.22 (#1427)
  * feat: parse types of reusable workflows (#1414)
  * build(deps): bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (#1420)
  * build(deps): bump github.com/docker/docker (#1418)
  * build(deps): bump github.com/docker/cli (#1419)
  * build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#1404)
  * refactor: move from io/ioutil to io and os packages (#1417)
  * Add user level Docker socket to common paths (#1416)
  * build(deps): bump megalinter/megalinter from 6.12.0 to 6.13.0 (#1407)
  * build(deps): bump golangci/golangci-lint-action from 3.2.0 to 3.3.0 (#1408)
  * build(deps): bump github.com/docker/docker (#1403)
  * build(deps): bump github.com/docker/cli (#1405)
  * build(deps): bump github.com/moby/buildkit from 0.10.4 to 0.10.5 (#1406)
  * Fixes #1387 (#1388)
  * build(deps): bump megalinter/megalinter from 6.11.1 to 6.12.0 (#1395)
  * build(deps): bump github.com/docker/cli (#1393)
  * build(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.0 (#1394)
  * build(deps): bump github.com/docker/docker (#1392)
  * Mapping `workflow_dispatch` inputs into the Expression `inputs` context (#1363)
  * fix: ci is failing since 2022-10-17 (#1397)
  * test: add test for networking setup in act (#1375)
  * fix: re-evaluate env for remote composite actions (#1385)
  * build(deps): bump megalinter/megalinter from 6.11.0 to 6.11.1 (#1381)
  * build(deps): bump gotest.tools/v3 from 3.0.3 to 3.4.0 (#1379)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.20 to 1.6.21 (#1380)
  * build(deps): bump github.com/imdario/mergo from 0.3.12 to 0.3.13 (#1378)
  * fix: interpolate action input defaults (#1376)
  * fix: support docker create arguments from container.options (#1022) (#1351)
  * Fix composite input handling (#1345)
  * fix: handle go closure iteration (#1374)
  * build(deps): bump megalinter/megalinter from 5 to 6.11.0 (#1370)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.19 to 1.6.20 (#1371)
  * build(deps): bump github.com/opencontainers/selinux (#1372)
  * fix: show workflow info even if on.push is not defined (#1329) (#1335)
  * fix: restore the job logger setup after job cancelation (#1365)
  * feat: pass current matrix information to job logger (#1364)
  * fix: align github.ref to GitHub Action (#1362)
  * fix: crash on invalid docker credentials (#1348)
  * fix: missing defaults in nodejs pre (#1349)
  * build(deps): bump codecov/codecov-action from 3.1.0 to 3.1.1 (#1359)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.18 to 1.6.19 (#1360)
  * build(deps): bump actions/stale from 5 to 6 (#1357)
  * Arch best practice is to not run partial upgrades (#1355)
  * Improve hint for inserting secrets securely (#1354)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.17 to 1.6.18 (#1352)
  * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.5 to 2.3.6 (#1341)
  * build(deps): bump github.com/docker/cli (#1340)
  * build(deps): bump github.com/docker/docker (#1339)
  * fix: support expression for step's continue-on-error field (#900) (#1331)
  * fix: show workflow name when get error on yml parsing (#1133) (#1328)
  * help output: use consistent terminology between `-j` &amp; `-l` (#1326)
  * support runner.arch (#1290)
  * build(deps): bump github.com/moby/buildkit from 0.10.3 to 0.10.4 (#1322)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.16 to 1.6.17 (#1321)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.14 to 0.0.16 (#1312)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.15 to 1.6.16 (#1311)
  * build(deps): bump github.com/go-ini/ini from 1.66.6 to 1.67.0 (#1305)
  * refactor: ignore already closed error (#1285)
  * fix: CI is unstable due to new linting rules (#1292)</changelog>
  <changelog author="ila.embsys@gmail.com" date="1709380800">- Update to version 0.2.60:
  * chore: bump VERSION to 0.2.60
  * build(deps): bump go.etcd.io/bbolt from 1.3.8 to 1.3.9 (#2229)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.26 to 1.6.27 (#2228)
  * fix: logo and demo asset urls (#2226)
  * feat: Test writing remote Actions locally (#2155)
  * build(deps): bump github.com/opencontainers/image-spec (#2223)
  * refactor: simpilfy go-git cache (#2208)
  * feat: offline mode for new action cache (#2173)
  * build(deps): bump github.com/opencontainers/image-spec (#2214)
  * build(deps): bump golang.org/x/term from 0.16.0 to 0.17.0 (#2213)
  * fix: Rootless error concerning `/var/run/docker.sock` (#2181)
  * Shrink Readme (#2198)
  * chore: bump VERSION to 0.2.59
  * feat: correctly use the xdg library, which has the side effect to fix the config survey (#2195)
  * chore: bump VERSION to 0.2.58
  * build(deps): bump github.com/opencontainers/runc from 1.1.7 to 1.1.12 (#2187)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.12.5 (#2188)
  * build(deps): bump github.com/containerd/containerd from 1.6.19 to 1.6.26 (#2189)
  * build(deps): bump github.com/opencontainers/image-spec (#2167)
  * build(deps): bump github.com/moby/buildkit from 0.12.4 to 0.12.5 (#2186)
  * fix: use correct path to toolcache (#1494)
  * refactor: filecollector into new package (#2174)
  * build(deps): bump codecov/codecov-action from 3.1.4 to 3.1.5 (#2175)
  * fix: improve warning about remote not found (#2169)
  * fix: improve new-action-cache fetch failure error (#2172)
  * fix: subpath actions via new artifact cache (#2170)
  * fix: improve action not found error (#2171)
  * refactor(cmd/root): simplify `parseEnvs` (#2162)
  * Add containerd's normalized architectures to archMapper (#2168)
  * build(deps): bump megalinter/megalinter from 7.7.0 to 7.8.0 (#2164)
  * fix: write default config in XDG config dir to avoid cluttering the HOME directory by default (#2140)
  * WorkflowDispatchConfig supports multiple yaml node kinds (#2123)
  * fix: match cache `restore-keys` in creation reverse order (#2153)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#2133)
  * feat: support offline mode (#2128)
  * feat: cli option to enable the new action cache (#1954)
  * ci: automatic merge PRs created by a maintainer and approved by 1 other maintainer (#2156)
  * Add support for NetBSD (#2023)
  * build(deps): bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 (#2149)
  * build(deps): bump golang.org/x/term from 0.15.0 to 0.16.0 (#2148)
  * chore: bump VERSION to 0.2.57
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#2134)
  * build(deps): bump github.com/containerd/containerd from 1.7.2 to 1.7.11 (#2136)
  * chore: bump VERSION to 0.2.56
  * build(deps): bump actions/stale from 8 to 9 (#2120)
  * feat: support config env expansion (#2063)
  * build(deps): bump actions/checkout from 3 to 4 (#1998)
  * build(deps): bump github.com/creack/pty from 1.1.20 to 1.1.21 (#2099)
  * Fix noisy `runs-on` error logging (#2102)
  * fix: IsHost is defined as false on windows (#2093)
  * build(deps): bump actions/setup-go from 4 to 5 (#2118)
  * build(deps): bump megalinter/megalinter from 7.6.0 to 7.7.0 (#2119)
  * build(deps): bump github.com/go-git/go-git/v5 from 5.10.1 to 5.11.0 (#2117)
  * build(deps): bump golang.org/x/term from 0.14.0 to 0.15.0 (#2112)
  * build(deps): bump github.com/go-git/go-git/v5 from 5.10.0 to 5.10.1 (#2114)
  * build(deps): bump github.com/moby/buildkit from 0.12.3 to 0.12.4 (#2113)
  * chore: bump VERSION to 0.2.55
  * build(deps): bump megalinter/megalinter from 7.5.0 to 7.6.0 (#2098)
  * build(deps): bump actions/github-script from 6 to 7 (#2097)
  * chore: bump VERSION to 0.2.54
  * build(deps): bump golang.org/x/term from 0.13.0 to 0.14.0 (#2091)
  * Evaluate if condition when calling a reusable workflow (#2087)
  * feat: support runs-on labels and group (#2062)
  * Evaluate all service values (#2054)
  * fix: (#2075)
  * Don't set GITHUB_TOKEN (#2089)
  * Support array expressions in runs-on (#2088)
  * Use unique name for reusable workflow (#2015)
  * build(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#2079)
  * fix: panic (#2071)
  * chore: bump VERSION to 0.2.53
  * build(deps): bump github.com/docker/docker (#2067)
  * build(deps): bump github.com/creack/pty from 1.1.18 to 1.1.20 (#2068)
  * build(deps): bump megalinter/megalinter from 7.4.0 to 7.5.0 (#2070)
  * build(deps): bump go.etcd.io/bbolt from 1.3.7 to 1.3.8 (#2065)
  * build(deps): bump github.com/docker/cli (#2069)
  * build(deps): bump github.com/go-git/go-git/v5 from 5.9.0 to 5.10.0 (#2066)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.19 to 0.0.20 (#2059)
  * build(deps): bump github.com/moby/buildkit from 0.12.2 to 0.12.3 (#2060)
  * Add support for service containers (#1949)
  * Fix float formatting (#2018)
  * build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 (#2045)
  * build(deps): bump github.com/docker/distribution (#2037)
  * build(deps): bump golang.org/x/term from 0.12.0 to 0.13.0 (#2036)
  * fix action_ref (composite action) (#2020)
  * fix: use actions/runner hashfiles in container (#1940)
  * Fix image survey for large images (#2022)
  * [ Variables ] - Add missing documentation for repository variables (#2032)
  * chore: bump VERSION to 0.2.52
  * build(deps): bump github.com/rhysd/actionlint from 1.6.25 to 1.6.26 (#2026)
  * build(deps): bump megalinter/megalinter from 7.3.0 to 7.4.0 (#2025)
  * chore: bump VERSION to 0.2.51
  * build(deps): bump github.com/go-git/go-git/v5 from 5.8.1 to 5.9.0 (#2011)
  * build(deps): bump github.com/opencontainers/image-spec (#2010)
  * build(deps): bump gotest.tools/v3 from 3.5.0 to 3.5.1 (#2009)
  * build(deps): bump github.com/go-git/go-billy/v5 from 5.4.1 to 5.5.0 (#2012)
  * build(deps): bump docker/setup-qemu-action from 2 to 3 (#2007)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#2008)
  * feat: support node20 runtime (#1988)
  * feat: support interpolation in `&lt;job&gt;.container.options` (#1958)
  * build(deps): bump github.com/docker/docker (#2000)
  * build(deps): bump github.com/docker/cli (#1999)
  * build(deps): bump golang.org/x/term from 0.11.0 to 0.12.0 (#1992)
  * chore: bump VERSION to 0.2.50
  * build(deps): bump github.com/moby/buildkit from 0.12.1 to 0.12.2 (#1986)
  * build(deps): bump github.com/moby/patternmatcher from 0.5.0 to 0.6.0 (#1985)
  * fix: fail if no stages were found (#1970)
  * build(deps): bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 (#1978)
  * Mention act user guide in act (#1973)
  * build(deps): bump megalinter/megalinter from 7.2.1 to 7.3.0 (#1965)
  * ci: change winget job runner to `ubuntu-latest` (#1959)
  * change podman socket path (#1961)
  * Fix "Unknown server OS" for Docker container `--device` option (#1957)
  * refactor: remove unnecessary nil check in RunContext (#1955)
  * feat: Add new Action Cache (#1913)
  * feat: cmd support for windows (#1941)
  * feat: Add CopyTarStream to Container Interface (#1912)
  * refactor: docker build BuildContext field (#1914)
  * Shorten or/and in expressions (#1939)
  * prefer pwsh on windows if found (#1942)
  * build(deps): bump megalinter/megalinter from 7.1.0 to 7.2.1 (#1931)
  * build(deps): bump golang.org/x/term from 0.10.0 to 0.11.0 (#1948)
  * build(deps): bump github.com/moby/buildkit from 0.12.0 to 0.12.1 (#1947)
  * chore: bump VERSION to 0.2.49
  * build(deps): bump github.com/go-git/go-git/v5 from 5.8.0 to 5.8.1 (#1934)
  * build(deps): bump github.com/docker/cli (#1932)
  * build(deps): bump github.com/docker/docker (#1933)
  * build(deps): bump github.com/go-git/go-git/v5 from 5.7.0 to 5.8.0 (#1925)
  * local runner doc (#1911)
  * Add new CLI flag to log just the job id and not the entire job name (#1920)
  * build(deps): bump github.com/moby/buildkit from 0.11.6 to 0.12.0 (#1917)
  * build(deps): bump golang.org/x/term from 0.9.0 to 0.10.0 (#1906)
  * Bump dockercli (#1905)
  * throw when invalid `uses` key is provided (#1804)
  * fix: handle zero size (#1888)
  * chore: upgrade golangci-lint and address findings (#1904)
  * build(deps): bump golangci/golangci-lint-action from 3.5.0 to 3.6.0 (#1868)
  * build(deps): bump gotest.tools/v3 from 3.4.0 to 3.5.0 (#1892)
  * Normalize path outputs emitted by the artifact server download endpoint (#1898)
  * chore: bump VERSION to 0.2.48
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1884)
  * build(deps): bump github.com/opencontainers/image-spec (#1893)
  * Remove `archives.replacements` in `goreleaser.yaml` (#1895)
  * refactor: open boltdb only while using it (#1879)
  * chore: bump VERSION to 0.2.47
  * Allow inputs for workflow_calls (#1845)
  * build(deps): bump github.com/opencontainers/image-spec (#1883)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1882)
  * build(deps): bump github.com/opencontainers/image-spec (#1881)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1880)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.24 to 1.6.25 (#1870)
  * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.6 to 2.3.7 (#1872)
  * build(deps): bump golang.org/x/term from 0.8.0 to 0.9.0 (#1869)
  * build(deps): bump github.com/opencontainers/image-spec (#1871)
  * Allow to override location of action cache dir (#1863)
  * Drop disappeared `wei/curl@v1` (#1864)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1858)
  * build(deps): bump megalinter/megalinter from 7.0.4 to 7.1.0 (#1857)
  * build(deps): bump github.com/mattn/go-isatty from 0.0.18 to 0.0.19 (#1859)
  * fix: spelling mistake in readme (#1854)
  * feature: Add support for github action variables (#1833)
  * Fix bug in processing jobs on platforms without Docker (#1834)
  * build(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.4 (#1842)
  * build(deps): bump megalinter/megalinter from 7.0.2 to 7.0.4 (#1838)
  * build(deps): bump github.com/docker/cli (#1843)
  * build(deps): bump github.com/imdario/mergo from 0.3.15 to 0.3.16 (#1840)
  * build(deps): bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3 (#1841)
  * build(deps): bump golangci/golangci-lint-action from 3.4.0 to 3.5.0 (#1839)
  * chore: bump VERSION to 0.2.46
  * build(deps): bump github.com/opencontainers/image-spec (#1829)
  * build(deps): bump github.com/docker/cli (#1816)
  * add instruction for using `gh auth token` (#1831)
  * build(deps): bump github.com/go-git/go-git/v5 (#1830)
  * build(deps): bump megalinter/megalinter from 6.22.2 to 7.0.2 (#1827)
  * fix: Update ARCH environment variable used in runners/actions (#1818)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1817)
  * build(deps): bump github.com/sirupsen/logrus from 1.9.0 to 1.9.2 (#1814)
  * build(deps): bump codecov/codecov-action from 3.1.3 to 3.1.4 (#1813)
  * build(deps): bump github.com/opencontainers/image-spec (#1807)
  * build(deps): bump github.com/docker/docker (#1806)
  * build(deps): bump github.com/docker/cli (#1805)
  * build(deps): bump github.com/docker/distribution (#1801)
  * build(deps): bump github.com/cloudflare/circl from 1.1.0 to 1.3.3 (#1800)
  * build(deps): bump github.com/moby/buildkit from 0.11.5 to 0.11.6 (#1791)
  * Replace backslash in GetActPath() for Windows (#1777)
  * feat: implement steps.timeout-minutes (#1776)
  * fix: don't allow `-self-hosted` mode as container image (#1783)
  * Refactor evaluate yaml node do not alter nested nodes (#1761)
  * fix: fallback to unauthenticated pull (#1774)
  * fix: remove hardcoded reference to github.com when using reusable remote workflows and remote actions (#1784)
  * build(deps): bump github.com/docker/cli (#1780)
  * build(deps): bump github.com/opencontainers/image-spec (#1781)
  * build(deps): bump github.com/docker/docker (#1779)</changelog>
  <changelog author="kskarthik@disroot.org" date="1715256000">- Update to version 0.2.62:
  * chore: bump VERSION to 0.2.62
  * build(deps): bump megalinter/megalinter from 7.10.0 to 7.11.1 (#2309)
  * build(deps): bump golangci/golangci-lint-action from 4.0.0 to 5.0.0 (#2310)
  * build(deps): bump github.com/docker/cli (#2307)
  * build(deps): bump github.com/docker/docker (#2306)
  * build(deps): bump github.com/moby/buildkit from 0.13.1 to 0.13.2 (#2308)
  * build(deps): bump github.com/docker/cli (#2302)
  * Add codespell support (config, workflow to detect/not fix) and make it fix few typos (#2296)
  * build(deps): bump github.com/docker/docker (#2299)
  * build(deps): bump github.com/docker/docker (#2295)
  * build(deps): bump megalinter/megalinter from 7.9.0 to 7.10.0 (#2294)
  * build(deps): bump megalinter/megalinter from 7.8.0 to 7.9.0 (#2216)
  * build(deps): bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 (#2215)
  * build(deps): bump golang.org/x/term from 0.18.0 to 0.19.0 (#2278)
  * build(deps): bump github.com/docker/cli (#2291)
  * Update action.yml (#2293)
  * build(deps): bump github.com/moby/buildkit from 0.12.5 to 0.13.1 (#2253)
  * Bump docker to v26 (#2289)
  * fix: skipped jobs have no result (#2276)
  * fix: favor command-line over files (#2274)
  * chore: fix some comments (#2279)
  * build(deps): bump actions/cache from 3 to 4 (#2163)
  * Remove local action cache if remote has changed (#2284)
  * chore: fix codecov (#2288)
  * build(deps): bump github.com/go-git/go-git/v5 from 5.11.0 to 5.12.0 (#2269)
  * chore: bump VERSION to 0.2.61
  * fix: cache adjust restore order of exact key matches (#2267)
  * Trivial: reduce log spam. (#2256)
  * chore: remove repetitive words (#2259)
  * Support overwriting caches (#2265)
  * test: use ping to improve network test (#2266)
  * build(deps): bump github.com/docker/docker (#2252)
  * build(deps): bump golang.org/x/term from 0.17.0 to 0.18.0 (#2244)
  * fix: rootless permission bits (new actions cache) (#2242)
  * fix function name in comment (#2240)
  * fix: docker buildx cache restore not working (#2236)
  * build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#2235)</changelog>
  <changelog author="kskarthik@disroot.org" date="1717329600">- Update to version 0.2.63:
  * chore: bump VERSION to 0.2.63
  * Meta-copy-symlinks-new-actions-cache (#2337)
  * build(deps): bump google.golang.org/protobuf from 1.33.0 to 1.34.1 (#2340)
  * build(deps): bump github.com/golang-jwt/jwt/v5 from 5.2.0 to 5.2.1 (#2341)
  * Actions Artifacts v4 backend (#2224)
  * build(deps): bump github.com/docker/docker (#2333)
  * build(deps): bump github.com/docker/cli (#2332)
  * Add documentation for `dryrun` parameter (#2311)
  * Fix for issue 2232: Many lines of "Could not find any stages to run" on run (#2272)
  * build(deps): bump github.com/docker/cli (#2325)
  * build(deps): bump github.com/rhysd/actionlint from 1.6.27 to 1.7.0 (#2326)
  * build(deps): bump go.etcd.io/bbolt from 1.3.9 to 1.3.10 (#2327)
  * build(deps): bump github.com/docker/docker (#2324)
  * build(deps): bump golangci/golangci-lint-action from 5.3.0 to 6.0.1 (#2323)
  * build(deps): bump golangci/golangci-lint-action from 5.0.0 to 5.3.0 (#2319)
  * build(deps): bump github.com/docker/cli (#2318)
  * build(deps): bump golang.org/x/term from 0.19.0 to 0.20.0 (#2316)
  * build(deps): bump github.com/docker/docker (#2317)</changelog>
</package>
<package pkgid="bf106051ad6047981a97a165fffa5e11e9387304df825d7a686a7635be2abd84546783b9f112d8ee78f4b9bd07364cebc1fb4da8e8ff7ab4b4e582f44f462b3e" name="ade" arch="src">
  <version epoch="0" ver="0.1.2d" rel="2.0.2.2.sr20240605"/>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1562068800">- Initial package version 0.1.1d</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1566820800">- Remove pointless empty scriptlets</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1568116800">- Update to version 0.1.1f
  * Fixed warning which happens with old compilers
    (which are still supported in OpenCV)
- Update to version 0.1.1e
  * Bugfix: Make size() method to return size_t value
- Drop upstream Silence_redundant-move_warning.patch
- Use -ffat-lto-objects to provide a proper static library.
- Run tests by default</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1641988800">- Don't leave an empty %check section if building without tests</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1663416000">- Update to version 0.1.2a
  * A minor version bump to fix OpenCV warnings on Windows
- Update to version 0.1.2
  * This release incorporates the community PRs for the past three
    years &amp; mainly serves for OpenCV new compilers support as
    requested.</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Update to version 0.1.2d
  * Fix compilation with CXX standard set in parent project tree
- Update to version 0.1.2c
  * Fixed issues with CMake exported targets/configs as part
    of OpenVINO build
  * Fixed GCC13 support
- Update to version 0.1.2b
  * A minor version bump to fix warnings on Linux.</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1714046400">- Add ade-use-cxx14-standard.patch: Enforce CMAKE_CXX_STANDARD=14
  to allow building tests with gtest &gt;= 1.14.0 (gh#opencv/ade#44).</changelog>
</package>
<package pkgid="fcc9211e2c79e369eead69066851e2c11b72dbee0c03d3ad5d8c1c7acd4f877a79d7125d577e8cc5776add0a614b48a0b01f8c6ea3e07438c53499a6eefdb162" name="ade" arch="src">
  <version epoch="0" ver="0.1.2d" rel="2.1"/>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1562068800">- Initial package version 0.1.1d</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1566820800">- Remove pointless empty scriptlets</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1568116800">- Update to version 0.1.1f
  * Fixed warning which happens with old compilers
    (which are still supported in OpenCV)
- Update to version 0.1.1e
  * Bugfix: Make size() method to return size_t value
- Drop upstream Silence_redundant-move_warning.patch
- Use -ffat-lto-objects to provide a proper static library.
- Run tests by default</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1641988800">- Don't leave an empty %check section if building without tests</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1663416000">- Update to version 0.1.2a
  * A minor version bump to fix OpenCV warnings on Windows
- Update to version 0.1.2
  * This release incorporates the community PRs for the past three
    years &amp; mainly serves for OpenCV new compilers support as
    requested.</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Update to version 0.1.2d
  * Fix compilation with CXX standard set in parent project tree
- Update to version 0.1.2c
  * Fixed issues with CMake exported targets/configs as part
    of OpenVINO build
  * Fixed GCC13 support
- Update to version 0.1.2b
  * A minor version bump to fix warnings on Linux.</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1714046400">- Add ade-use-cxx14-standard.patch: Enforce CMAKE_CXX_STANDARD=14
  to allow building tests with gtest &gt;= 1.14.0 (gh#opencv/ade#44).</changelog>
</package>
<package pkgid="674773647689059325ef8f7f1bbcbddcb85f7d8c4f100f7b3d6c2041f270bace33fc9942978abff4df6ef11d17f9d422aa4fc8cf81d0262b6b76df4182a12405" name="ade-devel" arch="i586">
  <version epoch="0" ver="0.1.2d" rel="2.0.2.2.sr20240605"/>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1562068800">- Initial package version 0.1.1d</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1566820800">- Remove pointless empty scriptlets</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1568116800">- Update to version 0.1.1f
  * Fixed warning which happens with old compilers
    (which are still supported in OpenCV)
- Update to version 0.1.1e
  * Bugfix: Make size() method to return size_t value
- Drop upstream Silence_redundant-move_warning.patch
- Use -ffat-lto-objects to provide a proper static library.
- Run tests by default</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1641988800">- Don't leave an empty %check section if building without tests</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1663416000">- Update to version 0.1.2a
  * A minor version bump to fix OpenCV warnings on Windows
- Update to version 0.1.2
  * This release incorporates the community PRs for the past three
    years &amp; mainly serves for OpenCV new compilers support as
    requested.</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Update to version 0.1.2d
  * Fix compilation with CXX standard set in parent project tree
- Update to version 0.1.2c
  * Fixed issues with CMake exported targets/configs as part
    of OpenVINO build
  * Fixed GCC13 support
- Update to version 0.1.2b
  * A minor version bump to fix warnings on Linux.</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1714046400">- Add ade-use-cxx14-standard.patch: Enforce CMAKE_CXX_STANDARD=14
  to allow building tests with gtest &gt;= 1.14.0 (gh#opencv/ade#44).</changelog>
</package>
<package pkgid="a3df0b6bc2f9df248023ddc957e9da5b0efb1c8840efac2cd56a87b6038bc348831819ac92a17dc9dc9c065679e54b41618f40dc3365722d33b5553bdd4c7bf5" name="ade-devel" arch="x86_64">
  <version epoch="0" ver="0.1.2d" rel="2.0.2.2.sr20240605"/>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1562068800">- Initial package version 0.1.1d</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1566820800">- Remove pointless empty scriptlets</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1568116800">- Update to version 0.1.1f
  * Fixed warning which happens with old compilers
    (which are still supported in OpenCV)
- Update to version 0.1.1e
  * Bugfix: Make size() method to return size_t value
- Drop upstream Silence_redundant-move_warning.patch
- Use -ffat-lto-objects to provide a proper static library.
- Run tests by default</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1641988800">- Don't leave an empty %check section if building without tests</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1663416000">- Update to version 0.1.2a
  * A minor version bump to fix OpenCV warnings on Windows
- Update to version 0.1.2
  * This release incorporates the community PRs for the past three
    years &amp; mainly serves for OpenCV new compilers support as
    requested.</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Update to version 0.1.2d
  * Fix compilation with CXX standard set in parent project tree
- Update to version 0.1.2c
  * Fixed issues with CMake exported targets/configs as part
    of OpenVINO build
  * Fixed GCC13 support
- Update to version 0.1.2b
  * A minor version bump to fix warnings on Linux.</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1714046400">- Add ade-use-cxx14-standard.patch: Enforce CMAKE_CXX_STANDARD=14
  to allow building tests with gtest &gt;= 1.14.0 (gh#opencv/ade#44).</changelog>
</package>
<package pkgid="b92266d851185df5447b9570b438ede8a5e1e2eb2ad09e039b7b11427736a27a69aff5eeff8bf0e3ad5fe785962b00f8e600c642052c0615985b87990f178887" name="ade-devel" arch="x86_64">
  <version epoch="0" ver="0.1.2d" rel="2.1"/>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1562068800">- Initial package version 0.1.1d</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1566820800">- Remove pointless empty scriptlets</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1568116800">- Update to version 0.1.1f
  * Fixed warning which happens with old compilers
    (which are still supported in OpenCV)
- Update to version 0.1.1e
  * Bugfix: Make size() method to return size_t value
- Drop upstream Silence_redundant-move_warning.patch
- Use -ffat-lto-objects to provide a proper static library.
- Run tests by default</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1641988800">- Don't leave an empty %check section if building without tests</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1663416000">- Update to version 0.1.2a
  * A minor version bump to fix OpenCV warnings on Windows
- Update to version 0.1.2
  * This release incorporates the community PRs for the past three
    years &amp; mainly serves for OpenCV new compilers support as
    requested.</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Update to version 0.1.2d
  * Fix compilation with CXX standard set in parent project tree
- Update to version 0.1.2c
  * Fixed issues with CMake exported targets/configs as part
    of OpenVINO build
  * Fixed GCC13 support
- Update to version 0.1.2b
  * A minor version bump to fix warnings on Linux.</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1714046400">- Add ade-use-cxx14-standard.patch: Enforce CMAKE_CXX_STANDARD=14
  to allow building tests with gtest &gt;= 1.14.0 (gh#opencv/ade#44).</changelog>
</package>
<package pkgid="63476afaa30c3afa93ddda17bf493ecfb5296391b4368c989948e194a6ed75e7ead508cad4b11adbbe822f666b6fc6ecede30c7ca08c440a9bde99363be621b6" name="adios2" arch="src">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="f47902dcfed210c5350122b8f44f507e8b6839c82dc2346aa9fed599916fe547140cdc0f1feb8d42ca754389e9217332e2d1f5a370e05773642990637a7eeff3" name="adios2-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="6c475a06acf59ca83621a5a9c471a19289b7f1142a05fa1b325e0ab35b88c324d3485d7ce49b69adf0a9d3a6bf74b1ecedd5fa2ddca9988e5701aab4780dabb8" name="adios2-debugsource" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="eca0cbb3c4463157f67d6a644d6aaade45ef2f538e5a380e02163110b3c28188bbafe582532391617395866dbe00a083848ff7a3765cae49ac5a73cca0fd827f" name="adios2-devel" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="039047e90b9366a027b378b73b31fe6bdd797ff946a29fc3468c9746232c8b5c440e563cefe5517e3201ea2bd24d141fe56843ef11d38331e82b01a21514f270" name="adios2-devel-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="6ce1da7edc09cf10ba5556f0cea47cc633929042639c9d832374a6dce1fe9c4ff461c00870a9906d4dd1bec81877f831d4b28932422eb9901b1b2e73c4201fb9" name="adios2-mpich" arch="src">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="1ffc990789bcceadb66bb19f8cd511182f9f8a2df77b6ec22c3673d409b7e4c076111d718c0ce273eed3d65304106f7b0c8c0c7d2d646d8db5c8e220deaf2c29" name="adios2-mpich-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="85cd9b06954911769384a4640fc1402624e95378d19913686190c9bbcf71dca9dd4fa83329831fcb3fb05ed0f1a7a5814dd1dfcdc8dca4353c7f7c27f4a7e221" name="adios2-mpich-debugsource" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="d3d1d11db33d1ce4bee13c0181ffdad61fe50bbbf256a918eca7b256c704d709ff74d971a4e018e6cb6f75f640a73ecbeba2c82177f2288ad38392f71d9f0d8e" name="adios2-mpich-devel" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="ac26d8721e68ddb6d8a72926ab095133f6133171c149bea7e912efdcbbf49b7c084efc71f25f8ef7b48ff39675bdd765098d0b1c81ae103c271498c5b1e3d5e3" name="adios2-mpich-devel-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="041016a08fa67877ea506fe26fcff9f0c6e8a7015dc5627d008b1ae4d70e5f2f1f2c3188bd1441e79eedf96ec33be8344baefb674b2b4e1f3f079053d4eb7a0a" name="adios2-mvapich2" arch="src">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="44568d04e36eaed1a9afbd57e22714e3cb69c13ae1fc944b45dda02f33096e10b3741d37b2020b77ac880d197d12102b57f7d087697388f1c66ac0bad25dc07a" name="adios2-mvapich2-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="d986922a780f55c8150138363b36da71c838eb0c9f5fef3af0d7667f4b240a54262b455abd1fa40bb837ef45350101edb3d715e0781fc88d4f83a02dde6dd49d" name="adios2-mvapich2-debugsource" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="c214030a2d219039cf2cb1359500495326e8aa6bba60ce85ba86ded48f2f78939d0812df25cf3285ae7cb7ffaf62c8fc2e6322d8364a5fb9c0ff031d57bcbbc3" name="adios2-mvapich2-devel" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="b76e1f39e27a59e970a902225ff8be06a20bf81c1428a4f94c36834c6936ef4277132d0d72cfdf2223c13c71755dad2959b147794c2686aeebbdc661460cac7a" name="adios2-mvapich2-devel-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="ecc9ebebd9bd00530997882416d031b86605efb44c3a35c5b346e1aade11502cd7faa8624b44d211640042ce5fae216de0e3b480c9e6fdafc0907817f25af1da" name="adios2-openmpi4" arch="src">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="2d26f86da71ab917fc10c136c36f59cc416d5ebd9a90a47dbee105437f58bd4e65b105f215197bef905bb142d6284faa3e953dee9908f814a696722976d8374c" name="adios2-openmpi4-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="bed3191165131dbe4c98a084b2ec79940286d5b5437a9698b0b27efc4091b40330b80cbbb1ec32226172e33948bba71c9539385579d092b2f990424712c3828c" name="adios2-openmpi4-debugsource" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="19e79acde643457858d210a2af949ada50b968ce84ca619b0403250f38a94d018d25d1772c7858714b20a1a28320904b010788e35874772c3faacd536f34d924" name="adios2-openmpi4-devel" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="277ad4e1a26f4a475c5905e4554f49cc713e808c81d994c689db7642090af8d12e8bd8c471a9aeb53569d03efd3ac42e3ba9290a2ede3f74efaca174f82c18f5" name="adios2-openmpi4-devel-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.10.1" rel="1.1"/>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1681128000">- Generated pkg for version 2.9.0</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1688990400">- Added "0003-cmake-evpath-namespace-modules-install-dir.patch" which
  namespaces the installation directory of the module files.
- Moved .so files to the shlib package.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1690459200">- Fixes mvapich2 build installation prefix.
- In devel package add conflict to old adios pkg.</changelog>
  <changelog author="Sarah Kriesch &lt;sarah.kriesch@opensuse.org&gt;" date="1690804800">- Add libffi-devel as BuildRequires for successful s390x builds</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.0" date="1691150400">- Added ADIOS2 v2.9.1.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.1
  * Many bugfixes are included in this patch release.
  * Several Bugfixes for BP5 components.
  * Kokkos_CUDA option uses kokkos_wrapper.
  * Kokkos_HIP option is working now.
  * Added C API for fetching the version and features of the built adios2.
  * Removed patch 0003-cmake-evpath-namespace-modules-install-dir.patch.
  * Added patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Nicolas Morey &lt;nicolas.morey@suse.com&gt;" date="1698148800">- Drop support for obsolete openmpi3
- Prepare support for openmpi5</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.9.2" date="1698926400">- Added ADIOS2 v2.9.2:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2
  * Many bugfixes are included in this patch release.
- Dropped patch 0003-fix-adios2_evpath_modules.patch</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1704110400">- Fix homepage URL.
- Remove "-ffat-lto-objects" option, no static libs are shipped.
- Remove unused/ineffective Requires from src package.
- Add MPI flavor Requires to MPI shared libs package.
- Spec file cleanup</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.0" date="1712232000">- Added ADIOS2 v2.10.0:
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0
  * New Python High Level API.
  * Inclusion of campaign manager feature.
  * Many bugfixes are included in this patch release.
- Dropped patch 0001-cmake-set-correct-soname.patch
- Dropped patch 0002-fix-test-post-install.patch</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URL for sources.</changelog>
  <changelog author="Vicente Adolfo Bolea Sanchez &lt;vicente.bolea@gmail.com&gt; - 2.10.1" date="1716984000">- Added ADIOS2 v2.10.1:
  * pugixml: correct target name.
  * Deactivate campaign recording by default. Use .adios-campaign/ as dir.
  * Add API call to reset memory selection.
  * Adding hooks to gather performance.
  * pugixml,cmake: fix linkage when pugixml.
  * Fixes for FreeBSD, including upstream.
  * Kill outdated reference to bindings.Mode.ReadFlattenSteps.
  * Release notes: https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1</changelog>
</package>
<package pkgid="0c4b83b5ea27fbbdcdfc57057a4c7291a018aac1987b7f43e896d056f62bc425b409f66ef04c11b1cc240b09bbf6f2f4c44c9de390bf3ec82ce1d20b97bf5255" name="akonadi" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272000">- init akonadi. Renamed from akonadi-server</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272001">- Switch to sqlite by default for new setup</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix infinite recursion in NotificationCollector
  * Monitor: restore Items from Ntf if we cannot fetch them
  * NotificationCollector: ignore notification with invalid or empty item set
  * Fix ChangeRecorder journal corruption due to qsizetype change in Qt6
  * Ensure query size in search manager remains less than 1000
  * Optimize imap set
  * Also skip MySQL tests on the FreeBSD CI
  * Disable PostgreSQL Akonadi tests on the CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710676800">- Make sure the old translation package gets uninstalled (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable akonadi-db-migrator in 24.02</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix 485099: Clicking to add tags does nothing (kde#485099)
  * setHeaderGroup() changes the column count and filterAcceptsColumn()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * Fix handling of UTC vs. local time for database engines (kde#483060)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="6f5ed048bd80a2151a3347c4196e09bd4246cc2e03170dc280f1866e5e8851ba3ea3d7a888414592744b88a875f07ad31684734dd9c7a5a35a58b930d710200a" name="akonadi" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272000">- init akonadi. Renamed from akonadi-server</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272001">- Switch to sqlite by default for new setup</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix infinite recursion in NotificationCollector
  * Monitor: restore Items from Ntf if we cannot fetch them
  * NotificationCollector: ignore notification with invalid or empty item set
  * Fix ChangeRecorder journal corruption due to qsizetype change in Qt6
  * Ensure query size in search manager remains less than 1000
  * Optimize imap set
  * Also skip MySQL tests on the FreeBSD CI
  * Disable PostgreSQL Akonadi tests on the CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710676800">- Make sure the old translation package gets uninstalled (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable akonadi-db-migrator in 24.02</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix 485099: Clicking to add tags does nothing (kde#485099)
  * setHeaderGroup() changes the column count and filterAcceptsColumn()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * Fix handling of UTC vs. local time for database engines (kde#483060)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="a3c798d766db579fbd768388d933d0484363ef0497ea7bea2b9408defd4a0b246c551d75e2ceef6310d54f7ae283cb50fbf5f51931abdb1a6b854279fc82fc9f" name="akonadi-apparmor" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272000">- init akonadi. Renamed from akonadi-server</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272001">- Switch to sqlite by default for new setup</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix infinite recursion in NotificationCollector
  * Monitor: restore Items from Ntf if we cannot fetch them
  * NotificationCollector: ignore notification with invalid or empty item set
  * Fix ChangeRecorder journal corruption due to qsizetype change in Qt6
  * Ensure query size in search manager remains less than 1000
  * Optimize imap set
  * Also skip MySQL tests on the FreeBSD CI
  * Disable PostgreSQL Akonadi tests on the CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710676800">- Make sure the old translation package gets uninstalled (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable akonadi-db-migrator in 24.02</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix 485099: Clicking to add tags does nothing (kde#485099)
  * setHeaderGroup() changes the column count and filterAcceptsColumn()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * Fix handling of UTC vs. local time for database engines (kde#483060)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="6079532b7bbcec68e5b45593c5d7fb7f745b67cd82b3bc18a46f40587ed8c368a3eed22f9cae96f22661e30f20897459b304b231a3dd7b83ddff4feaf166d37c" name="akonadi-calendar" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure to extract only email
  * Fix generate emails (don't create "foo" &lt;foo &lt;foo@kde.org&gt; &gt;)
  * Avoid too big dialogbox
  * Generate properties for CalendarSettings
  * Add Akonadi::CalendarUtils::displayName overload that takes ETM instead of ETMCalendar
  * Don't link twice against KF::Codecs
  * Add messagelib dependency
  * Sign/encrypt iTIP emails (kde#297956)
  * make free/busy invokable from QML
  * Fix platforms name
  * Remove the never set "MailTransport" setting
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Simplify default mail transport code
  * Don't needlessly link against KIOWidgets
  * Add akonadi-mime dependency explicitly
  * Adapt to KMailTransportAkonadi being integrated into AkonadiMime
  * Expose missing kidentitymanagement
  * Add TodoModel (coming from eventviews)
  * Bump library version
  * Move SearchCollectionHelper to akonadi-calendar
  * Move CalendarSupport::createMimeData here
  * not export symbol of private methods
  * Add QCH support
  * Add missing lib
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Fix linking with self-built gpgmepp
  * Explicitly search for KPim{5,6}Libkleo</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Use correct identity when sending iTIP counter-proposal (kde#458524)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Make the SearchCollectionHelper inactive by default
  * Implement a dialog for the user to choose the suspend duration (kde#481024)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Adapt api
  * USe _L1
  * Make CalFilterProxyModel part of public API
  * Use QIODevice::WriteOnly directly
  * Drop support for KF5's deprecated KToolInvocation
  * Fix copyright
  * Add missing [[nodiscard]]
  * Add option to hide declined invitations from event views
  * Bump version so we can depend on the new API in KOrganizer
  * Make CollectionCalendar work with a proxy on top of ETM instead of raw ETM
  * Make CalFilterPartStatusProxyModel part of akonadi-calendar public API
  * Not necessary to use 6 suffix
  * Remove mem leak
  * Refactor the SearchCollectionHelper to use d-pointer
  * Make the SearchCollectionHelper inactive by default
  * There is not qml/js files
  * USe [[nodiscard]]
  * Don't export symbol
  * Remove unused variables
  * Add missing include moc
  * Remove commented code
  * Implement a dialog for the user to choose the suspend duration (kde#481024)
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * IncidenceChanger: fix crash due to redundant deletion of handler</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="feaea3851228a0bb0cca91c4a8d5a075d62cb350051be36b136c4f6495d4d025067daa856486efdcf5472cac3dfb53b16b1600000f773d6f87e8f454dbf23162" name="akonadi-calendar" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure to extract only email
  * Fix generate emails (don't create "foo" &lt;foo &lt;foo@kde.org&gt; &gt;)
  * Avoid too big dialogbox
  * Generate properties for CalendarSettings
  * Add Akonadi::CalendarUtils::displayName overload that takes ETM instead of ETMCalendar
  * Don't link twice against KF::Codecs
  * Add messagelib dependency
  * Sign/encrypt iTIP emails (kde#297956)
  * make free/busy invokable from QML
  * Fix platforms name
  * Remove the never set "MailTransport" setting
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Simplify default mail transport code
  * Don't needlessly link against KIOWidgets
  * Add akonadi-mime dependency explicitly
  * Adapt to KMailTransportAkonadi being integrated into AkonadiMime
  * Expose missing kidentitymanagement
  * Add TodoModel (coming from eventviews)
  * Bump library version
  * Move SearchCollectionHelper to akonadi-calendar
  * Move CalendarSupport::createMimeData here
  * not export symbol of private methods
  * Add QCH support
  * Add missing lib
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Fix linking with self-built gpgmepp
  * Explicitly search for KPim{5,6}Libkleo</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Use correct identity when sending iTIP counter-proposal (kde#458524)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Make the SearchCollectionHelper inactive by default
  * Implement a dialog for the user to choose the suspend duration (kde#481024)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Adapt api
  * USe _L1
  * Make CalFilterProxyModel part of public API
  * Use QIODevice::WriteOnly directly
  * Drop support for KF5's deprecated KToolInvocation
  * Fix copyright
  * Add missing [[nodiscard]]
  * Add option to hide declined invitations from event views
  * Bump version so we can depend on the new API in KOrganizer
  * Make CollectionCalendar work with a proxy on top of ETM instead of raw ETM
  * Make CalFilterPartStatusProxyModel part of akonadi-calendar public API
  * Not necessary to use 6 suffix
  * Remove mem leak
  * Refactor the SearchCollectionHelper to use d-pointer
  * Make the SearchCollectionHelper inactive by default
  * There is not qml/js files
  * USe [[nodiscard]]
  * Don't export symbol
  * Remove unused variables
  * Add missing include moc
  * Remove commented code
  * Implement a dialog for the user to choose the suspend duration (kde#481024)
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * IncidenceChanger: fix crash due to redundant deletion of handler</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="a4bdda91fcb76f5fe8bd77c7a73693e1be5839da546b46e7ce1bcbcabfcd687a573561e52823b39981f450fbd9bcf455cfaf461f820623e3b2e61a00c0cd5993" name="akonadi-calendar-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure to extract only email
  * Fix generate emails (don't create "foo" &lt;foo &lt;foo@kde.org&gt; &gt;)
  * Avoid too big dialogbox
  * Generate properties for CalendarSettings
  * Add Akonadi::CalendarUtils::displayName overload that takes ETM instead of ETMCalendar
  * Don't link twice against KF::Codecs
  * Add messagelib dependency
  * Sign/encrypt iTIP emails (kde#297956)
  * make free/busy invokable from QML
  * Fix platforms name
  * Remove the never set "MailTransport" setting
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Simplify default mail transport code
  * Don't needlessly link against KIOWidgets
  * Add akonadi-mime dependency explicitly
  * Adapt to KMailTransportAkonadi being integrated into AkonadiMime
  * Expose missing kidentitymanagement
  * Add TodoModel (coming from eventviews)
  * Bump library version
  * Move SearchCollectionHelper to akonadi-calendar
  * Move CalendarSupport::createMimeData here
  * not export symbol of private methods
  * Add QCH support
  * Add missing lib
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Fix linking with self-built gpgmepp
  * Explicitly search for KPim{5,6}Libkleo</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Use correct identity when sending iTIP counter-proposal (kde#458524)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Make the SearchCollectionHelper inactive by default
  * Implement a dialog for the user to choose the suspend duration (kde#481024)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Adapt api
  * USe _L1
  * Make CalFilterProxyModel part of public API
  * Use QIODevice::WriteOnly directly
  * Drop support for KF5's deprecated KToolInvocation
  * Fix copyright
  * Add missing [[nodiscard]]
  * Add option to hide declined invitations from event views
  * Bump version so we can depend on the new API in KOrganizer
  * Make CollectionCalendar work with a proxy on top of ETM instead of raw ETM
  * Make CalFilterPartStatusProxyModel part of akonadi-calendar public API
  * Not necessary to use 6 suffix
  * Remove mem leak
  * Refactor the SearchCollectionHelper to use d-pointer
  * Make the SearchCollectionHelper inactive by default
  * There is not qml/js files
  * USe [[nodiscard]]
  * Don't export symbol
  * Remove unused variables
  * Add missing include moc
  * Remove commented code
  * Implement a dialog for the user to choose the suspend duration (kde#481024)
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * IncidenceChanger: fix crash due to redundant deletion of handler</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="7d955b3f614d3a27971b6849954ff6681a1f137e34f968a7ecf0ecf96ad0fea2620cb790fdac4376dc83c8ed34d283022bc3670e6222ee296fadb143f4bd54f8" name="akonadi-calendar-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure to extract only email
  * Fix generate emails (don't create "foo" &lt;foo &lt;foo@kde.org&gt; &gt;)
  * Avoid too big dialogbox
  * Generate properties for CalendarSettings
  * Add Akonadi::CalendarUtils::displayName overload that takes ETM instead of ETMCalendar
  * Don't link twice against KF::Codecs
  * Add messagelib dependency
  * Sign/encrypt iTIP emails (kde#297956)
  * make free/busy invokable from QML
  * Fix platforms name
  * Remove the never set "MailTransport" setting
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Simplify default mail transport code
  * Don't needlessly link against KIOWidgets
  * Add akonadi-mime dependency explicitly
  * Adapt to KMailTransportAkonadi being integrated into AkonadiMime
  * Expose missing kidentitymanagement
  * Add TodoModel (coming from eventviews)
  * Bump library version
  * Move SearchCollectionHelper to akonadi-calendar
  * Move CalendarSupport::createMimeData here
  * not export symbol of private methods
  * Add QCH support
  * Add missing lib
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Fix linking with self-built gpgmepp
  * Explicitly search for KPim{5,6}Libkleo</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Use correct identity when sending iTIP counter-proposal (kde#458524)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Make the SearchCollectionHelper inactive by default
  * Implement a dialog for the user to choose the suspend duration (kde#481024)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Adapt api
  * USe _L1
  * Make CalFilterProxyModel part of public API
  * Use QIODevice::WriteOnly directly
  * Drop support for KF5's deprecated KToolInvocation
  * Fix copyright
  * Add missing [[nodiscard]]
  * Add option to hide declined invitations from event views
  * Bump version so we can depend on the new API in KOrganizer
  * Make CollectionCalendar work with a proxy on top of ETM instead of raw ETM
  * Make CalFilterPartStatusProxyModel part of akonadi-calendar public API
  * Not necessary to use 6 suffix
  * Remove mem leak
  * Refactor the SearchCollectionHelper to use d-pointer
  * Make the SearchCollectionHelper inactive by default
  * There is not qml/js files
  * USe [[nodiscard]]
  * Don't export symbol
  * Remove unused variables
  * Add missing include moc
  * Remove commented code
  * Implement a dialog for the user to choose the suspend duration (kde#481024)
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * IncidenceChanger: fix crash due to redundant deletion of handler</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="2dd4c605c91116e1fb3af5a8e6ba2788b3d816ede86afd99a90a44072ea9668b3353c37287cc4571b3bb86efdd921c155bfe049c79ff265060e094003300f4d0" name="akonadi-calendar-devel" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure to extract only email
  * Fix generate emails (don't create "foo" &lt;foo &lt;foo@kde.org&gt; &gt;)
  * Avoid too big dialogbox
  * Generate properties for CalendarSettings
  * Add Akonadi::CalendarUtils::displayName overload that takes ETM instead of ETMCalendar
  * Don't link twice against KF::Codecs
  * Add messagelib dependency
  * Sign/encrypt iTIP emails (kde#297956)
  * make free/busy invokable from QML
  * Fix platforms name
  * Remove the never set "MailTransport" setting
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Simplify default mail transport code
  * Don't needlessly link against KIOWidgets
  * Add akonadi-mime dependency explicitly
  * Adapt to KMailTransportAkonadi being integrated into AkonadiMime
  * Expose missing kidentitymanagement
  * Add TodoModel (coming from eventviews)
  * Bump library version
  * Move SearchCollectionHelper to akonadi-calendar
  * Move CalendarSupport::createMimeData here
  * not export symbol of private methods
  * Add QCH support
  * Add missing lib
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Fix linking with self-built gpgmepp
  * Explicitly search for KPim{5,6}Libkleo</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Use correct identity when sending iTIP counter-proposal (kde#458524)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Make the SearchCollectionHelper inactive by default
  * Implement a dialog for the user to choose the suspend duration (kde#481024)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Adapt api
  * USe _L1
  * Make CalFilterProxyModel part of public API
  * Use QIODevice::WriteOnly directly
  * Drop support for KF5's deprecated KToolInvocation
  * Fix copyright
  * Add missing [[nodiscard]]
  * Add option to hide declined invitations from event views
  * Bump version so we can depend on the new API in KOrganizer
  * Make CollectionCalendar work with a proxy on top of ETM instead of raw ETM
  * Make CalFilterPartStatusProxyModel part of akonadi-calendar public API
  * Not necessary to use 6 suffix
  * Remove mem leak
  * Refactor the SearchCollectionHelper to use d-pointer
  * Make the SearchCollectionHelper inactive by default
  * There is not qml/js files
  * USe [[nodiscard]]
  * Don't export symbol
  * Remove unused variables
  * Add missing include moc
  * Remove commented code
  * Implement a dialog for the user to choose the suspend duration (kde#481024)
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * IncidenceChanger: fix crash due to redundant deletion of handler</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="fc5804351b7416860f77c8b9d133461d7712b5ba455a8889813bae8238ccf416a8a97125caf5d1e867fe5ce684d903126b9667c4cfa3b55f1a5064c4e9309da0" name="akonadi-calendar-tools" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Remove unused libkdepim dependency
  * Remove the HTML export feature</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="db4d34f27f73f92a899b387e7233f47ec24fbcad27ff60d54f5cf228293b269e3b833d49629fc37f1a240053c2b1814b76144cc00a09bfcc198a12d7fe78b07a" name="akonadi-calendar-tools" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Remove unused libkdepim dependency
  * Remove the HTML export feature</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="7ae23df49d4ee01a3c3783c78e94ba06f7bc75ef6477fe0d6d5111afb21380c38d67238a73af09d570e71a94017402a032f194509ef46c97ec78ea5a08e2afba" name="akonadi-calendar-tools-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Remove unused libkdepim dependency
  * Remove the HTML export feature</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="95d9ceb4192fe051b43ec0034c72c367160d680f2307c83946e25435f7397f2ab4707905dc320532b99d9f3000bb3e9501fe09091b5aac5a013c647a1351da94" name="akonadi-calendar-tools-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Remove unused libkdepim dependency
  * Remove the HTML export feature</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="48a8d50f5c6f725ac1ef787d35c48f63079563019188497600fb1cb502831bb231c38f53903051d86a5e7e6183952bfad2676a6898cb1065333149de108a0026" name="akonadi-calendar-tools-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Remove unused libkdepim dependency
  * Remove the HTML export feature</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="2051bedac399173172ca18b07279aaf46a83c879a924a15bfe75c9a46dbe12141c9c90bf02ce60f95d655cbb000460dc9c6340267dda9a8fff88c51cf8c3453c" name="akonadi-contacts" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693828800">- Init akonadi-contacts</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix bug 482737: KAddressbook crash editing entry (kde#482737)
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We don't have kcfg* file
  * Add missing [[nodiscard]]
  * Add missing explicit keyword
  * Use local includes
  * QLatin1String is same as QLatin1StringView, we need to use QLatin1StringView now
  * Activate CI test</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix 486837: "upon new contact creation, KAddressbook always warns: Location was not saved. Do you want to close editor?" (kde#486837)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="c8fe745f11140edb709da27551756e92ebf3df182f0bfd3904dd7e617ece8b8aabfb7fa5f5050b8750d31220eae8bf20c53252ede8f187cf085dc41745360c61" name="akonadi-contacts" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693828800">- Init akonadi-contacts</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix bug 482737: KAddressbook crash editing entry (kde#482737)
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We don't have kcfg* file
  * Add missing [[nodiscard]]
  * Add missing explicit keyword
  * Use local includes
  * QLatin1String is same as QLatin1StringView, we need to use QLatin1StringView now
  * Activate CI test</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix 486837: "upon new contact creation, KAddressbook always warns: Location was not saved. Do you want to close editor?" (kde#486837)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="a648544772037147c043fd04829ae97c9c6fc72f6c8f41ca6b63e4cc1d18c0c6d7701fc6b55922181fdcf55391fafcea011cb9b5071f557d3cf8b288fd6d0034" name="akonadi-contacts-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693828800">- Init akonadi-contacts</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix bug 482737: KAddressbook crash editing entry (kde#482737)
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We don't have kcfg* file
  * Add missing [[nodiscard]]
  * Add missing explicit keyword
  * Use local includes
  * QLatin1String is same as QLatin1StringView, we need to use QLatin1StringView now
  * Activate CI test</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix 486837: "upon new contact creation, KAddressbook always warns: Location was not saved. Do you want to close editor?" (kde#486837)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="d91b1cd35416b5c0503b5c744008b5258060541c6c92ff1b739226c8abbc969746417d0233997f6ded1c64308788265a486999b9c8313f4db758d3dd23df1e39" name="akonadi-contacts-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693828800">- Init akonadi-contacts</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix bug 482737: KAddressbook crash editing entry (kde#482737)
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We don't have kcfg* file
  * Add missing [[nodiscard]]
  * Add missing explicit keyword
  * Use local includes
  * QLatin1String is same as QLatin1StringView, we need to use QLatin1StringView now
  * Activate CI test</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix 486837: "upon new contact creation, KAddressbook always warns: Location was not saved. Do you want to close editor?" (kde#486837)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="4ca31f4befd7a12f22b356f24d41e9ef05e33efa6ece370fb74590a434b0a7bf952eb331957eb873967f71de9d30e79fe0dc520cf9a88f435a6a8c4c22a29777" name="akonadi-contacts-devel" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693828800">- Init akonadi-contacts</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix bug 482737: KAddressbook crash editing entry (kde#482737)
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We don't have kcfg* file
  * Add missing [[nodiscard]]
  * Add missing explicit keyword
  * Use local includes
  * QLatin1String is same as QLatin1StringView, we need to use QLatin1StringView now
  * Activate CI test</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix 486837: "upon new contact creation, KAddressbook always warns: Location was not saved. Do you want to close editor?" (kde#486837)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="5214af429d88ddae62a25d518e502259023ffaf9e7c42e636c6bf0b0cc05d848120fe2a86c597999b1cf68a40965cd6f116c6033e3b7aaea5a2c1a1587ca8f58" name="akonadi-contacts-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693828800">- Init akonadi-contacts</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix bug 482737: KAddressbook crash editing entry (kde#482737)
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We don't have kcfg* file
  * Add missing [[nodiscard]]
  * Add missing explicit keyword
  * Use local includes
  * QLatin1String is same as QLatin1StringView, we need to use QLatin1StringView now
  * Activate CI test</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix 486837: "upon new contact creation, KAddressbook always warns: Location was not saved. Do you want to close editor?" (kde#486837)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="22992657b8c2c0f45a9976ed5b5487a995fa1f95f05721912b195e0ee6061dd0c3c7e24b25774f25dff9cfcd73fa205dbc6480b5e140c231503a3289c5c060f9" name="akonadi-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272000">- init akonadi. Renamed from akonadi-server</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272001">- Switch to sqlite by default for new setup</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix infinite recursion in NotificationCollector
  * Monitor: restore Items from Ntf if we cannot fetch them
  * NotificationCollector: ignore notification with invalid or empty item set
  * Fix ChangeRecorder journal corruption due to qsizetype change in Qt6
  * Ensure query size in search manager remains less than 1000
  * Optimize imap set
  * Also skip MySQL tests on the FreeBSD CI
  * Disable PostgreSQL Akonadi tests on the CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710676800">- Make sure the old translation package gets uninstalled (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable akonadi-db-migrator in 24.02</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix 485099: Clicking to add tags does nothing (kde#485099)
  * setHeaderGroup() changes the column count and filterAcceptsColumn()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * Fix handling of UTC vs. local time for database engines (kde#483060)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="d07e97422a8dcfd7c2074bf60ed56f1807bf7f5531c634489453a176707986c5018f3ab498426ab63d0774215b0bb1fe82a09e7e1b5793de100d74b58a7a1cc2" name="akonadi-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272000">- init akonadi. Renamed from akonadi-server</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272001">- Switch to sqlite by default for new setup</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix infinite recursion in NotificationCollector
  * Monitor: restore Items from Ntf if we cannot fetch them
  * NotificationCollector: ignore notification with invalid or empty item set
  * Fix ChangeRecorder journal corruption due to qsizetype change in Qt6
  * Ensure query size in search manager remains less than 1000
  * Optimize imap set
  * Also skip MySQL tests on the FreeBSD CI
  * Disable PostgreSQL Akonadi tests on the CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710676800">- Make sure the old translation package gets uninstalled (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable akonadi-db-migrator in 24.02</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix 485099: Clicking to add tags does nothing (kde#485099)
  * setHeaderGroup() changes the column count and filterAcceptsColumn()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * Fix handling of UTC vs. local time for database engines (kde#483060)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="d7400998a3eb7a6a4f3cc402cc6dd6c031f159e94bd8dbd4ff7f74f60f286115660060219dfb2f00c8b92161a2bb054f662861c11d00831a9945cce42bc53b57" name="akonadi-devel" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272000">- init akonadi. Renamed from akonadi-server</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272001">- Switch to sqlite by default for new setup</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix infinite recursion in NotificationCollector
  * Monitor: restore Items from Ntf if we cannot fetch them
  * NotificationCollector: ignore notification with invalid or empty item set
  * Fix ChangeRecorder journal corruption due to qsizetype change in Qt6
  * Ensure query size in search manager remains less than 1000
  * Optimize imap set
  * Also skip MySQL tests on the FreeBSD CI
  * Disable PostgreSQL Akonadi tests on the CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710676800">- Make sure the old translation package gets uninstalled (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable akonadi-db-migrator in 24.02</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix 485099: Clicking to add tags does nothing (kde#485099)
  * setHeaderGroup() changes the column count and filterAcceptsColumn()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * Fix handling of UTC vs. local time for database engines (kde#483060)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="104417d2396cff8c40b0f91649fdaf6e864cb3768c83bf4a644fc70586a543da30b528cd928ce2a7776b24e25a4bb8f5c5c6ce085b80bc5b25311c3ad9d1fbbe" name="akonadi-devel-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272000">- init akonadi. Renamed from akonadi-server</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272001">- Switch to sqlite by default for new setup</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix infinite recursion in NotificationCollector
  * Monitor: restore Items from Ntf if we cannot fetch them
  * NotificationCollector: ignore notification with invalid or empty item set
  * Fix ChangeRecorder journal corruption due to qsizetype change in Qt6
  * Ensure query size in search manager remains less than 1000
  * Optimize imap set
  * Also skip MySQL tests on the FreeBSD CI
  * Disable PostgreSQL Akonadi tests on the CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710676800">- Make sure the old translation package gets uninstalled (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable akonadi-db-migrator in 24.02</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix 485099: Clicking to add tags does nothing (kde#485099)
  * setHeaderGroup() changes the column count and filterAcceptsColumn()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * Fix handling of UTC vs. local time for database engines (kde#483060)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="796f43d4ff1ee8b578da25bc20f7a265b97b7b480df14107fbc418c8a5a56afe06c7c8deb39fafcd165abfffc7c7d45fa8b24a054363529e1be1cd9d55f6feee" name="akonadi-import-wizard" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * not export symbol of private methods
  * Fix install headers
  * Remove duplicate alias</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We depend against qtkeychain 0.14.2 (kwallet6 support)
  * Remove unused include
  * Remove doc that doesn't compile
  * Drop support for KF5's deprecated KToolInvocation
  * Add QT6KEYCHAIN_LIB_VERSION 0.14.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="a7cd426074d8a8a013d35a2b5cd1d3deac48c6c2daa1682f169fe9cea177a412b24c3a0822914fea2bdc797e7d5a5b5e16524e503f868849156108b33358f1c0" name="akonadi-import-wizard" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * not export symbol of private methods
  * Fix install headers
  * Remove duplicate alias</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We depend against qtkeychain 0.14.2 (kwallet6 support)
  * Remove unused include
  * Remove doc that doesn't compile
  * Drop support for KF5's deprecated KToolInvocation
  * Add QT6KEYCHAIN_LIB_VERSION 0.14.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="5cb38e9424f5ea00d3ed5c22d5e84633db8df86792f4babfd10718009f0fae1c298b3c88c931aefa9abcd0c3ea40d710ff25b8e061393bfa06ba562cb09e1b6b" name="akonadi-import-wizard-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * not export symbol of private methods
  * Fix install headers
  * Remove duplicate alias</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We depend against qtkeychain 0.14.2 (kwallet6 support)
  * Remove unused include
  * Remove doc that doesn't compile
  * Drop support for KF5's deprecated KToolInvocation
  * Add QT6KEYCHAIN_LIB_VERSION 0.14.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="7c5177b3a425c0a7d271afaa2b0508fb27eba2d512b42454b72c671e280a6b23f50675c09744aa434648399e1659906002129f861933ea409171fab8e71dd0c6" name="akonadi-import-wizard-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * not export symbol of private methods
  * Fix install headers
  * Remove duplicate alias</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We depend against qtkeychain 0.14.2 (kwallet6 support)
  * Remove unused include
  * Remove doc that doesn't compile
  * Drop support for KF5's deprecated KToolInvocation
  * Add QT6KEYCHAIN_LIB_VERSION 0.14.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="e750dc4824294a9f25e1252412fef6ca3441c61f28f561c456b0f2b93d724d46496cd72a0354afbefd1f67c439cbed3dbf9d25dba8ca121e1c9c62ff3e6fdef2" name="akonadi-import-wizard-devel" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * not export symbol of private methods
  * Fix install headers
  * Remove duplicate alias</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We depend against qtkeychain 0.14.2 (kwallet6 support)
  * Remove unused include
  * Remove doc that doesn't compile
  * Drop support for KF5's deprecated KToolInvocation
  * Add QT6KEYCHAIN_LIB_VERSION 0.14.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="75a6cd7b1954c83ecd1b404c2467eab83cc54883b8f334b7f04873617e8f82a6a1605cf99383a0301023b2ceca5a8ca1f5bc330f758e71e9b8aae0d1c4544b32" name="akonadi-import-wizard-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * not export symbol of private methods
  * Fix install headers
  * Remove duplicate alias</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We depend against qtkeychain 0.14.2 (kwallet6 support)
  * Remove unused include
  * Remove doc that doesn't compile
  * Drop support for KF5's deprecated KToolInvocation
  * Add QT6KEYCHAIN_LIB_VERSION 0.14.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="177a5bb6286e37acdcd7d745ee264d1f9ba8bc4ddc64b7a39f291b147ec9d323887201ec5b2486318525dd79bd1361e39ebf38c047ee068e2f5e612cb08da947" name="akonadi-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272000">- init akonadi. Renamed from akonadi-server</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699272001">- Switch to sqlite by default for new setup</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix infinite recursion in NotificationCollector
  * Monitor: restore Items from Ntf if we cannot fetch them
  * NotificationCollector: ignore notification with invalid or empty item set
  * Fix ChangeRecorder journal corruption due to qsizetype change in Qt6
  * Ensure query size in search manager remains less than 1000
  * Optimize imap set
  * Also skip MySQL tests on the FreeBSD CI
  * Disable PostgreSQL Akonadi tests on the CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710676800">- Make sure the old translation package gets uninstalled (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable akonadi-db-migrator in 24.02</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix 485099: Clicking to add tags does nothing (kde#485099)
  * setHeaderGroup() changes the column count and filterAcceptsColumn()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * Fix handling of UTC vs. local time for database engines (kde#483060)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="3186528bf70b13ace1d4cbda41d2be327482d248343139a6c3ac924521d769cae8d58cd91aba4d92c3ddf8f7844b1b916abde4da26c008a3032d5a13ef5ad21d" name="akonadi-mime" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * increase version
  * Second step: move/adapt class from kmailtransportakonadi
  * not export symbol of private methods
  * Fix generate qch
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated method &lt; kf6.0
  * We need kio here
  * Use KFormat directly
  * Add missing [[nodiscard]]
  * Remove commented include
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against QtDBus</changelog>
</package>
<package pkgid="aab92be0d8eb079d591c313a78d6e7f657c99876f36ea6cc9433f5c21119f9c9c8db491b707efff31f7ca474edd6ed199ea0f7e108e6efd301d36564771b4363" name="akonadi-mime" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * increase version
  * Second step: move/adapt class from kmailtransportakonadi
  * not export symbol of private methods
  * Fix generate qch
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated method &lt; kf6.0
  * We need kio here
  * Use KFormat directly
  * Add missing [[nodiscard]]
  * Remove commented include
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against QtDBus</changelog>
</package>
<package pkgid="dda4d0ce904cedfa2dff06c3d90f3a7caff949a6ee05c4a3058ed434db8712acb7d4fa16281bcd64353a4150148796ee4813331c08c9d3271f5a3b448c595360" name="akonadi-mime-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * increase version
  * Second step: move/adapt class from kmailtransportakonadi
  * not export symbol of private methods
  * Fix generate qch
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated method &lt; kf6.0
  * We need kio here
  * Use KFormat directly
  * Add missing [[nodiscard]]
  * Remove commented include
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against QtDBus</changelog>
</package>
<package pkgid="bc02e5e402cb9233beb65afe0cb48a477cf072dd3ec0e82c5f9cb2031d115432ced2e3d77f2e9b2cdc8d77718b22965c2f2fdfab1409d8af63b9e1972dc4dc7d" name="akonadi-mime-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * increase version
  * Second step: move/adapt class from kmailtransportakonadi
  * not export symbol of private methods
  * Fix generate qch
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated method &lt; kf6.0
  * We need kio here
  * Use KFormat directly
  * Add missing [[nodiscard]]
  * Remove commented include
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against QtDBus</changelog>
</package>
<package pkgid="88b9afabbfcb3035ff643fbea8ee61002b54a74c5e23e7ac7e02d28c2a21e4493d97fd058c8dd2efffc13e9d52debdd49a42cee141c47c421005d477704b27c2" name="akonadi-mime-devel" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * increase version
  * Second step: move/adapt class from kmailtransportakonadi
  * not export symbol of private methods
  * Fix generate qch
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated method &lt; kf6.0
  * We need kio here
  * Use KFormat directly
  * Add missing [[nodiscard]]
  * Remove commented include
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against QtDBus</changelog>
</package>
<package pkgid="85061a30e0adb3627d6400bd0062b722ea1d16faad9662b14054b0c896c9ec47baabba9e57f8e92f18b54ea6b5c9327cae4d13301e22dbff970e794489de4e0e" name="akonadi-notes" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add missing Q_REQUIRED_RESULT
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Port deprecated method</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="2c2fb054dbbcfdc66059653c8dd572526bddb449a575636a9755774035ecaef0bd09192a6c78e83bf0700e5fd0ca455c11fe632c894f54b6702a85a02aabe024" name="akonadi-notes-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add missing Q_REQUIRED_RESULT
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Port deprecated method</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="f8fe8e62f06c1c06b599dc06b3170d2a2e6824b79105cbf91773e559607471a13da270e42a4a463511682ba57680705a840b49510fef4b7b580fa96ef3a025a1" name="akonadi-notes-devel" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add missing Q_REQUIRED_RESULT
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Port deprecated method</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="b4b09a0c0a53c353fe86e60e3cd9c682ca8956da2625828aca730a385bfb8bee05164e3deecc79191ac8443846db7210f6e0e8ca92eb4e36dd127a5a22141db1" name="akonadi-plugin-calendar" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure to extract only email
  * Fix generate emails (don't create "foo" &lt;foo &lt;foo@kde.org&gt; &gt;)
  * Avoid too big dialogbox
  * Generate properties for CalendarSettings
  * Add Akonadi::CalendarUtils::displayName overload that takes ETM instead of ETMCalendar
  * Don't link twice against KF::Codecs
  * Add messagelib dependency
  * Sign/encrypt iTIP emails (kde#297956)
  * make free/busy invokable from QML
  * Fix platforms name
  * Remove the never set "MailTransport" setting
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Simplify default mail transport code
  * Don't needlessly link against KIOWidgets
  * Add akonadi-mime dependency explicitly
  * Adapt to KMailTransportAkonadi being integrated into AkonadiMime
  * Expose missing kidentitymanagement
  * Add TodoModel (coming from eventviews)
  * Bump library version
  * Move SearchCollectionHelper to akonadi-calendar
  * Move CalendarSupport::createMimeData here
  * not export symbol of private methods
  * Add QCH support
  * Add missing lib
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Fix linking with self-built gpgmepp
  * Explicitly search for KPim{5,6}Libkleo</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Use correct identity when sending iTIP counter-proposal (kde#458524)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Make the SearchCollectionHelper inactive by default
  * Implement a dialog for the user to choose the suspend duration (kde#481024)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Adapt api
  * USe _L1
  * Make CalFilterProxyModel part of public API
  * Use QIODevice::WriteOnly directly
  * Drop support for KF5's deprecated KToolInvocation
  * Fix copyright
  * Add missing [[nodiscard]]
  * Add option to hide declined invitations from event views
  * Bump version so we can depend on the new API in KOrganizer
  * Make CollectionCalendar work with a proxy on top of ETM instead of raw ETM
  * Make CalFilterPartStatusProxyModel part of akonadi-calendar public API
  * Not necessary to use 6 suffix
  * Remove mem leak
  * Refactor the SearchCollectionHelper to use d-pointer
  * Make the SearchCollectionHelper inactive by default
  * There is not qml/js files
  * USe [[nodiscard]]
  * Don't export symbol
  * Remove unused variables
  * Add missing include moc
  * Remove commented code
  * Implement a dialog for the user to choose the suspend duration (kde#481024)
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * IncidenceChanger: fix crash due to redundant deletion of handler</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="1f574908edc4a07adb0e70063f7f42a01c17118385d43eb6464a86a85773a15fcf936b198d650699712c7cc16952a092b8f0fdd3fcc023b34cb8f74fe96d1bee" name="akonadi-plugin-calendar-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure to extract only email
  * Fix generate emails (don't create "foo" &lt;foo &lt;foo@kde.org&gt; &gt;)
  * Avoid too big dialogbox
  * Generate properties for CalendarSettings
  * Add Akonadi::CalendarUtils::displayName overload that takes ETM instead of ETMCalendar
  * Don't link twice against KF::Codecs
  * Add messagelib dependency
  * Sign/encrypt iTIP emails (kde#297956)
  * make free/busy invokable from QML
  * Fix platforms name
  * Remove the never set "MailTransport" setting
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Simplify default mail transport code
  * Don't needlessly link against KIOWidgets
  * Add akonadi-mime dependency explicitly
  * Adapt to KMailTransportAkonadi being integrated into AkonadiMime
  * Expose missing kidentitymanagement
  * Add TodoModel (coming from eventviews)
  * Bump library version
  * Move SearchCollectionHelper to akonadi-calendar
  * Move CalendarSupport::createMimeData here
  * not export symbol of private methods
  * Add QCH support
  * Add missing lib
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Fix linking with self-built gpgmepp
  * Explicitly search for KPim{5,6}Libkleo</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Use correct identity when sending iTIP counter-proposal (kde#458524)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Make the SearchCollectionHelper inactive by default
  * Implement a dialog for the user to choose the suspend duration (kde#481024)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Adapt api
  * USe _L1
  * Make CalFilterProxyModel part of public API
  * Use QIODevice::WriteOnly directly
  * Drop support for KF5's deprecated KToolInvocation
  * Fix copyright
  * Add missing [[nodiscard]]
  * Add option to hide declined invitations from event views
  * Bump version so we can depend on the new API in KOrganizer
  * Make CollectionCalendar work with a proxy on top of ETM instead of raw ETM
  * Make CalFilterPartStatusProxyModel part of akonadi-calendar public API
  * Not necessary to use 6 suffix
  * Remove mem leak
  * Refactor the SearchCollectionHelper to use d-pointer
  * Make the SearchCollectionHelper inactive by default
  * There is not qml/js files
  * USe [[nodiscard]]
  * Don't export symbol
  * Remove unused variables
  * Add missing include moc
  * Remove commented code
  * Implement a dialog for the user to choose the suspend duration (kde#481024)
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * IncidenceChanger: fix crash due to redundant deletion of handler</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="0aa4b26d43288fd2677077da6c3935ee7d7273623b0ad617a673e85866078ffb59f27f9b27cd9417b376166f88b12b4789609f92293d5cc610fa3df62d90687e" name="akonadi-plugin-contacts" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693828800">- Init akonadi-contacts</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix bug 482737: KAddressbook crash editing entry (kde#482737)
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We don't have kcfg* file
  * Add missing [[nodiscard]]
  * Add missing explicit keyword
  * Use local includes
  * QLatin1String is same as QLatin1StringView, we need to use QLatin1StringView now
  * Activate CI test</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix 486837: "upon new contact creation, KAddressbook always warns: Location was not saved. Do you want to close editor?" (kde#486837)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="7d6b082415457941fe49b5f2a53ac85e573eeb1104df007ddf4c331ddc1ba6affe5e765936e7735404573e28f7a07a0c01667e4cc396e4a2ef03e3d5b5696264" name="akonadi-plugin-contacts-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693828800">- Init akonadi-contacts</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix bug 482737: KAddressbook crash editing entry (kde#482737)
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * We don't have kcfg* file
  * Add missing [[nodiscard]]
  * Add missing explicit keyword
  * Use local includes
  * QLatin1String is same as QLatin1StringView, we need to use QLatin1StringView now
  * Activate CI test</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix 486837: "upon new contact creation, KAddressbook always warns: Location was not saved. Do you want to close editor?" (kde#486837)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="713209a4cd42e74f547d2746003c378d2c43ea8ac72f1ed3229b243225543d9efd22813a909b9837a7bb797c612768748154f6a0c7ca71fda71cbe8d1636b7b2" name="akonadi-plugin-mime" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * increase version
  * Second step: move/adapt class from kmailtransportakonadi
  * not export symbol of private methods
  * Fix generate qch
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated method &lt; kf6.0
  * We need kio here
  * Use KFormat directly
  * Add missing [[nodiscard]]
  * Remove commented include
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against QtDBus</changelog>
</package>
<package pkgid="470483eccb00375b85e1ec6d96cfa91b2f8e4c2f846e3890a9598f5aa45c0e5375ede5a25eb543f0acedb3506f9a49734c381c6520647c21bedf8f58d8a8f4e9" name="akonadi-plugin-mime-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * increase version
  * Second step: move/adapt class from kmailtransportakonadi
  * not export symbol of private methods
  * Fix generate qch
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated method &lt; kf6.0
  * We need kio here
  * Use KFormat directly
  * Add missing [[nodiscard]]
  * Remove commented include
  * Use local includes</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against QtDBus</changelog>
</package>
<package pkgid="17d530a7ae4fb353e4634041aaec88cc794464f631f36faa9c44e973827584126156874aa05dd7e77d14c502e37caaf4c0159b78c6aa02b8fed65b1e6bc55164" name="akonadi-search" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Disable broken test
  * Enable testing again
  * Parse html with rust
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Add specific debug category for email
  * Add basic test for calendar indexer
  * Use smart pointers in Index
  * Add debug output for calendar indexer
  * Modernize codebase of CalendarIndexer
  * not export symbol of private methods
  * Exclude more duplicate contact
  * Avoid to show duplicate mails
  * [runner] Filter out email matches where writing doesn't make sense
  * Port to new api
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * Update Rust dependencies (kde#474526)
  * Move convertion from html to text out-of-process (kde#474747)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * htmltotext needs a QGuiApplication, because QTextHtmlParser does</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Port deprecated QCheckBox::stateChanged
  * Use _L1 directly
  * Initialize pointer
  * const'ify pointer
  * Update copyright
  * Use [[nodiscard]]
  * Const'ify variable
  * Minor optimization
  * We can use directly QStringList
  * Remove unused variable
  * Don't export private method + remove Q_SLOTS + add missing [[nodiscard]]
  * Not necessary to use 6 suffix
  * Use local include
  * Use isEmpty()
  * Fix searchplugintest
  * Port deprecated methods</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="1120e57ca78ec5af0bcbf58b1e1cd1de5c7067c4729dd9a33bfadc2ac4f4b0f1592fa93fcde7e1ec269bc02c1cd810e2f721b3a12fa3e431b080ede3293eb591" name="akonadi-search" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Disable broken test
  * Enable testing again
  * Parse html with rust
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Add specific debug category for email
  * Add basic test for calendar indexer
  * Use smart pointers in Index
  * Add debug output for calendar indexer
  * Modernize codebase of CalendarIndexer
  * not export symbol of private methods
  * Exclude more duplicate contact
  * Avoid to show duplicate mails
  * [runner] Filter out email matches where writing doesn't make sense
  * Port to new api
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * Update Rust dependencies (kde#474526)
  * Move convertion from html to text out-of-process (kde#474747)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * htmltotext needs a QGuiApplication, because QTextHtmlParser does</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Port deprecated QCheckBox::stateChanged
  * Use _L1 directly
  * Initialize pointer
  * const'ify pointer
  * Update copyright
  * Use [[nodiscard]]
  * Const'ify variable
  * Minor optimization
  * We can use directly QStringList
  * Remove unused variable
  * Don't export private method + remove Q_SLOTS + add missing [[nodiscard]]
  * Not necessary to use 6 suffix
  * Use local include
  * Use isEmpty()
  * Fix searchplugintest
  * Port deprecated methods</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="3b1b32097182a8f1aa39dfdec2d0b3c71b5f45a24495427c18b2cf95d4668f7d1801708204eef032cd7574e3ac5e676a5275e88343f7d83c0f27ea62d2605dac" name="akonadi-search-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Disable broken test
  * Enable testing again
  * Parse html with rust
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Add specific debug category for email
  * Add basic test for calendar indexer
  * Use smart pointers in Index
  * Add debug output for calendar indexer
  * Modernize codebase of CalendarIndexer
  * not export symbol of private methods
  * Exclude more duplicate contact
  * Avoid to show duplicate mails
  * [runner] Filter out email matches where writing doesn't make sense
  * Port to new api
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * Update Rust dependencies (kde#474526)
  * Move convertion from html to text out-of-process (kde#474747)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * htmltotext needs a QGuiApplication, because QTextHtmlParser does</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Port deprecated QCheckBox::stateChanged
  * Use _L1 directly
  * Initialize pointer
  * const'ify pointer
  * Update copyright
  * Use [[nodiscard]]
  * Const'ify variable
  * Minor optimization
  * We can use directly QStringList
  * Remove unused variable
  * Don't export private method + remove Q_SLOTS + add missing [[nodiscard]]
  * Not necessary to use 6 suffix
  * Use local include
  * Use isEmpty()
  * Fix searchplugintest
  * Port deprecated methods</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="d667d20fcc93a6b80202873d6d2863fb0db344e03cfd40f8e8cc7ca05cf10de8ee979275ee23cf3bd61a6975b5fb30053176346f74df3e44d31b73263d960e36" name="akonadi-search-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Disable broken test
  * Enable testing again
  * Parse html with rust
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Add specific debug category for email
  * Add basic test for calendar indexer
  * Use smart pointers in Index
  * Add debug output for calendar indexer
  * Modernize codebase of CalendarIndexer
  * not export symbol of private methods
  * Exclude more duplicate contact
  * Avoid to show duplicate mails
  * [runner] Filter out email matches where writing doesn't make sense
  * Port to new api
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * Update Rust dependencies (kde#474526)
  * Move convertion from html to text out-of-process (kde#474747)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * htmltotext needs a QGuiApplication, because QTextHtmlParser does</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Port deprecated QCheckBox::stateChanged
  * Use _L1 directly
  * Initialize pointer
  * const'ify pointer
  * Update copyright
  * Use [[nodiscard]]
  * Const'ify variable
  * Minor optimization
  * We can use directly QStringList
  * Remove unused variable
  * Don't export private method + remove Q_SLOTS + add missing [[nodiscard]]
  * Not necessary to use 6 suffix
  * Use local include
  * Use isEmpty()
  * Fix searchplugintest
  * Port deprecated methods</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="3b5dd93e50c8b3ddc3bd21be4a01f8f6c3698e48c471a0cc32a2038b91eef121d8c2a9334f59b02b63524e42652880013a6bdea326939195b5cb8df9bfcf33dd" name="akonadi-search-devel" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Disable broken test
  * Enable testing again
  * Parse html with rust
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Add specific debug category for email
  * Add basic test for calendar indexer
  * Use smart pointers in Index
  * Add debug output for calendar indexer
  * Modernize codebase of CalendarIndexer
  * not export symbol of private methods
  * Exclude more duplicate contact
  * Avoid to show duplicate mails
  * [runner] Filter out email matches where writing doesn't make sense
  * Port to new api
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * Update Rust dependencies (kde#474526)
  * Move convertion from html to text out-of-process (kde#474747)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * htmltotext needs a QGuiApplication, because QTextHtmlParser does</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Port deprecated QCheckBox::stateChanged
  * Use _L1 directly
  * Initialize pointer
  * const'ify pointer
  * Update copyright
  * Use [[nodiscard]]
  * Const'ify variable
  * Minor optimization
  * We can use directly QStringList
  * Remove unused variable
  * Don't export private method + remove Q_SLOTS + add missing [[nodiscard]]
  * Not necessary to use 6 suffix
  * Use local include
  * Use isEmpty()
  * Fix searchplugintest
  * Port deprecated methods</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="ff384a8ea738d15fa7eb1daf487ed895c0c556873c1c089ca5699f0cc10a22160aeec91c01e11fba5176603dad7146c0c4f72f2326c0cd9d6a81eb9f6075657a" name="akonadi-search-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Disable broken test
  * Enable testing again
  * Parse html with rust
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Add specific debug category for email
  * Add basic test for calendar indexer
  * Use smart pointers in Index
  * Add debug output for calendar indexer
  * Modernize codebase of CalendarIndexer
  * not export symbol of private methods
  * Exclude more duplicate contact
  * Avoid to show duplicate mails
  * [runner] Filter out email matches where writing doesn't make sense
  * Port to new api
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * Update Rust dependencies (kde#474526)
  * Move convertion from html to text out-of-process (kde#474747)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * htmltotext needs a QGuiApplication, because QTextHtmlParser does</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Port deprecated QCheckBox::stateChanged
  * Use _L1 directly
  * Initialize pointer
  * const'ify pointer
  * Update copyright
  * Use [[nodiscard]]
  * Const'ify variable
  * Minor optimization
  * We can use directly QStringList
  * Remove unused variable
  * Don't export private method + remove Q_SLOTS + add missing [[nodiscard]]
  * Not necessary to use 6 suffix
  * Use local include
  * Use isEmpty()
  * Fix searchplugintest
  * Port deprecated methods</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="27b050d4bf204e5e4c4ac2e26f91ca42d9a8dc89903059eee3d6d7d2e7a31610d1cce8cf6c0465380200c15ff8782490a65d18a8907ddaafed7fce8993066e79" name="akonadiconsole" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add title
  * Use ClearCacheFoldersJob
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Adapt to new akonadi-contact/akonadi-contact-editor api
  * Fix enable/disable buttons
  * Not necessary to use slot here
  * Add info when we can't find element
  * Allow to translate akonadiconsole
  * Remove unused method
  * Remove search configwidget</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Use _L1 directly
  * We use lambda now + add missing [[nodiscard]]
  * Port deprecated method
  * Drop support for KF5's deprecated KToolInvocation
  * Fix build by requiring C++20</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="cee6699262ed4b28a99138c0383c573ab85563be58daef1b0d16fb7c1c65a3f29901c4273e4ca38c434d31744f2163812a64cf5b0e8cde3bfea4cb2f9fcf9a30" name="akonadiconsole" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add title
  * Use ClearCacheFoldersJob
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Adapt to new akonadi-contact/akonadi-contact-editor api
  * Fix enable/disable buttons
  * Not necessary to use slot here
  * Add info when we can't find element
  * Allow to translate akonadiconsole
  * Remove unused method
  * Remove search configwidget</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Use _L1 directly
  * We use lambda now + add missing [[nodiscard]]
  * Port deprecated method
  * Drop support for KF5's deprecated KToolInvocation
  * Fix build by requiring C++20</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="a5bca656b0e3af1ba5402d58036c177314e87b49f9dcd7294693a3e523fa30658a8825c5bd0fdc836ba3895f063a5b6685e92bd030e7d8197f78617beb0aa31f" name="akonadiconsole-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add title
  * Use ClearCacheFoldersJob
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Adapt to new akonadi-contact/akonadi-contact-editor api
  * Fix enable/disable buttons
  * Not necessary to use slot here
  * Add info when we can't find element
  * Allow to translate akonadiconsole
  * Remove unused method
  * Remove search configwidget</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Use _L1 directly
  * We use lambda now + add missing [[nodiscard]]
  * Port deprecated method
  * Drop support for KF5's deprecated KToolInvocation
  * Fix build by requiring C++20</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="7ee7d1b64551d358539603912c56c0037f1bdf2e3b3712a4fc6d88271a5b009c5f13dd3f1c159e20ca783d0849954d4c68ad2a2eae93744a2d6a3536961e0fc4" name="akonadiconsole-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add title
  * Use ClearCacheFoldersJob
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Adapt to new akonadi-contact/akonadi-contact-editor api
  * Fix enable/disable buttons
  * Not necessary to use slot here
  * Add info when we can't find element
  * Allow to translate akonadiconsole
  * Remove unused method
  * Remove search configwidget</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Use _L1 directly
  * We use lambda now + add missing [[nodiscard]]
  * Port deprecated method
  * Drop support for KF5's deprecated KToolInvocation
  * Fix build by requiring C++20</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="5cda14f2bd7aaf813813c661973cfe5937419233cc02a25b76e546090d9d2e6228fe2a3a68c7a0237c552440a21ab13a7a4abe1f3d0b45f6a3295f6821cfdea8" name="akonadiconsole-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add title
  * Use ClearCacheFoldersJob
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Adapt to new akonadi-contact/akonadi-contact-editor api
  * Fix enable/disable buttons
  * Not necessary to use slot here
  * Add info when we can't find element
  * Allow to translate akonadiconsole
  * Remove unused method
  * Remove search configwidget</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Use _L1 directly
  * We use lambda now + add missing [[nodiscard]]
  * Port deprecated method
  * Drop support for KF5's deprecated KToolInvocation
  * Fix build by requiring C++20</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="52ccbdc50da79b8cf6febfa6cd455bd0e88b8bf539b091e5f2d2194c5458d56a98e8e7470fb38f2ce2e2f318b0c6533d9e1114dc6f3ad41800f42c390c32f0ad" name="akregator" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Port to Qt6
  * Adapt to new api
  * Comment print code Qt6 for the moment
  * Adapt to new api
  * Add separator
  * Show header in qtc6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Add project_license to appstream metadata</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix bug 481593: New Feed and Add Feed Buttons Do the Same Thing (kde#481593)
  * Fix mem leak</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix appstream developer tag id
  * Fix appstream file
  * Improve appstream metadata</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix translated shortcut
  * Fix 483737:  akregator icon, in systray does not follow dark breeze theme. (kde#483737)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appdata: Fix typo in launchable desktop-id
  * Remove unused include
  * Add comment
  * We already use "using namespace Akregator"
  * const'ify
  * It's enabled by default
  * Coding style
  * Coding style + add missing [[nodiscard]]
  * Remove unused include
  * Prepare for the future support for Activities
  * Update org.kde.akregator.appdata.xml - Drop .desktop from ID.
  * New article theme
  * Use desktop-application
  * We use namespace directly
  * Fix 483737:  akregator icon, in systray does not follow dark breeze theme. (kde#483737)
  * Drop support for KF5's deprecated KToolInvocation
  * Fix appstream developer tag id
  * Remove some KIO/Global
  * Fix homepage
  * Fix appstream file
  * Improve appstream metadata
  * Remove unused code
  * Use local include</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="615e38ef9ad2d53eb610464f67586559a02c5d3c5014f1d066a427b4cccf3e067eb75d5a9229dde4d733eaf893706fbf85c8110064fdcfbcacbb7a1b9538e2c1" name="akregator" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Port to Qt6
  * Adapt to new api
  * Comment print code Qt6 for the moment
  * Adapt to new api
  * Add separator
  * Show header in qtc6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Add project_license to appstream metadata</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix bug 481593: New Feed and Add Feed Buttons Do the Same Thing (kde#481593)
  * Fix mem leak</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix appstream developer tag id
  * Fix appstream file
  * Improve appstream metadata</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix translated shortcut
  * Fix 483737:  akregator icon, in systray does not follow dark breeze theme. (kde#483737)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appdata: Fix typo in launchable desktop-id
  * Remove unused include
  * Add comment
  * We already use "using namespace Akregator"
  * const'ify
  * It's enabled by default
  * Coding style
  * Coding style + add missing [[nodiscard]]
  * Remove unused include
  * Prepare for the future support for Activities
  * Update org.kde.akregator.appdata.xml - Drop .desktop from ID.
  * New article theme
  * Use desktop-application
  * We use namespace directly
  * Fix 483737:  akregator icon, in systray does not follow dark breeze theme. (kde#483737)
  * Drop support for KF5's deprecated KToolInvocation
  * Fix appstream developer tag id
  * Remove some KIO/Global
  * Fix homepage
  * Fix appstream file
  * Improve appstream metadata
  * Remove unused code
  * Use local include</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="e3403d1dd01ebbb55dba5dc9adc7655117eec56ce3923cdc3de0f3d913e29b9cc202d88c04776dfce2465b1abfb40186bf291a7d41182fa703032f118cbcdeec" name="akregator-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Port to Qt6
  * Adapt to new api
  * Comment print code Qt6 for the moment
  * Adapt to new api
  * Add separator
  * Show header in qtc6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Add project_license to appstream metadata</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix bug 481593: New Feed and Add Feed Buttons Do the Same Thing (kde#481593)
  * Fix mem leak</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix appstream developer tag id
  * Fix appstream file
  * Improve appstream metadata</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix translated shortcut
  * Fix 483737:  akregator icon, in systray does not follow dark breeze theme. (kde#483737)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appdata: Fix typo in launchable desktop-id
  * Remove unused include
  * Add comment
  * We already use "using namespace Akregator"
  * const'ify
  * It's enabled by default
  * Coding style
  * Coding style + add missing [[nodiscard]]
  * Remove unused include
  * Prepare for the future support for Activities
  * Update org.kde.akregator.appdata.xml - Drop .desktop from ID.
  * New article theme
  * Use desktop-application
  * We use namespace directly
  * Fix 483737:  akregator icon, in systray does not follow dark breeze theme. (kde#483737)
  * Drop support for KF5's deprecated KToolInvocation
  * Fix appstream developer tag id
  * Remove some KIO/Global
  * Fix homepage
  * Fix appstream file
  * Improve appstream metadata
  * Remove unused code
  * Use local include</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="2d9035af920907b1d669dad0ee93f7f9e78fe5d9972719c8177d82623265df77d39494a072fde54116c5440e1b88abab320bc7d3b47b6593872642967dc3c846" name="akregator-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Port to Qt6
  * Adapt to new api
  * Comment print code Qt6 for the moment
  * Adapt to new api
  * Add separator
  * Show header in qtc6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Add project_license to appstream metadata</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix bug 481593: New Feed and Add Feed Buttons Do the Same Thing (kde#481593)
  * Fix mem leak</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix appstream developer tag id
  * Fix appstream file
  * Improve appstream metadata</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix translated shortcut
  * Fix 483737:  akregator icon, in systray does not follow dark breeze theme. (kde#483737)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appdata: Fix typo in launchable desktop-id
  * Remove unused include
  * Add comment
  * We already use "using namespace Akregator"
  * const'ify
  * It's enabled by default
  * Coding style
  * Coding style + add missing [[nodiscard]]
  * Remove unused include
  * Prepare for the future support for Activities
  * Update org.kde.akregator.appdata.xml - Drop .desktop from ID.
  * New article theme
  * Use desktop-application
  * We use namespace directly
  * Fix 483737:  akregator icon, in systray does not follow dark breeze theme. (kde#483737)
  * Drop support for KF5's deprecated KToolInvocation
  * Fix appstream developer tag id
  * Remove some KIO/Global
  * Fix homepage
  * Fix appstream file
  * Improve appstream metadata
  * Remove unused code
  * Use local include</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="9c2826082dac0ec4b52ac91b14b5890204ed87c238922b1be42f1cdba85e9b2a7552d860299a7bdf7c10fc93e790439832df0b81edf1caf800e145e62c82cddc" name="akregator-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Port to Qt6
  * Adapt to new api
  * Comment print code Qt6 for the moment
  * Adapt to new api
  * Add separator
  * Show header in qtc6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Add project_license to appstream metadata</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Fix bug 481593: New Feed and Add Feed Buttons Do the Same Thing (kde#481593)
  * Fix mem leak</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix appstream developer tag id
  * Fix appstream file
  * Improve appstream metadata</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Fix translated shortcut
  * Fix 483737:  akregator icon, in systray does not follow dark breeze theme. (kde#483737)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appdata: Fix typo in launchable desktop-id
  * Remove unused include
  * Add comment
  * We already use "using namespace Akregator"
  * const'ify
  * It's enabled by default
  * Coding style
  * Coding style + add missing [[nodiscard]]
  * Remove unused include
  * Prepare for the future support for Activities
  * Update org.kde.akregator.appdata.xml - Drop .desktop from ID.
  * New article theme
  * Use desktop-application
  * We use namespace directly
  * Fix 483737:  akregator icon, in systray does not follow dark breeze theme. (kde#483737)
  * Drop support for KF5's deprecated KToolInvocation
  * Fix appstream developer tag id
  * Remove some KIO/Global
  * Fix homepage
  * Fix appstream file
  * Improve appstream metadata
  * Remove unused code
  * Use local include</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="332f9b222bb359248ba36e8a6252944172fe0c86d0ea3df183e71a7602930d37d02a110c5ca1e3e46133f4c9f0f862d9cb6e07cc1c7a69f3ce2ad7ea1018393d" name="alligator" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679140800">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Fix binary stripping of APKs with Qt 5.15.10
  * [CI] Reenable Android Qt6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * flatpak: update runtime to 22.08</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: new content pack
  * Add snapcraft files to reuse
  * Add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * CI: Comment out flatpak as it uses some KF6 dependencies
  * snapcraft: Bump content pack version.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix crash on shutdown
  * flatpak: Switch to non-preview runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Set width on list section header</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Set width on list section header
  * Fix Sidebar Text Being Inappropriately Shown on Startup when Sidebar is Collapsed
  * Set compilersettings level to 6.0
  * Remove Qt5 dependencies
  * Add monochrome icon for Android
  * Fix crash on shutdown</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="ebd2af31dcdee9103b15df26a10a680bf3cbd01ddffdd5ceb6597563b98813b64e625411b494ea8c03f8aedf6014cc3e8e18bbfbe905cd27c094ecf63330e17b" name="alligator" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679140800">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Fix binary stripping of APKs with Qt 5.15.10
  * [CI] Reenable Android Qt6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * flatpak: update runtime to 22.08</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: new content pack
  * Add snapcraft files to reuse
  * Add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * CI: Comment out flatpak as it uses some KF6 dependencies
  * snapcraft: Bump content pack version.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix crash on shutdown
  * flatpak: Switch to non-preview runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Set width on list section header</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Set width on list section header
  * Fix Sidebar Text Being Inappropriately Shown on Startup when Sidebar is Collapsed
  * Set compilersettings level to 6.0
  * Remove Qt5 dependencies
  * Add monochrome icon for Android
  * Fix crash on shutdown</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="0688b96b67dde784a7cebcee17b1d6a81a5682e3900cd99b745a01d2964798ff1fea4562d15270b82c063918a8eed7efa243801ceb45bc3bd8eae3bd4766bd7f" name="alligator-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679140800">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Fix binary stripping of APKs with Qt 5.15.10
  * [CI] Reenable Android Qt6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * flatpak: update runtime to 22.08</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: new content pack
  * Add snapcraft files to reuse
  * Add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * CI: Comment out flatpak as it uses some KF6 dependencies
  * snapcraft: Bump content pack version.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix crash on shutdown
  * flatpak: Switch to non-preview runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Set width on list section header</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Set width on list section header
  * Fix Sidebar Text Being Inappropriately Shown on Startup when Sidebar is Collapsed
  * Set compilersettings level to 6.0
  * Remove Qt5 dependencies
  * Add monochrome icon for Android
  * Fix crash on shutdown</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="7b458f117e1ac475ff85d5ec0508394c67a9e0d6ef87356663d447b0b104c9938369d72a79c3feae8f25d6a1030f584df54b04405d1a127cd971fdf7f8a38588" name="alligator-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679140800">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Fix binary stripping of APKs with Qt 5.15.10
  * [CI] Reenable Android Qt6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * flatpak: update runtime to 22.08</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: new content pack
  * Add snapcraft files to reuse
  * Add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * CI: Comment out flatpak as it uses some KF6 dependencies
  * snapcraft: Bump content pack version.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix crash on shutdown
  * flatpak: Switch to non-preview runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Set width on list section header</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Set width on list section header
  * Fix Sidebar Text Being Inappropriately Shown on Startup when Sidebar is Collapsed
  * Set compilersettings level to 6.0
  * Remove Qt5 dependencies
  * Add monochrome icon for Android
  * Fix crash on shutdown</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="fc903c24b843f1a74d3f425b829844dadac263df83de3fb4982d97eb4f0fd98f93ed87f44adc0bbc75b70e7542b5449ef9133f00285b9022a8cd7c39bf30087b" name="alligator-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679140800">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Fix binary stripping of APKs with Qt 5.15.10
  * [CI] Reenable Android Qt6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * flatpak: update runtime to 22.08</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: new content pack
  * Add snapcraft files to reuse
  * Add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * CI: Comment out flatpak as it uses some KF6 dependencies
  * snapcraft: Bump content pack version.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix crash on shutdown
  * flatpak: Switch to non-preview runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Set width on list section header</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Set width on list section header
  * Fix Sidebar Text Being Inappropriately Shown on Startup when Sidebar is Collapsed
  * Set compilersettings level to 6.0
  * Remove Qt5 dependencies
  * Add monochrome icon for Android
  * Fix crash on shutdown</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="fd2fbe177f2cdfe81c8c3e0061cfbcdb2912939ecb1431d26b680cb7f4124b460ff1cc17591394a6bc6df05c963254f16271eb9626f61c71ffd7b005241c858d" name="alsa" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="495d23af7499470454cd4e6905dcf4a186aa18b885d21f965b9416746842247ad9aceed4afa80af1a957517818a5b698850a4fed917ca401e9cc7746a893bf9c" name="alsa" arch="src">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="05a1081c7ca8f879f4608a8d1027d1f4bf83a47e316b31ecfc4f6f39b951f6c42dccf055dace39a732a88cd2afc92354e1af1ba25a15b698635572ae47d84413" name="alsa" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="003e33ac63628d7d5557ce1d6bb6af1dcbac3f2cbddd8511da064b31aa45e25e6e4f813433f4f70812d8bdd1fe115ab2cb62c60da4e087d31ea8ff0ad72f935a" name="alsa-debugsource" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="09f616f247e6f12905159e711f094c27cfa1eba642d6b667289ac7bc97ec40c546c9fb449433e6be8e6dfabfe83507fc43de40b55068e993962141e224cb515c" name="alsa-debugsource" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="dd640e051d3f25485b21443b1a3f16d577b047e431daa4882e98995a6d9b8592a8e427974b8b1c9596d1013d982fc0f354544cedbcdcc6bab081131053c95fb7" name="alsa-devel" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="059f1002e6ffc0b819274ee52c032380792b5adb869e4aa7f3113d45da5139a544b253bccaf02c6ad9b53291897d41346135ce0685c7acddcfbe22601280e3a6" name="alsa-devel" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="c7966a618ebe962cca5212c569a183ea3a00f8587da7e1539d5c2bf0fed2c0c659e8c0091d8a9f93f24e312fbba1c2ce20f555905dd746957db7a2f6b92a4efc" name="alsa-devel-32bit" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="f0931c9e97de54d28638e747a45d6d33502fd8725a18eebafce7b262a06cdf050bd3978887d8047f57d7f675b171cd3607c53ace21b93395ba6b85bef942df59" name="alsa-docs" arch="noarch">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="f4ccf44fd90a0dbd61bfb2671de611a8e0f820228a4dc0f5606be15c35805bccb48b5e3b375ac48de2c43d8df53ddd5c22029bfcc8c4fb7cc0e2c26519e3c2e3" name="alsa-plugins" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="8b8efb2e3bfa8b06c0e7ad011ff000207a3f5e5187acffc1d78f8f6e6196016ee423981aaf6182bca2c5eea41d3a1e24c7aedd55950ef0d0c49c58d88e75fb82" name="alsa-plugins" arch="src">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1540382400">- Backport upstream commits:
  fix memory leaks and other minor issues in usb_stream plugin,
  fix a regression (appearins in PulseAudio) with a52 plugin:
  0001-pcm_usb_stream-fix-another-leak-in-snd_pcm_us_open.patch
  0002-pcm_usb_stream-remove-unused-parameter-in-snd_pcm_us.patch
  0003-pcm_usb_stream-fix-signess-issues.patch
  0004-a52_close-set-slave-to-NULL-to-avoid-double-pcm-free.patch</changelog>
  <changelog author="tiwai@suse.de" date="1540382401">- Backport of yet another regression fixes in upstream:
  0005-Revert-jack-Fix-leaks-when-jack_set_hw_constraint-fa.patch
  0006-Revert-usb_stream-Fix-leaks-when-us_set_hw_constrain.patch
  0007-Revert-oss-Fix-leaks-when-oss_hw_constraint-fails.patch</changelog>
  <changelog author="tiwai@suse.de" date="1542283200">- Remove the old override configs as the updated setup-pulseaudio
  script should handle the new configs (bsc#1116153)</changelog>
  <changelog author="bjorn.lie@gmail.com" date="1544184000">- Use ffmpeg-4 versions of pkgconfig(libav*).</changelog>
  <changelog author="tiwai@suse.de" date="1546948800">- Update to alsa-plugins 1.1.8:
  * A52 Output plugin:
    a52_close: set slave to NULL to avoid double pcm free in open fcn
  * AVTP Audio Format (AAF) PCM plugin
    aaf: AVTPDU transmission periodicity
    aaf: Implement Playback mode support
    aaf: Load configuration parameters
    aaf: Introduce plugin skeleton
    aaf: Tx multiple AVTPDUs per media clock tick
    aaf: Refactor timeout routines
    aaf: Refactor AVTPDU reception routines
    aaf: Refactor AVTPDU transmission routines
    aaf: Add presentation time tolerance
    aaf: do not free twice aaf - snd_pcm_close() is called from snd_pcm_ioplug_delete()
    aaf: Add support for direct read/write transfers
    aaf: Implement dump() ioplug callback
    aaf: Implement Capture mode support
    aaf: Prepare for Capture mode support
    aaf: Implement Playback mode support
    aaf: Load configuration parameters
    aaf: Introduce plugin skeleton
  * Documentation:
    aaf: AVTPDU transmission periodicity
    aaf: Tx multiple AVTPDUs per media clock tick
    aaf: Add presentation time tolerance
    doc: Fix typo in AAF doc
    aaf: Implement Capture mode support
    aaf: Implement Playback mode support
    aaf: Load configuration parameters
    aaf: Introduce plugin skeleton
  * Jack PCM plugin:
    Revert "jack: Fix leaks when jack_set_hw_constraint() fails"
  * OSS Mixer -&gt; ALSA Control plugin:
    Revert "oss: Fix leaks when oss_hw_constraint() fails"
  * USB stream plugin:
    Revert "usb_stream: Fix leaks when us_set_hw_constraint() fails"
    pcm_usb_stream: fix signess issues
    pcm_usb_stream: remove unused parameter in snd_pcm_us_read()
    pcm_usb_stream: fix another leak in snd_pcm_us_open()
- Drop obsoleted patches:
  0001-pcm_usb_stream-fix-another-leak-in-snd_pcm_us_open.patch
  0002-pcm_usb_stream-remove-unused-parameter-in-snd_pcm_us.patch
  0003-pcm_usb_stream-fix-signess-issues.patch
  0004-a52_close-set-slave-to-NULL-to-avoid-double-pcm-free.patch
  0005-Revert-jack-Fix-leaks-when-jack_set_hw_constraint-fa.patch
  0006-Revert-usb_stream-Fix-leaks-when-us_set_hw_constrain.patch
  0007-Revert-oss-Fix-leaks-when-oss_hw_constraint-fails.patch
- Add a new subpackage alsa-plugins-aaf;
  currently built only for TW</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1547121600">- Drop idempotent %if..%endif guards.</changelog>
  <changelog author="olaf@aepfle.de" date="1553083200">- Adjust BuildRequires to use pkgconfig</changelog>
  <changelog author="tiwai@suse.de" date="1553515200">- Build alsa-plugins-aaf conditionally, not stop the whole builds
  for old distros</changelog>
  <changelog author="tiwai@suse.de" date="1557489600">- Update to alsa-plugins 1.1.9:
  Fixes for jack and maemo plugins, see
    https://www.alsa-project.org/wiki/Changes_v1.1.8_v1.1.9
  for details</changelog>
  <changelog author="tiwai@suse.de" date="1573819200">- Update to alsa-plugins 1.2.1:
  * pulse: Add DEVICE parameter</changelog>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="a227212a943e004ff2041ef0e742a6875625fe5a63b016918c55a0bcfc1da69f31f128d27d1603f60475231c60d291c711916c7246e15a85c598901f627f90df" name="alsa-plugins" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="00d31ac598f32e5731fc3801614aa9f12e58d2fcdaf59cb982268d05255d5df2e4aba5c790d0e1bab76a40f210053c42b3bfe30b01e448c409c673581d74673d" name="alsa-plugins-a52" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="88561646187a0e47b7cf6944750181f3d28227b42061c58386e76ea75bb32e6b85c3f06c83b42d97b4499a7b7b7ef8b5a082d0b50891d61e8c392476d37e4c81" name="alsa-plugins-a52" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="eb1442750971cbb6145212104a466ef19b31dc3eaf89dbed05dc1d64e15f5fd07930b6b072a51a297192af05bb1c229054489a6dc2f90798581276aaf868b24b" name="alsa-plugins-a52-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="9a5689c673e4ac2435d9a6e32b84249016436d655808dec3124952ed4e1d1f6c6f5facb2f7b6bcea32559e8c895a45decd454095cd9f3a7cb10b4d5d035443ce" name="alsa-plugins-a52-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="f97eaffa101c9089333dea38db34cd0469a5da0274a52bc76b059c2ccc02c316f6518d183d4147cc5a6fbf6258598670513fb0001a64a9b930cf93989df21fad" name="alsa-plugins-aaf" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="81e66e98f8cf5cf4719bc8b70f7247dccdc1ea14af24933f20484a28fba45daae3b009cf2f6dbbb1b7e0252a62b8fcbddf0819e79bbec4c0e6b37dfda0d0eb57" name="alsa-plugins-aaf" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="a229100a002554601cba9b6f40f2802eaac30e5f490f1fb3e645d2862e71a6a6bda9258bdde1692a466116014918e1d11b9a2cc0c7b9021dfc2a137cdbc48097" name="alsa-plugins-aaf-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="8758976f482dcfc7b84bde45508644820d9dac7c612b7959514b53604b47cb2796946b06313f4ccf11ccb98d9a8fc1adfd425fe693a63ffff3ba971bc15f58b6" name="alsa-plugins-aaf-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="369682caa2d3922f407a73782f239a236436e1f759ba20abae5da91a1ea0c2a799b8601755ecf4d6f42c71230d5b70492ce4a378bc7cc318067e5d9959c363ba" name="alsa-plugins-arcam-av" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="7d5a3aa53d7ca69fc0d191eb18e2fab8c02fd3f15df3cd3d8a14957f7b43b6ffe3e8baadd4c2505003b790cce210aa0c4f46ac2ef21af4aaf598bfaf575f7c00" name="alsa-plugins-arcam-av" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="cfc5845bee0209380facbcd03c8fdfe0133a444b8001dd5ba81d22588119f1f06218ffa01ca3eaad4e8842f442c20eec34fd0719740f16dfa20aeca5fd540e52" name="alsa-plugins-arcam-av-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="12aeecc056d5f26818ab9a2348cd3bda095c44b16d257d9673f97d448091e421b51fbe95a6bfd99b87cbc936ff3405c378082f8b9c2cde8c7b70dd128ac7e7cc" name="alsa-plugins-arcam-av-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="c00a95285237f5c1d4cd42369891ea111b485be5be9997f4200dfab436cb628e76945dc55d3a9c295bce86fe96475b74965f3757b49d5f767ebbe7bb9d6266cc" name="alsa-plugins-debugsource" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="918fa2300ebbf08fce3901941ba910e39e6a4ba3d0d8f2223cd570551534998f4ffbc26fb9d73a5a02c7afa4fffce9c669107e3a932b2a8f6b43fe9d0c675a5b" name="alsa-plugins-debugsource" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="cc03ef382ee23bfa2a9fcd3ec8d58ace2e8f396f2ac9aa67370499fc35fdae3ee16a7fde51a84a6348789c25ac2d622837758858fe4a37b2ee6539e2e0b1577e" name="alsa-plugins-jack" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="4991bfe9587abf1fc6e239c0a3e4190c535a7c351891b01bbd00116a8d00a4fa4ba6d7ce4a5cf97cd22b3eabae3a212b605fbd5fa5746e3b2c1c62c5bd0dca5b" name="alsa-plugins-jack" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="ac40ab3b5b21259a268ba24888fa4a7f6076591c3fbc4c41eb4142fd1631a98a7b346097c9b12161c80ffcd888211cc6ce3b6368061d0c563a0b6aebea09918e" name="alsa-plugins-jack-32bit" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="b02b1a29828d757193353c658d593839949d3361a53562af11d0e3f4e9331631ae586b72e2eb8e30c7a8edf956d787dd1b3bc8091d7e608a1d6129fafe02d055" name="alsa-plugins-jack-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="0976d93c75a436211c8d0ec58ad5c4de930ba2199906e68064a867ecec9b64a51a2598e36c45f96c07b2382c96505ab3faf6c8e13f7bdd83d8d06ddf652dc2d0" name="alsa-plugins-jack-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="9548a3dfad554f2c2c29b06e43d7879a4df4d2469fdb253965437ceb6bd513a0a626394efddc16dee67287068e80d823e4497fc0f8fe2494f67169f0d669b29d" name="alsa-plugins-jack-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="25e7b5c4042d7344c7b1f86b26132d4e16b069192b95ad52b4eff794c2ea0c532f919882ded5ce5efee83c38aea91e63e03a2523eb2703d477bd18f50c22ca45" name="alsa-plugins-lavrate" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="f8b01609da1e86240795a4a876123ddc61d91c8a3f6db319505d0738ddd1cc1e07606bf2e9127584043d5f9ccc198687e36ea087154900f1efc2ca92d2303314" name="alsa-plugins-lavrate" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="a9eae19cfd55bc0dfc95728f4bf6cf581c9fe2e1d5b47f39a472f0ada556967eb121eb69c48473732b21fbacf29e30be82e104811e974e695869cffcff012e0f" name="alsa-plugins-lavrate-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="adff51646f8972c0a1759d20dcfcbd159ec98f870f55b9f6ac21043ca882702671775a8a2a0aaaacdd22905e2ae4dd008135c8227d1d2fec33403f13cc6b1e6c" name="alsa-plugins-lavrate-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="1fe5dd76496311c722454023df8e65f8eb98952d90e5476532596cb5501f603f2f0e0c674060d767c17017f7021259316adb8f7efd6d88cb04ff2dd9419f5692" name="alsa-plugins-maemo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="44a0bd4efa1860a82324323df5a4279c27b4d1edb4635b02990b9a443bf118ffd33136e12fa8fb8650adf19bb145fd2cce1147d021754a510568cb10a46836b2" name="alsa-plugins-maemo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="88d679793d69db168fcd586a4c5cb68962c5662a5a7f64445e5cc057122eb271ab58db1659d519c9b5457cc74a160ebc1d88285dae22ad628d8f22bffccf6fa8" name="alsa-plugins-maemo-32bit" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="b20c21a10d7dfc9de25b6601c9e273c30ade41b6a7e88f460029c1b108dd91eeb49b0ff5fca475d714bf132b0d35c1f6ba6c6d36145685fc00c13cfa044a28c5" name="alsa-plugins-maemo-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="9e03797f2ac87836525e155731656812c314c2b44c3b4c4741c23be8b8bdf0e54105be542d5674e974027924a1a056e1c4862f807ef9ec920f2794714531836d" name="alsa-plugins-maemo-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="9bde010bfd5fa4e25ec13bbf1c9e53558ee805731c111177c2119a6760092be58be7fe19ca39b6196341bdca836de546cdc7382992cc2665cac2504316cc0c51" name="alsa-plugins-maemo-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="dee7c3667a6fadeeddf468ab6b4d4c09a5637d5d7662c04930d4e6263ec227f419a920ffcd550e97156f48127d1568d8762e0cb7bd23552ae8a019f02eb8e473" name="alsa-plugins-oss" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="9be11fda13524a662451bfa946a45752f44ecfbebd7df074c4675e043404dcba27f9b9993e08af66d4584cdafae4e957e5295caa33443d4751e7053123edeb0d" name="alsa-plugins-oss" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="7a08d5d07bd2e822f41f134904255ddfbea958c8d4997aaeec42d50efc9f1ea4b5b2fb89ba97291f72af45588dc7e5c41bc3d6b07dcca6b4c4c17db7c1c9abf3" name="alsa-plugins-oss-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="ae22f4542186d2ca9f4bd569d496b7d26045385056b4394176b8ac872235c951b4d32cbe53bf07f875c9fa2ebe75212c2fa1a72df4badeeb8a89b30552cbe1bb" name="alsa-plugins-oss-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="4e0ffa5f82e44be2b0a495edca7b2ab91c303ff059296705a0a08ac3169ac3e42af1e44a675f05ada6dcdc4c9cde4a8b6f2635b61ae5b481f756aa92be7495a0" name="alsa-plugins-pulse" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="2266b5d7b06aae114ad2ac6bf46fb741965e60ababdc37de36e3b89031a55fc6cbd36bb5c554622566cbe733b2fecf92e67e96bf5027e21e010017fb024b2aec" name="alsa-plugins-pulse" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="b62547609eb0b8a81323beb03112fc4964ba87cf1daf18a4fa0ef40c6b116f09a2ddc6573b69494cde11ea519bd034d5f8f5bb79267966e87b789d8f96ec228a" name="alsa-plugins-pulse-32bit" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="12f1460dc5196c8a77b4d0fb2e3951a9a98afb8f9e6139933059e3f8094ee89d8131cb5222c786f4788ea618fa409764cb91d998a2c54588af0633f8585d2cad" name="alsa-plugins-pulse-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="2a1091c37c4e4e77f838b1b7b99bfec762698b312935dac79d04ce344315fcd3b4f4544611b82c63075baa3cf9cd5dbef818da0bafb6fa8f05c0960eb2dd2bf4" name="alsa-plugins-pulse-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="d392f29b646ce1aacc774e9d496a81e23bff552c2023cccb420fa0b9197638e50ae8ac087bbee06af06521868f335edd0beb0634addcf0b0fcf9a549c9879e8e" name="alsa-plugins-pulse-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="e9f6fa8fb1836ad4843bc3245c6c3754c4969c7a91fa9de5d97e15e9d2722c559ac54db9971339e14cf467b4d6c5eac5f9f448eca454b3eea724c3c5af9568b9" name="alsa-plugins-samplerate" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="7689d061b7ffd19297beb7abd55b9d8b188faf34e2acb9e2b75e013187c57f9bc85df0e0fc469a82b31597e5f9e37b9e7d7e4dd331330370eeb15ee240d3be55" name="alsa-plugins-samplerate" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="26da6d00b7e717714f9b5e41a308686f3ddf548f27d1e738164e2d066cd0019d9167cbcbbfe0aa48a843db005488e88084df19dfbf54f3dbabff4ec571d37359" name="alsa-plugins-samplerate-32bit" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="4d34cc2a048bc6f2d286f0463caf61768aa25d7df3838e18352f01435a27de55e6178ccecb8c0bf0d9774d9fba6a34b5de42b95518ece7e8b26c19aef956271c" name="alsa-plugins-samplerate-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="856e165e2ff8d1955ed9835a92a610f0a998037456441634bc290dd0c8ea3602a6401ecfeb66011102bd13f5bf768da0c30cd6d5430a433bb18576eb4be0b2d2" name="alsa-plugins-samplerate-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="3af1d53885acb7c8b5c463588bf51dc7d365638d182bb07ff33f97ced75aedd576c60ffbecc6a6acb3ed172bd5ae1c105cb0ffc786f699f7c340cdacc9e689df" name="alsa-plugins-samplerate-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="8bb858e0fa8df23d577857f9830614c4e12c0000505a9dcbce3b970b7399c93b2a5f31c977d1af868ef3050d2f4fd3ae41bc4051c0d0d6ce257f65b50ae4106e" name="alsa-plugins-speex" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="b47a8e27452a7395e8ca657054fcb471041b7e09a4aed55ec45871cb80252b588bd91b27c46cb8b1e49a655662a76600254b82b6d3a3039f493df5830e06e600" name="alsa-plugins-speex" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="65d5d6321ae200f681271668724f734653393a7ec5d2d277d7e538d990a1ba22913ccdaf9b808dae6e544920f04efcff69ec0c42bf647b657eb49efe41895a8b" name="alsa-plugins-speex-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="8e22879d8112292416492d0a12e44d3765aff0ba87409dc584f80a0562534cdeb06f535510d7b413a9b0246d6e996fc1071c6091b95df737dc2371802cf69996" name="alsa-plugins-speex-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="28b2d341abeb78a9f704f0fdf887f042820d271e73b7df0e3f7a5185c5384dd88f89813e8730d230aa5ea96a899636a3a2e338603c62439e72f359e853a691db" name="alsa-plugins-speexrate" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="607f2cb910243e4da32163497c5ea0b0e67d051eb8fec6463e24054c7f2cfcf4d4167898e6a60a6295ccdb727c13de4bdd6b9cc906687bce925136d7a5388856" name="alsa-plugins-speexrate" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="e5af25246bff72cab6364b39b4f70113c355f4dadeccdb5a946555c6517834d63176885dd981401632e61f55496415f378aca36447861ee1c8f7c8c88282e8af" name="alsa-plugins-speexrate-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="05087f3f458ac0c2f6a30be1d1b8d24083e6169f57207a5784d49bf63f3bc1ae0835ae5844c3bb7d327b7423de23dc47c9984ecec57e71594dbc001b6e98ef0d" name="alsa-plugins-speexrate-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="4013098ac3896b95fbcc46e34fe2876bc0cc86fae28f5f4138de8f191bf4a8969d86e5a49cc7599ce3d03a4b18f74cdff3abe534f98c3600f123ab16ebef6bc5" name="alsa-plugins-upmix" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="5bcbca1335b8244f8fd85535ee4d6c56271f081447fad235287ac9e78fc9769fb793196395d893b497ab3ebacca8c709f1164ff9e18cb2d83d6b3a82c868d187" name="alsa-plugins-upmix" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="9eb6b7ac8c03d4568276f4726dd65caf94489dee5be5bfb4437f3a2492b057a8decb6462103dc84a1e4b140a268e23f3db4dd5032c011fb4256ba079107305a1" name="alsa-plugins-upmix-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="0ebafec3f2f00b660dae01ec451dfea33618fe1a6989748920f61891b3afd2df47d5722c881c64d2be1320b3b79a752f6f6b54623a78dc365d80667b6edd0b93" name="alsa-plugins-upmix-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="8d4e9b5d7e63cc85b574171f85e66e1e7de92c52dae63aa3590e1a2a6d7859995c3c974dece4c95416cf6caf87ebf97bd818aa738f30b5944ece99133656c6bf" name="alsa-plugins-usb-stream" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="ef1de79948c5f24f64c8f7ec2ca60e259b0bdbdc6aab5eafabb6cd78e9b7fc0c8a4d51058f8fe76351aeb3b239efb041c954099a97458e07c7e37b269ebf643d" name="alsa-plugins-usb-stream" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="a53899a5284d10c6cd42bb6c8d1c7a513de9dc288046e62f8f2491e7fe5a3fbff3bc4be057db7517f3ce4e242d77d1e8fef4a13eb35a66d93b1977ddd3b13b5a" name="alsa-plugins-usb-stream-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="fd4f4aa99ad95c478d5d5cf8f17afa74785a0c13f7a22c74d4c7622db0d739b040f9b3e64e17439bae89a84dca54cd4cf2bb11488bfb99164d6653713879baee" name="alsa-plugins-usb-stream-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="c6a87190da7b1ad081b431fe521764e3936bd4f52b2b139ad6d306e5e2479bd7b0eb5256a06173064a72208e5f578f79442c2d29b19cf3d4d8becf8c0bd54a41" name="alsa-plugins-vdownmix" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="d33f4d0a2e35850cc196a3e30372000d9a213f19bedd00b515976ff7bebeec0b5aaf59d6c87f7ec2e0a896a2d83c4bff42898db37dd45f49497685c06f6dd9f2" name="alsa-plugins-vdownmix" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="ce4d4c75fa4dd2c37feb7af3e111eb5d3f24b60c641feb0ccb4a4f173e6719621c3064ed80409d62fa66bb603157f171121369c4b1f8eabaa5979c08125f1fe8" name="alsa-plugins-vdownmix-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="e0c03239135ce8de653e7aba66a6a76422248c48e9efc615f21d477d4d834b29a376e27e2b4f1adb4a1d4d57860ae51aadc2ea95fa5c48039ea29ba7c4b9ed8a" name="alsa-plugins-vdownmix-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1584100800">- Update to alsa-plugins 1.2.2:
  * upmix plugin code refactoring, m4 file update</changelog>
  <changelog author="tiwai@suse.de" date="1588766400">- Split plugins in alsa-plugin package to each subpackage
  (boo#1171276):
  now alsa-plugins is a meta package that requires only the
  fundamental speexrate and upmix plugins
- Add documentation for aaf plugin
- Minor spec cleanups</changelog>
  <changelog author="tiwai@suse.de" date="1601899200">- Placeholder for SLE15-SP3 sync: jsc#SLE-11987
  no functional changes at all</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to 1.2.5
  * Support alsa 1.2.5
  * Fixed A52 Output plugin
  * upmix: complete generalizing format
  * jack: add option to allow non-jack-aligned period size
  * oss: fix the config (port -&gt; device)
  * pulse: pcm - handle reading pulse stream hole
  * usb_stream: use snd_config_get_card() to decode the card number</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  Fixes for a52 plugin, jack, rate-lav.  For details, see URL:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-plugins
- Add *.sig file for the source tarball</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  jack plugin fix/enhancement</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Fix dependency of pulse plugin; now pulseaudio-daemon is required
  (bsc#1201409)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1667995200">- Add keyring</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670673600">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as rate-lav was ported to use the latter.</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-plugins 1.2.12:
  * add support for FFMPEG 7.0
  * various compile fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-plugins</changelog>
</package>
<package pkgid="863e8f33f2afe3d335be872d588f6db7e6d4b87ed8b18b31bb48d8e3b2ed3d35c6c4f9511bf602b08f0502786f062d5fd7fdf191dbd1709af5fa513cab71397d" name="alsa-topology-devel" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="720a9c3ba9b0616bab49853297c17da0bd8dabf66d1394ace8fb2cb96381cb8176a9d2771e0bbc45ee268bd06d147afd45769124fc35cae8542408fbe4146c43" name="alsa-topology-devel" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="41e95d5e26d72cc06804b5b4510a72179fe55829cdbbe7a6a88841b2b27f888bfc7b39248eb2782acab576b19de2eb00703bff23c9c9afb0f2a29050c9ae46b7" name="alsa-topology-devel-32bit" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in
  UCM (bsc#1181194):
  0004-topology-use-inclusive-language-for-bclk.patch
  0005-topology-use-inclusive-language-for-fsync.patch
  0006-topology-use-inclusive-language-in-documentation.patch
  0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611316800">- Yet more fixes for the crash with dmix plugin (bsc#1181194):
  0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib
- Drop upstream fixed patches
  * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch
  * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch
  * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch
  * 0004-topology-use-inclusive-language-for-bclk.patch
  * 0005-topology-use-inclusive-language-for-fsync.patch
  * 0006-topology-use-inclusive-language-in-documentation.patch
  * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch
  * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch
  * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch
  * 0019-pcm-fix-__snd_pcm_state-return-value.patch
  * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch
  * 0026-Revert-pcm_plugin-fix-delay.patch
  * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch
  * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch
  * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch
  * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch
  * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch
  * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch
  * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch
  * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch
  * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch
  * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch
  * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch
  * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch
  * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch
  * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch
  * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch
  * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch
  * 0023-pcm-plugin-status-revert-the-recent-changes.patch
  * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch
  * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch
  * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch
  * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch
  * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch
  * 0033-pcm-rate-fix-the-capture-delay-values.patch
  * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch
  * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch
  * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch
  * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch
  * 0018-conf-fix-get_hexachar-return-value.patch
  * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch
  * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch
  * 0031-pcm-plugin-fix-status-code-for-capture.patch
  * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch
  * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch
  * 0022-pcm-plugin-status-fix-the-return-value-regression.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix regression in config read and UCM handling on pipewire and
  pulseaudio (boo#1187079, boo#1187033):
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a bug fix release, including previous patches:
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop obsoleted patches:
  0001-conf-fix-load_for_all_cards.patch
  0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch
  0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  lots of changes, including UCM and config updates and rawmidi
  framing mode support: for details, see below
  https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib
- Add *.sig file for the source tarball</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * conf: fix the device parsing when arguments has no defaults
  * conf: accept '_' character in the variable name</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  more extended UCM API, PCM rate,multi,direct plugin fixes and
  enhancements, compilation fixes, etc.  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for 32bit inode and ELD parsing:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1: minor bug fixes, including the previous
  patches.  For details, see
    https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-lib
- Drop obsoleted patches:
  0001-conf-Use-ino64_t-to-save-and-compare-inode-numbers.patch
  0002-control-eld-fix-the-decoding-for-older-hw.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2: minor updates, including fixes for PCM
  share plugin, rawmidi and UCM</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  add FreeBSD/NetBD/OpenBSD build support, fixes in control namehint,
  various PCM plugins and UCM.  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  * Versioned symbol updates
  * Various fixes for building on *BSD and Android
  * Fixes and enhancements of auto silencing and playback drain
  * Add SND_CTL_EINTR open mode at PCM
  * Avoid endless loop in snd_pcm_sw_params_default()
  * Fixes in PCM rate, route/softvol plugins
  * Fixes in topology API parser, cleanups
  * Enhancements in latency test program
  * Minor code cleanup and memory leak fixes in UCM API
  * emu10k1 config cleanup
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-lib</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 feature support
  * build fixes for various platforms
  * various documentation fixes
  * misc topology fixes
  * ucm fixes and cleanups
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-lib
- Took upstream fix for possible build errors:
  0001-control.h-Fix-ump-header-file-detection.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1694260800">- Upstream fix backport:
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
- Upstream fix for PCM segfault regression (bsc#1215167):
  0003-pcm-Fix-segfault-with-32bit-libs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1695038400">- More upstream fix for incosistent compile conditions:
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1696939200">- Fix symbol version:
  0005-seq-Fix-typos-in-symbol-version-definitions.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1699358400">- Backport upstream fixes for sequencer and mixer:
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch
- Clean up spec file</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Updated to alsa-lib 1.2.11:
  * auto-tools fixes, versioned symbol fixes
  * support dB TLVs for single controls
  * various PCM updates, including subformat extensions
  * UMP and sequencer API fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-lib
- Dropped obsoleted patches:
  0001-control.h-Fix-ump-header-file-detection.patch
  0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
  0003-pcm-Fix-segfault-with-32bit-libs.patch
  0004-reshuffle-included-files-to-include-config.h-as-firs.patch
  0005-seq-Fix-typos-in-symbol-version-definitions.patch
  0006-seq-Fix-invalid-sanity-check-in-snd_seq_set_input_bu.patch
  0007-mixer-simple-Support-dB-TLVs-for-CTL_SINGLE-controls.patch
  0008-seq-Clear-UMP-event-flag-for-legacy-apps.patch
  0009-seq-Simplify-snd_seq_extract_output.patch
  0010-seq-Check-protocol-compatibility-with-the-current-ve.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-lib 1.2.12:
  * pcm: plug support for iec958 subframe samples
  * pcm: ladspa - Skip missing ladspa directories
  * topology: correct version script path
  * ucm: define and describe Syntax 7
  * async handler cleanup fix
  * conf updates
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-lib</changelog>
</package>
<package pkgid="b30de50d4e62ea60f233fab9bae9fc8f29903734abc0a23460a2365ea8a56d3c9041cab19800d3c7f32d0a9e5e97e74e7154b02c29b7b0ce8cd21110464c85f0" name="alsa-ucm-conf" arch="noarch">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1609848000">- Backport upstream fixes: HD-audio dual codec fixes and the builtin
  mic fix for rt5645-based devices:
  0010-HDA-Intel-HiFi-dual-Add-EnableSequence-and-DisableSe.patch
  0011-HDA-Intel-HiFi-dual-Add-BootSequence-and-disable-pla.patch
  0012-chtrt5645-Enable-Internal-MIC-of-ECS-EF20EA.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  more Baytrail/Cherrytrail profiles, TRX40 / ALC1220-VLC profiles:
  0013-bytcr-rt5640-Add-support-for-devices-without-speaker.patch
  0014-rt5640-Move-standard-DAC-setup-to-EnableSeq.conf.patch
  0015-bytcr-rt5640-fix-the-execution-order.patch
  0016-ucm2-add-initial-configuration-for-TRX40-Gigabyte-Ao.patch
  0017-USB-Audio-ALC1220-Bump-analog-Speaker-priority-over-.patch
  0018-USB-Audio-ALC1220-fix-indentation-for-Speaker-device.patch
  0019-USB-Audio-fix-indentation-in-Gigabyte-Aorus-Master-M.patch
  0020-chtnau8824-Add-a-SST-define-variable.patch
  0021-kblrt5660-Fix-file-permissions.patch
- Run fdupes to reduce the duplicated files</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * tegra: Add UCM for more devices
  * codecs/rt5640: Make headset optional
  * rt715: add mic led support
  * bytcr-rt5640: Add support for controlling a speaker-mute LED
  * cht-bsw-rt5672: Add support for controlling speaker- and
    mic-mute LEDs, Add support for the components string
  * ucm2: add support to for Qualcomm RB5 Platform
  * codecs/rt5672: Add hardware volume-control support
  * codecs/rt5640: Add hardware volume-control support
  * bytcr-wm5102: Add new UCM profile for BYT boards with a WM5102 codec
  * bytcr-rt5640: Add support for devices without speakers and/or
    an internal mic
  * chtrt5645: Enable Internal MIC of ECS EF20EA
  * chtnau8824: Add support for laptops using stereo DMICs and fix
    mono speaker config not working
  * Full changes:
    https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-ucm-conf
- Drop upstream fixes
  * 0001-fix-the-ucm2-codecs-hda-hdmi.conf-use.patch
  * 0002-codecs-hda-hdmi.conf-add-DisplayPort-to-the-device-d.patch
  * 0003-sof-soundwire-use-the-codecs-hda-hdmi.conf-macro.patch
  * 0004-Revert-ucm2-HDA-acp-add-Capture-simple-mixer-element.patch
  * 0005-chtnau8824-Fix-mono-speaker-config-not-working.patch
  * 0006-chtnau8824-Add-support-for-laptops-using-stereo-DMIC.patch
  * 0007-chtnau8824-Boost-analog-mic-volumes-a-bit.patch
  * 0008-rt715-init-setup-ADC07-to-a-proper-volume.patch
  * 0009-sof-hda-dsp-Set-Master-Playback-Switch-on-in-the-Boo.patch
  * 0010-HDA-Intel-HiFi-dual-Add-EnableSequence-and-DisableSe.patch
  * 0011-HDA-Intel-HiFi-dual-Add-BootSequence-and-disable-pla.patch
  * 0012-chtrt5645-Enable-Internal-MIC-of-ECS-EF20EA.patch
  * 0013-bytcr-rt5640-Add-support-for-devices-without-speaker.patch
  * 0014-rt5640-Move-standard-DAC-setup-to-EnableSeq.conf.patch
  * 0015-bytcr-rt5640-fix-the-execution-order.patch
  * 0016-ucm2-add-initial-configuration-for-TRX40-Gigabyte-Ao.patch
  * 0017-USB-Audio-ALC1220-Bump-analog-Speaker-priority-over-.patch
  * 0018-USB-Audio-ALC1220-fix-indentation-for-Speaker-device.patch
  * 0019-USB-Audio-fix-indentation-in-Gigabyte-Aorus-Master-M.patch
  * 0020-chtnau8824-Add-a-SST-define-variable.patch
  * 0021-kblrt5660-Fix-file-permissions.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix for HDA config lookup (boo#1187079):
  0001-HDA-Intel-the-lookups-are-supported-from-syntax-4.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a small bugfix release, including the previous patch
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patch:
  0001-HDA-Intel-the-lookups-are-supported-from-syntax-4.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  various profile updates.  See URL below for details:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-ucm-conf
- Add *.sig file for the tarball
- Explicit Requires for the libasound2 with the same or newer
  version</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * acp: fix linked configuration
  * ucm2: Add support for SC7180 Trogdor Lazor Chromebooks
  * USB-Audio: fix the wrong condition type for If.realtek-alc1220-vb
- More a couple of upstream fixes for forgotten conversions:
  0001-sof-hda-dsp-fix-path-to-Hdmi.conf.patch
  0002-bytcht-es8316-fix-Include-paths-in-HiFi.conf.patch</changelog>
  <changelog author="tiwai@suse.de" date="1639137601">- Update to version 1.2.6.2:
  a minor fix release, just includnig ther previous fixes
- Drop obsoleted patches
  0001-sof-hda-dsp-fix-path-to-Hdmi.conf.patch
  0002-bytcht-es8316-fix-Include-paths-in-HiFi.conf.patch</changelog>
  <changelog author="tiwai@suse.de" date="1640520000">- Update to version 1.2.6.3:
  * ucm2/Qualcomm/apq8096: Change plughw to hw to access card
  * ucm2/Qualcomm/apq8016-sbc: Change plughw to hw to access card
  * ucm2: Add support for RT5650 on MediaTek SoCs
  * sof-soundwire: use absolute path in SectionUseCase</changelog>
  <changelog author="tiwai@suse.de" date="1640865600">- Fix a regression in HDA-DualCodecs:
  0001-HDA-DualCodecs-fix-typo-in-Speaker-condition.patch</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix regression for AMD ACP LED control:
  0002-HDA-acp-avoid-to-create-Mic-ACP-LED-control-for-the-.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  Various profile updates for USB-audio, HD-audio, etc.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-ucm-conf
- Drop obsoleted patches:
  0001-HDA-DualCodecs-fix-typo-in-Speaker-condition.patch
  0002-HDA-acp-avoid-to-create-Mic-ACP-LED-control-for-the-.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for Steinberg UR44:
  0001-Steinberg-UR44-fix-the-Line2-channel-mapping.patch
  0002-Steinberg-UR44-fix-the-Line2-channel-mapping-2nd.patch
  0003-Steinberg-UR44-fix-the-direction-for-steinberg_ur44_.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  updates of various device-specific profiles.  For details, see
  https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-ucm-conf
- Drop obsoleted patches:
  0001-Steinberg-UR44-fix-the-Line2-channel-mapping.patch
  0002-Steinberg-UR44-fix-the-Line2-channel-mapping-2nd.patch
  0003-Steinberg-UR44-fix-the-direction-for-steinberg_ur44_.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2:
    updates of various device-specific profiles.  For details, see
  https://www.alsa-project.org/wiki/Changes_v1.2.7.1_v1.2.7.2#alsa-ucm-conf</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  lots of new profiles for USB-audio, SOF and others:
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  various profile updates for USB-audio, SOF and others.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-ucm-conf</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * updates / fixes for various devices: mtk-rt5650, usb-audio, tegra
    es8316, sof-essx8336, pinephone, Steinberg UR44C, AMD ACP RPL,
    ACP63, sof-hda-dsp, etc
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-ucm-conf
- Upstream regression fix:
  0001-SplitPCM-Device-argument-may-not-be-set.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to version 1.2.11:
  * Qualcomm, Mediatek, SOF soundwire, and various USB-audio profiles
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-ucm-conf
- Drop obsoleted patch:
  0001-SplitPCM-Device-argument-may-not-be-set.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to version 1.2.12:
  * Various updates for codecs, soundwire and SOF devices
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-ucm-conf</changelog>
</package>
<package pkgid="5e59ba5c383e727509935c9dde84dc4bdefe699036a78c1856fbf686ecc0a2f9acd34044150f9c674f94fc4f3c9e6890ebfaef249d300edcb01dfc98689a1cb1" name="alsa-ucm-conf" arch="src">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1609848000">- Backport upstream fixes: HD-audio dual codec fixes and the builtin
  mic fix for rt5645-based devices:
  0010-HDA-Intel-HiFi-dual-Add-EnableSequence-and-DisableSe.patch
  0011-HDA-Intel-HiFi-dual-Add-BootSequence-and-disable-pla.patch
  0012-chtrt5645-Enable-Internal-MIC-of-ECS-EF20EA.patch</changelog>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  more Baytrail/Cherrytrail profiles, TRX40 / ALC1220-VLC profiles:
  0013-bytcr-rt5640-Add-support-for-devices-without-speaker.patch
  0014-rt5640-Move-standard-DAC-setup-to-EnableSeq.conf.patch
  0015-bytcr-rt5640-fix-the-execution-order.patch
  0016-ucm2-add-initial-configuration-for-TRX40-Gigabyte-Ao.patch
  0017-USB-Audio-ALC1220-Bump-analog-Speaker-priority-over-.patch
  0018-USB-Audio-ALC1220-fix-indentation-for-Speaker-device.patch
  0019-USB-Audio-fix-indentation-in-Gigabyte-Aorus-Master-M.patch
  0020-chtnau8824-Add-a-SST-define-variable.patch
  0021-kblrt5660-Fix-file-permissions.patch
- Run fdupes to reduce the duplicated files</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622462400">- Update to version 1.2.5
  * tegra: Add UCM for more devices
  * codecs/rt5640: Make headset optional
  * rt715: add mic led support
  * bytcr-rt5640: Add support for controlling a speaker-mute LED
  * cht-bsw-rt5672: Add support for controlling speaker- and
    mic-mute LEDs, Add support for the components string
  * ucm2: add support to for Qualcomm RB5 Platform
  * codecs/rt5672: Add hardware volume-control support
  * codecs/rt5640: Add hardware volume-control support
  * bytcr-wm5102: Add new UCM profile for BYT boards with a WM5102 codec
  * bytcr-rt5640: Add support for devices without speakers and/or
    an internal mic
  * chtrt5645: Enable Internal MIC of ECS EF20EA
  * chtnau8824: Add support for laptops using stereo DMICs and fix
    mono speaker config not working
  * Full changes:
    https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-ucm-conf
- Drop upstream fixes
  * 0001-fix-the-ucm2-codecs-hda-hdmi.conf-use.patch
  * 0002-codecs-hda-hdmi.conf-add-DisplayPort-to-the-device-d.patch
  * 0003-sof-soundwire-use-the-codecs-hda-hdmi.conf-macro.patch
  * 0004-Revert-ucm2-HDA-acp-add-Capture-simple-mixer-element.patch
  * 0005-chtnau8824-Fix-mono-speaker-config-not-working.patch
  * 0006-chtnau8824-Add-support-for-laptops-using-stereo-DMIC.patch
  * 0007-chtnau8824-Boost-analog-mic-volumes-a-bit.patch
  * 0008-rt715-init-setup-ADC07-to-a-proper-volume.patch
  * 0009-sof-hda-dsp-Set-Master-Playback-Switch-on-in-the-Boo.patch
  * 0010-HDA-Intel-HiFi-dual-Add-EnableSequence-and-DisableSe.patch
  * 0011-HDA-Intel-HiFi-dual-Add-BootSequence-and-disable-pla.patch
  * 0012-chtrt5645-Enable-Internal-MIC-of-ECS-EF20EA.patch
  * 0013-bytcr-rt5640-Add-support-for-devices-without-speaker.patch
  * 0014-rt5640-Move-standard-DAC-setup-to-EnableSeq.conf.patch
  * 0015-bytcr-rt5640-fix-the-execution-order.patch
  * 0016-ucm2-add-initial-configuration-for-TRX40-Gigabyte-Ao.patch
  * 0017-USB-Audio-ALC1220-Bump-analog-Speaker-priority-over-.patch
  * 0018-USB-Audio-ALC1220-fix-indentation-for-Speaker-device.patch
  * 0019-USB-Audio-fix-indentation-in-Gigabyte-Aorus-Master-M.patch
  * 0020-chtnau8824-Add-a-SST-define-variable.patch
  * 0021-kblrt5660-Fix-file-permissions.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623240000">- Fix for HDA config lookup (boo#1187079):
  0001-HDA-Intel-the-lookups-are-supported-from-syntax-4.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to version 1.2.5.1:
  a small bugfix release, including the previous patch
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patch:
  0001-HDA-Intel-the-lookups-are-supported-from-syntax-4.patch</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to version 1.2.6:
  various profile updates.  See URL below for details:
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-ucm-conf
- Add *.sig file for the tarball
- Explicit Requires for the libasound2 with the same or newer
  version</changelog>
  <changelog author="tiwai@suse.de" date="1639137600">- Update to version 1.2.6.1:
  a minor fix release:
  * acp: fix linked configuration
  * ucm2: Add support for SC7180 Trogdor Lazor Chromebooks
  * USB-Audio: fix the wrong condition type for If.realtek-alc1220-vb
- More a couple of upstream fixes for forgotten conversions:
  0001-sof-hda-dsp-fix-path-to-Hdmi.conf.patch
  0002-bytcht-es8316-fix-Include-paths-in-HiFi.conf.patch</changelog>
  <changelog author="tiwai@suse.de" date="1639137601">- Update to version 1.2.6.2:
  a minor fix release, just includnig ther previous fixes
- Drop obsoleted patches
  0001-sof-hda-dsp-fix-path-to-Hdmi.conf.patch
  0002-bytcht-es8316-fix-Include-paths-in-HiFi.conf.patch</changelog>
  <changelog author="tiwai@suse.de" date="1640520000">- Update to version 1.2.6.3:
  * ucm2/Qualcomm/apq8096: Change plughw to hw to access card
  * ucm2/Qualcomm/apq8016-sbc: Change plughw to hw to access card
  * ucm2: Add support for RT5650 on MediaTek SoCs
  * sof-soundwire: use absolute path in SectionUseCase</changelog>
  <changelog author="tiwai@suse.de" date="1640865600">- Fix a regression in HDA-DualCodecs:
  0001-HDA-DualCodecs-fix-typo-in-Speaker-condition.patch</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix regression for AMD ACP LED control:
  0002-HDA-acp-avoid-to-create-Mic-ACP-LED-control-for-the-.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to version 1.2.7:
  Various profile updates for USB-audio, HD-audio, etc.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-ucm-conf
- Drop obsoleted patches:
  0001-HDA-DualCodecs-fix-typo-in-Speaker-condition.patch
  0002-HDA-acp-avoid-to-create-Mic-ACP-LED-control-for-the-.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654516800">- Backport upstream fixes for Steinberg UR44:
  0001-Steinberg-UR44-fix-the-Line2-channel-mapping.patch
  0002-Steinberg-UR44-fix-the-Line2-channel-mapping-2nd.patch
  0003-Steinberg-UR44-fix-the-direction-for-steinberg_ur44_.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1655726400">- Update to version 1.2.7.1:
  updates of various device-specific profiles.  For details, see
  https://www.alsa-project.org/wiki/Changes_v1.2.7_v1.2.7.1#alsa-ucm-conf
- Drop obsoleted patches:
  0001-Steinberg-UR44-fix-the-Line2-channel-mapping.patch
  0002-Steinberg-UR44-fix-the-Line2-channel-mapping-2nd.patch
  0003-Steinberg-UR44-fix-the-direction-for-steinberg_ur44_.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1658145600">- Update to version 1.2.7.2:
    updates of various device-specific profiles.  For details, see
  https://www.alsa-project.org/wiki/Changes_v1.2.7.1_v1.2.7.2#alsa-ucm-conf</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to version 1.2.8 (jsc#PED-850):
  lots of new profiles for USB-audio, SOF and others:
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to version 1.2.9:
  various profile updates for USB-audio, SOF and others.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-ucm-conf</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to version 1.2.10 (jsc#PED-6566):
  * updates / fixes for various devices: mtk-rt5650, usb-audio, tegra
    es8316, sof-essx8336, pinephone, Steinberg UR44C, AMD ACP RPL,
    ACP63, sof-hda-dsp, etc
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-ucm-conf
- Upstream regression fix:
  0001-SplitPCM-Device-argument-may-not-be-set.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to version 1.2.11:
  * Qualcomm, Mediatek, SOF soundwire, and various USB-audio profiles
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-ucm-conf
- Drop obsoleted patch:
  0001-SplitPCM-Device-argument-may-not-be-set.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to version 1.2.12:
  * Various updates for codecs, soundwire and SOF devices
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-ucm-conf</changelog>
</package>
<package pkgid="5c884882ab5bd693fbe4eb862eec97178f4f686c473e1c837ea96bac018ae49d35ba867f17b17598dcc724f6026706c4433786f3ac6afb8443ebe3472c26840f" name="alsa-utils" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  various fixes in aplay, alsamixer, alsactl and alsaloop, updated
  translations, etc:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="tiwai@suse.de" date="1616068800">- Fix superfluous asound.state migration (bsc#1183672)</changelog>
  <changelog author="tiwai@suse.de" date="1619438400">- Suppress automatic update of alsa-info.sh (bsc#1185280):
  alsa-info-no-update-for-distro-script.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to alsa-utils 1.2.5:
  a major version up, including previous patches
  https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5
- Update to alsa-utils 1.2.5.1:
  a small bugfix release
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patches:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627473600">- Added hardening to systemd service(s). Modified:
  * sound-extra.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to alsa-utils 1.2.6:
  various updates / fixes for alsactl, amidi, alsaloop, alsamixer,
  alsatplg, amixer, aplay and aseqnet.  Details are found in
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-utils
- Update the download URL
- Add *.sig file for the tarball</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch</changelog>
  <changelog author="tiwai@suse.de" date="1643371200">- Fix the broken mouse support on alsamixer:
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to alsa-utils 1.2.7:
  Enhancement and fixes of alsactl, speaker-test cleanup,
  alsatplg enhancements, arecord ghost data fix, etc.
  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-utils
- Drop obsoleted patches:
  0001-alsamixer-Fix-regression-in-color-setup.patch
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to alsa-utils 1.2.8 (jsc#PED-850):
  automake update, minor alsactl, amixer and aplay fixes.
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to alsa-utils 1.2.9:
  BSD build fix, and various updates for alsactl, amidi, axfer,
  alsa-info.sh, alsaloop, alsatplg, alsaucm, aplay, abat.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-utils</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to alsa-utils 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 / UMP support for sequencer programs
  * nhlt: add nhlt-dmic-info utility
  * Build fixes and cleanups
  * speaker-test: allow large buffer and period time setup - up to 100 seconds
  * various topology fixes
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-utils
- Fix the builds with old gcc:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1704715200">- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to alsa-utils 1.2.11:
  * alsactl buffer overflow fix
  * alsatplg updates, NHLT ACPI parser updates
  * use smaller periods for speaker-test
  * add bandwidth-limited pink noise for speaker-test
  * aplay updates, including subformat extensions
  * compile warning fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
- Drop obsoleted patches:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1717070400">- Require tree which is used by alsa-info.sh (bsc#1225665)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-utils 1.2.12:
  * alsactl: NULL pointer fix
  * alsa-info.sh: log SoundWire devices reported in ACPI
  * alsamixer: fix calculation in set_normalized_volume (overflow)
  * topology: nhlt fixes
  * aplay: fix S24_LE wav header
  * aseqdump: Add dump for UMP Utility and System messages
  * Addition of aseqsend
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-utils</changelog>
</package>
<package pkgid="08c8df4f10d97ec5d952296bcead33d0def5aa5ce2ed1f1d349bb7f2e083ee14e674ad426369c93ed175bdd8b879ee762eba86f6276685da1579160f1f3ab8c0" name="alsa-utils" arch="src">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1603281600">- Update to alsa-utils 1.2.3:
  alsactl extension for disabling UCM, alsa-info.sh enhancements,
  various fixes and documentation updates.
  See details in
    https://alsa-project.org/wiki/Changes_v1.2.3.2_v1.2.4</changelog>
  <changelog author="tiwai@suse.de" date="1607688000">- Fix alsactl restore behavior during locking (boo#1179904):
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
- Remove unnecessary condition for alsa-restore.service
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
- Fix dependency in sound-extra.service</changelog>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  various fixes in aplay, alsamixer, alsactl and alsaloop, updated
  translations, etc:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="tiwai@suse.de" date="1616068800">- Fix superfluous asound.state migration (bsc#1183672)</changelog>
  <changelog author="tiwai@suse.de" date="1619438400">- Suppress automatic update of alsa-info.sh (bsc#1185280):
  alsa-info-no-update-for-distro-script.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to alsa-utils 1.2.5:
  a major version up, including previous patches
  https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5
- Update to alsa-utils 1.2.5.1:
  a small bugfix release
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patches:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627473600">- Added hardening to systemd service(s). Modified:
  * sound-extra.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to alsa-utils 1.2.6:
  various updates / fixes for alsactl, amidi, alsaloop, alsamixer,
  alsatplg, amixer, aplay and aseqnet.  Details are found in
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-utils
- Update the download URL
- Add *.sig file for the tarball</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch</changelog>
  <changelog author="tiwai@suse.de" date="1643371200">- Fix the broken mouse support on alsamixer:
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to alsa-utils 1.2.7:
  Enhancement and fixes of alsactl, speaker-test cleanup,
  alsatplg enhancements, arecord ghost data fix, etc.
  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-utils
- Drop obsoleted patches:
  0001-alsamixer-Fix-regression-in-color-setup.patch
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to alsa-utils 1.2.8 (jsc#PED-850):
  automake update, minor alsactl, amixer and aplay fixes.
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to alsa-utils 1.2.9:
  BSD build fix, and various updates for alsactl, amidi, axfer,
  alsa-info.sh, alsaloop, alsatplg, alsaucm, aplay, abat.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-utils</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to alsa-utils 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 / UMP support for sequencer programs
  * nhlt: add nhlt-dmic-info utility
  * Build fixes and cleanups
  * speaker-test: allow large buffer and period time setup - up to 100 seconds
  * various topology fixes
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-utils
- Fix the builds with old gcc:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1704715200">- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to alsa-utils 1.2.11:
  * alsactl buffer overflow fix
  * alsatplg updates, NHLT ACPI parser updates
  * use smaller periods for speaker-test
  * add bandwidth-limited pink noise for speaker-test
  * aplay updates, including subformat extensions
  * compile warning fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
- Drop obsoleted patches:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1717070400">- Require tree which is used by alsa-info.sh (bsc#1225665)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-utils 1.2.12:
  * alsactl: NULL pointer fix
  * alsa-info.sh: log SoundWire devices reported in ACPI
  * alsamixer: fix calculation in set_normalized_volume (overflow)
  * topology: nhlt fixes
  * aplay: fix S24_LE wav header
  * aseqdump: Add dump for UMP Utility and System messages
  * Addition of aseqsend
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-utils</changelog>
</package>
<package pkgid="9cbe7a8b5591938aa319dae56f48c2b67bb494c2754e957156f3bf8c925da3476400153fdff7229991efe4e2c0ea4569879d9d77ea43bbba12cfc371476e32f3" name="alsa-utils" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  various fixes in aplay, alsamixer, alsactl and alsaloop, updated
  translations, etc:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="tiwai@suse.de" date="1616068800">- Fix superfluous asound.state migration (bsc#1183672)</changelog>
  <changelog author="tiwai@suse.de" date="1619438400">- Suppress automatic update of alsa-info.sh (bsc#1185280):
  alsa-info-no-update-for-distro-script.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to alsa-utils 1.2.5:
  a major version up, including previous patches
  https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5
- Update to alsa-utils 1.2.5.1:
  a small bugfix release
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patches:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627473600">- Added hardening to systemd service(s). Modified:
  * sound-extra.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to alsa-utils 1.2.6:
  various updates / fixes for alsactl, amidi, alsaloop, alsamixer,
  alsatplg, amixer, aplay and aseqnet.  Details are found in
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-utils
- Update the download URL
- Add *.sig file for the tarball</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch</changelog>
  <changelog author="tiwai@suse.de" date="1643371200">- Fix the broken mouse support on alsamixer:
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to alsa-utils 1.2.7:
  Enhancement and fixes of alsactl, speaker-test cleanup,
  alsatplg enhancements, arecord ghost data fix, etc.
  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-utils
- Drop obsoleted patches:
  0001-alsamixer-Fix-regression-in-color-setup.patch
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to alsa-utils 1.2.8 (jsc#PED-850):
  automake update, minor alsactl, amixer and aplay fixes.
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to alsa-utils 1.2.9:
  BSD build fix, and various updates for alsactl, amidi, axfer,
  alsa-info.sh, alsaloop, alsatplg, alsaucm, aplay, abat.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-utils</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to alsa-utils 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 / UMP support for sequencer programs
  * nhlt: add nhlt-dmic-info utility
  * Build fixes and cleanups
  * speaker-test: allow large buffer and period time setup - up to 100 seconds
  * various topology fixes
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-utils
- Fix the builds with old gcc:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1704715200">- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to alsa-utils 1.2.11:
  * alsactl buffer overflow fix
  * alsatplg updates, NHLT ACPI parser updates
  * use smaller periods for speaker-test
  * add bandwidth-limited pink noise for speaker-test
  * aplay updates, including subformat extensions
  * compile warning fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
- Drop obsoleted patches:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1717070400">- Require tree which is used by alsa-info.sh (bsc#1225665)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-utils 1.2.12:
  * alsactl: NULL pointer fix
  * alsa-info.sh: log SoundWire devices reported in ACPI
  * alsamixer: fix calculation in set_normalized_volume (overflow)
  * topology: nhlt fixes
  * aplay: fix S24_LE wav header
  * aseqdump: Add dump for UMP Utility and System messages
  * Addition of aseqsend
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-utils</changelog>
</package>
<package pkgid="bb8db0fbf0aec78b70f128de0bacd327b1c5d6768a7b2f275fda969984844cd630f9fa27cb20238334ade172c96e23f960762c21f02bd606cfd7389e0bd50ea8" name="alsa-utils-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  various fixes in aplay, alsamixer, alsactl and alsaloop, updated
  translations, etc:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="tiwai@suse.de" date="1616068800">- Fix superfluous asound.state migration (bsc#1183672)</changelog>
  <changelog author="tiwai@suse.de" date="1619438400">- Suppress automatic update of alsa-info.sh (bsc#1185280):
  alsa-info-no-update-for-distro-script.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to alsa-utils 1.2.5:
  a major version up, including previous patches
  https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5
- Update to alsa-utils 1.2.5.1:
  a small bugfix release
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patches:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627473600">- Added hardening to systemd service(s). Modified:
  * sound-extra.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to alsa-utils 1.2.6:
  various updates / fixes for alsactl, amidi, alsaloop, alsamixer,
  alsatplg, amixer, aplay and aseqnet.  Details are found in
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-utils
- Update the download URL
- Add *.sig file for the tarball</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch</changelog>
  <changelog author="tiwai@suse.de" date="1643371200">- Fix the broken mouse support on alsamixer:
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to alsa-utils 1.2.7:
  Enhancement and fixes of alsactl, speaker-test cleanup,
  alsatplg enhancements, arecord ghost data fix, etc.
  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-utils
- Drop obsoleted patches:
  0001-alsamixer-Fix-regression-in-color-setup.patch
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to alsa-utils 1.2.8 (jsc#PED-850):
  automake update, minor alsactl, amixer and aplay fixes.
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to alsa-utils 1.2.9:
  BSD build fix, and various updates for alsactl, amidi, axfer,
  alsa-info.sh, alsaloop, alsatplg, alsaucm, aplay, abat.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-utils</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to alsa-utils 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 / UMP support for sequencer programs
  * nhlt: add nhlt-dmic-info utility
  * Build fixes and cleanups
  * speaker-test: allow large buffer and period time setup - up to 100 seconds
  * various topology fixes
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-utils
- Fix the builds with old gcc:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1704715200">- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to alsa-utils 1.2.11:
  * alsactl buffer overflow fix
  * alsatplg updates, NHLT ACPI parser updates
  * use smaller periods for speaker-test
  * add bandwidth-limited pink noise for speaker-test
  * aplay updates, including subformat extensions
  * compile warning fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
- Drop obsoleted patches:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1717070400">- Require tree which is used by alsa-info.sh (bsc#1225665)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-utils 1.2.12:
  * alsactl: NULL pointer fix
  * alsa-info.sh: log SoundWire devices reported in ACPI
  * alsamixer: fix calculation in set_normalized_volume (overflow)
  * topology: nhlt fixes
  * aplay: fix S24_LE wav header
  * aseqdump: Add dump for UMP Utility and System messages
  * Addition of aseqsend
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-utils</changelog>
</package>
<package pkgid="cce4ff502a43b8890091a94531ee84e4df247c14f52ff3a5e6effc4cd11b205cc0c7aee45758af698f1db05c8b860f4be34ab0702a03461646d912980d4f631e" name="alsa-utils-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  various fixes in aplay, alsamixer, alsactl and alsaloop, updated
  translations, etc:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="tiwai@suse.de" date="1616068800">- Fix superfluous asound.state migration (bsc#1183672)</changelog>
  <changelog author="tiwai@suse.de" date="1619438400">- Suppress automatic update of alsa-info.sh (bsc#1185280):
  alsa-info-no-update-for-distro-script.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to alsa-utils 1.2.5:
  a major version up, including previous patches
  https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5
- Update to alsa-utils 1.2.5.1:
  a small bugfix release
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patches:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627473600">- Added hardening to systemd service(s). Modified:
  * sound-extra.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to alsa-utils 1.2.6:
  various updates / fixes for alsactl, amidi, alsaloop, alsamixer,
  alsatplg, amixer, aplay and aseqnet.  Details are found in
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-utils
- Update the download URL
- Add *.sig file for the tarball</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch</changelog>
  <changelog author="tiwai@suse.de" date="1643371200">- Fix the broken mouse support on alsamixer:
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to alsa-utils 1.2.7:
  Enhancement and fixes of alsactl, speaker-test cleanup,
  alsatplg enhancements, arecord ghost data fix, etc.
  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-utils
- Drop obsoleted patches:
  0001-alsamixer-Fix-regression-in-color-setup.patch
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to alsa-utils 1.2.8 (jsc#PED-850):
  automake update, minor alsactl, amixer and aplay fixes.
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to alsa-utils 1.2.9:
  BSD build fix, and various updates for alsactl, amidi, axfer,
  alsa-info.sh, alsaloop, alsatplg, alsaucm, aplay, abat.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-utils</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to alsa-utils 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 / UMP support for sequencer programs
  * nhlt: add nhlt-dmic-info utility
  * Build fixes and cleanups
  * speaker-test: allow large buffer and period time setup - up to 100 seconds
  * various topology fixes
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-utils
- Fix the builds with old gcc:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1704715200">- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to alsa-utils 1.2.11:
  * alsactl buffer overflow fix
  * alsatplg updates, NHLT ACPI parser updates
  * use smaller periods for speaker-test
  * add bandwidth-limited pink noise for speaker-test
  * aplay updates, including subformat extensions
  * compile warning fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
- Drop obsoleted patches:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1717070400">- Require tree which is used by alsa-info.sh (bsc#1225665)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-utils 1.2.12:
  * alsactl: NULL pointer fix
  * alsa-info.sh: log SoundWire devices reported in ACPI
  * alsamixer: fix calculation in set_normalized_volume (overflow)
  * topology: nhlt fixes
  * aplay: fix S24_LE wav header
  * aseqdump: Add dump for UMP Utility and System messages
  * Addition of aseqsend
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-utils</changelog>
</package>
<package pkgid="08ccbe11557ee1524179122cc6a585123857b3746d18ac3c142df84abf8aac49cb81cfd7f8386a24d123420a96ff8c5528cd42f9f390d49c3bb15c91bf3932b7" name="alsa-utils-debugsource" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  various fixes in aplay, alsamixer, alsactl and alsaloop, updated
  translations, etc:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="tiwai@suse.de" date="1616068800">- Fix superfluous asound.state migration (bsc#1183672)</changelog>
  <changelog author="tiwai@suse.de" date="1619438400">- Suppress automatic update of alsa-info.sh (bsc#1185280):
  alsa-info-no-update-for-distro-script.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to alsa-utils 1.2.5:
  a major version up, including previous patches
  https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5
- Update to alsa-utils 1.2.5.1:
  a small bugfix release
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patches:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627473600">- Added hardening to systemd service(s). Modified:
  * sound-extra.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to alsa-utils 1.2.6:
  various updates / fixes for alsactl, amidi, alsaloop, alsamixer,
  alsatplg, amixer, aplay and aseqnet.  Details are found in
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-utils
- Update the download URL
- Add *.sig file for the tarball</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch</changelog>
  <changelog author="tiwai@suse.de" date="1643371200">- Fix the broken mouse support on alsamixer:
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to alsa-utils 1.2.7:
  Enhancement and fixes of alsactl, speaker-test cleanup,
  alsatplg enhancements, arecord ghost data fix, etc.
  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-utils
- Drop obsoleted patches:
  0001-alsamixer-Fix-regression-in-color-setup.patch
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to alsa-utils 1.2.8 (jsc#PED-850):
  automake update, minor alsactl, amixer and aplay fixes.
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to alsa-utils 1.2.9:
  BSD build fix, and various updates for alsactl, amidi, axfer,
  alsa-info.sh, alsaloop, alsatplg, alsaucm, aplay, abat.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-utils</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to alsa-utils 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 / UMP support for sequencer programs
  * nhlt: add nhlt-dmic-info utility
  * Build fixes and cleanups
  * speaker-test: allow large buffer and period time setup - up to 100 seconds
  * various topology fixes
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-utils
- Fix the builds with old gcc:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1704715200">- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to alsa-utils 1.2.11:
  * alsactl buffer overflow fix
  * alsatplg updates, NHLT ACPI parser updates
  * use smaller periods for speaker-test
  * add bandwidth-limited pink noise for speaker-test
  * aplay updates, including subformat extensions
  * compile warning fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
- Drop obsoleted patches:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1717070400">- Require tree which is used by alsa-info.sh (bsc#1225665)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-utils 1.2.12:
  * alsactl: NULL pointer fix
  * alsa-info.sh: log SoundWire devices reported in ACPI
  * alsamixer: fix calculation in set_normalized_volume (overflow)
  * topology: nhlt fixes
  * aplay: fix S24_LE wav header
  * aseqdump: Add dump for UMP Utility and System messages
  * Addition of aseqsend
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-utils</changelog>
</package>
<package pkgid="9efc071a109d31ee4adb3d43703c3eaaf470fa00d316dd7b80cdc2bf1a0e4cd4f34b23062b4b53df5067dbf010cdd6820fbb3886b6db432fc12f4e117bbdb68d" name="alsa-utils-debugsource" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  various fixes in aplay, alsamixer, alsactl and alsaloop, updated
  translations, etc:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="tiwai@suse.de" date="1616068800">- Fix superfluous asound.state migration (bsc#1183672)</changelog>
  <changelog author="tiwai@suse.de" date="1619438400">- Suppress automatic update of alsa-info.sh (bsc#1185280):
  alsa-info-no-update-for-distro-script.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to alsa-utils 1.2.5:
  a major version up, including previous patches
  https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5
- Update to alsa-utils 1.2.5.1:
  a small bugfix release
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patches:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627473600">- Added hardening to systemd service(s). Modified:
  * sound-extra.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to alsa-utils 1.2.6:
  various updates / fixes for alsactl, amidi, alsaloop, alsamixer,
  alsatplg, amixer, aplay and aseqnet.  Details are found in
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-utils
- Update the download URL
- Add *.sig file for the tarball</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch</changelog>
  <changelog author="tiwai@suse.de" date="1643371200">- Fix the broken mouse support on alsamixer:
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to alsa-utils 1.2.7:
  Enhancement and fixes of alsactl, speaker-test cleanup,
  alsatplg enhancements, arecord ghost data fix, etc.
  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-utils
- Drop obsoleted patches:
  0001-alsamixer-Fix-regression-in-color-setup.patch
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to alsa-utils 1.2.8 (jsc#PED-850):
  automake update, minor alsactl, amixer and aplay fixes.
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to alsa-utils 1.2.9:
  BSD build fix, and various updates for alsactl, amidi, axfer,
  alsa-info.sh, alsaloop, alsatplg, alsaucm, aplay, abat.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-utils</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to alsa-utils 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 / UMP support for sequencer programs
  * nhlt: add nhlt-dmic-info utility
  * Build fixes and cleanups
  * speaker-test: allow large buffer and period time setup - up to 100 seconds
  * various topology fixes
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-utils
- Fix the builds with old gcc:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1704715200">- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to alsa-utils 1.2.11:
  * alsactl buffer overflow fix
  * alsatplg updates, NHLT ACPI parser updates
  * use smaller periods for speaker-test
  * add bandwidth-limited pink noise for speaker-test
  * aplay updates, including subformat extensions
  * compile warning fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
- Drop obsoleted patches:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1717070400">- Require tree which is used by alsa-info.sh (bsc#1225665)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-utils 1.2.12:
  * alsactl: NULL pointer fix
  * alsa-info.sh: log SoundWire devices reported in ACPI
  * alsamixer: fix calculation in set_normalized_volume (overflow)
  * topology: nhlt fixes
  * aplay: fix S24_LE wav header
  * aseqdump: Add dump for UMP Utility and System messages
  * Addition of aseqsend
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-utils</changelog>
</package>
<package pkgid="cd90601f1b93df65d0bb22d9ec470ea473f48d5e8e3a0e38080b3c7fc13201f559082f8c62123f0e1303455482acec079128301457da2acb9bbd6e6015685bcd" name="alsabat" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  various fixes in aplay, alsamixer, alsactl and alsaloop, updated
  translations, etc:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="tiwai@suse.de" date="1616068800">- Fix superfluous asound.state migration (bsc#1183672)</changelog>
  <changelog author="tiwai@suse.de" date="1619438400">- Suppress automatic update of alsa-info.sh (bsc#1185280):
  alsa-info-no-update-for-distro-script.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to alsa-utils 1.2.5:
  a major version up, including previous patches
  https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5
- Update to alsa-utils 1.2.5.1:
  a small bugfix release
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patches:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627473600">- Added hardening to systemd service(s). Modified:
  * sound-extra.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to alsa-utils 1.2.6:
  various updates / fixes for alsactl, amidi, alsaloop, alsamixer,
  alsatplg, amixer, aplay and aseqnet.  Details are found in
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-utils
- Update the download URL
- Add *.sig file for the tarball</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch</changelog>
  <changelog author="tiwai@suse.de" date="1643371200">- Fix the broken mouse support on alsamixer:
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to alsa-utils 1.2.7:
  Enhancement and fixes of alsactl, speaker-test cleanup,
  alsatplg enhancements, arecord ghost data fix, etc.
  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-utils
- Drop obsoleted patches:
  0001-alsamixer-Fix-regression-in-color-setup.patch
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to alsa-utils 1.2.8 (jsc#PED-850):
  automake update, minor alsactl, amixer and aplay fixes.
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to alsa-utils 1.2.9:
  BSD build fix, and various updates for alsactl, amidi, axfer,
  alsa-info.sh, alsaloop, alsatplg, alsaucm, aplay, abat.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-utils</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to alsa-utils 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 / UMP support for sequencer programs
  * nhlt: add nhlt-dmic-info utility
  * Build fixes and cleanups
  * speaker-test: allow large buffer and period time setup - up to 100 seconds
  * various topology fixes
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-utils
- Fix the builds with old gcc:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1704715200">- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to alsa-utils 1.2.11:
  * alsactl buffer overflow fix
  * alsatplg updates, NHLT ACPI parser updates
  * use smaller periods for speaker-test
  * add bandwidth-limited pink noise for speaker-test
  * aplay updates, including subformat extensions
  * compile warning fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
- Drop obsoleted patches:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1717070400">- Require tree which is used by alsa-info.sh (bsc#1225665)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-utils 1.2.12:
  * alsactl: NULL pointer fix
  * alsa-info.sh: log SoundWire devices reported in ACPI
  * alsamixer: fix calculation in set_normalized_volume (overflow)
  * topology: nhlt fixes
  * aplay: fix S24_LE wav header
  * aseqdump: Add dump for UMP Utility and System messages
  * Addition of aseqsend
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-utils</changelog>
</package>
<package pkgid="05a719cc7c494cb20535557f65dad1d19490f044900c33851349977c82f1392be9425332a7b460f205e06cd439c8c623d22f5a333ac823ada8487854c952a18d" name="alsabat" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  various fixes in aplay, alsamixer, alsactl and alsaloop, updated
  translations, etc:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="tiwai@suse.de" date="1616068800">- Fix superfluous asound.state migration (bsc#1183672)</changelog>
  <changelog author="tiwai@suse.de" date="1619438400">- Suppress automatic update of alsa-info.sh (bsc#1185280):
  alsa-info-no-update-for-distro-script.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to alsa-utils 1.2.5:
  a major version up, including previous patches
  https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5
- Update to alsa-utils 1.2.5.1:
  a small bugfix release
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patches:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627473600">- Added hardening to systemd service(s). Modified:
  * sound-extra.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to alsa-utils 1.2.6:
  various updates / fixes for alsactl, amidi, alsaloop, alsamixer,
  alsatplg, amixer, aplay and aseqnet.  Details are found in
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-utils
- Update the download URL
- Add *.sig file for the tarball</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch</changelog>
  <changelog author="tiwai@suse.de" date="1643371200">- Fix the broken mouse support on alsamixer:
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to alsa-utils 1.2.7:
  Enhancement and fixes of alsactl, speaker-test cleanup,
  alsatplg enhancements, arecord ghost data fix, etc.
  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-utils
- Drop obsoleted patches:
  0001-alsamixer-Fix-regression-in-color-setup.patch
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to alsa-utils 1.2.8 (jsc#PED-850):
  automake update, minor alsactl, amixer and aplay fixes.
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to alsa-utils 1.2.9:
  BSD build fix, and various updates for alsactl, amidi, axfer,
  alsa-info.sh, alsaloop, alsatplg, alsaucm, aplay, abat.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-utils</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to alsa-utils 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 / UMP support for sequencer programs
  * nhlt: add nhlt-dmic-info utility
  * Build fixes and cleanups
  * speaker-test: allow large buffer and period time setup - up to 100 seconds
  * various topology fixes
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-utils
- Fix the builds with old gcc:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1704715200">- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to alsa-utils 1.2.11:
  * alsactl buffer overflow fix
  * alsatplg updates, NHLT ACPI parser updates
  * use smaller periods for speaker-test
  * add bandwidth-limited pink noise for speaker-test
  * aplay updates, including subformat extensions
  * compile warning fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
- Drop obsoleted patches:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1717070400">- Require tree which is used by alsa-info.sh (bsc#1225665)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-utils 1.2.12:
  * alsactl: NULL pointer fix
  * alsa-info.sh: log SoundWire devices reported in ACPI
  * alsamixer: fix calculation in set_normalized_volume (overflow)
  * topology: nhlt fixes
  * aplay: fix S24_LE wav header
  * aseqdump: Add dump for UMP Utility and System messages
  * Addition of aseqsend
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-utils</changelog>
</package>
<package pkgid="511e80070b5375f0817158dc9eb5bf0dd9c17c7f1b527fd3395017f56c13c711a26dc88a27c9e43148a26f65b6ee0f38027995fd7a7cee150504dd72e013bcdf" name="alsabat-debuginfo" arch="i586">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  various fixes in aplay, alsamixer, alsactl and alsaloop, updated
  translations, etc:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="tiwai@suse.de" date="1616068800">- Fix superfluous asound.state migration (bsc#1183672)</changelog>
  <changelog author="tiwai@suse.de" date="1619438400">- Suppress automatic update of alsa-info.sh (bsc#1185280):
  alsa-info-no-update-for-distro-script.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to alsa-utils 1.2.5:
  a major version up, including previous patches
  https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5
- Update to alsa-utils 1.2.5.1:
  a small bugfix release
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patches:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627473600">- Added hardening to systemd service(s). Modified:
  * sound-extra.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to alsa-utils 1.2.6:
  various updates / fixes for alsactl, amidi, alsaloop, alsamixer,
  alsatplg, amixer, aplay and aseqnet.  Details are found in
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-utils
- Update the download URL
- Add *.sig file for the tarball</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch</changelog>
  <changelog author="tiwai@suse.de" date="1643371200">- Fix the broken mouse support on alsamixer:
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to alsa-utils 1.2.7:
  Enhancement and fixes of alsactl, speaker-test cleanup,
  alsatplg enhancements, arecord ghost data fix, etc.
  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-utils
- Drop obsoleted patches:
  0001-alsamixer-Fix-regression-in-color-setup.patch
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to alsa-utils 1.2.8 (jsc#PED-850):
  automake update, minor alsactl, amixer and aplay fixes.
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to alsa-utils 1.2.9:
  BSD build fix, and various updates for alsactl, amidi, axfer,
  alsa-info.sh, alsaloop, alsatplg, alsaucm, aplay, abat.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-utils</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to alsa-utils 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 / UMP support for sequencer programs
  * nhlt: add nhlt-dmic-info utility
  * Build fixes and cleanups
  * speaker-test: allow large buffer and period time setup - up to 100 seconds
  * various topology fixes
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-utils
- Fix the builds with old gcc:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1704715200">- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to alsa-utils 1.2.11:
  * alsactl buffer overflow fix
  * alsatplg updates, NHLT ACPI parser updates
  * use smaller periods for speaker-test
  * add bandwidth-limited pink noise for speaker-test
  * aplay updates, including subformat extensions
  * compile warning fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
- Drop obsoleted patches:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1717070400">- Require tree which is used by alsa-info.sh (bsc#1225665)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-utils 1.2.12:
  * alsactl: NULL pointer fix
  * alsa-info.sh: log SoundWire devices reported in ACPI
  * alsamixer: fix calculation in set_normalized_volume (overflow)
  * topology: nhlt fixes
  * aplay: fix S24_LE wav header
  * aseqdump: Add dump for UMP Utility and System messages
  * Addition of aseqsend
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-utils</changelog>
</package>
<package pkgid="3fe26ad48e8057c0f9e24c0d00d8f5d7be3844dfb23818e8a7a9d4ec9b004ad2b6a1b4400cf29d843a46256e7780b67c38dcca45b09c2ade7ef84f81b5d7f28a" name="alsabat-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.12" rel="1.1"/>
  <changelog author="tiwai@suse.de" date="1611230400">- Backport upstream fixes:
  various fixes in aplay, alsamixer, alsactl and alsaloop, updated
  translations, etc:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="tiwai@suse.de" date="1616068800">- Fix superfluous asound.state migration (bsc#1183672)</changelog>
  <changelog author="tiwai@suse.de" date="1619438400">- Suppress automatic update of alsa-info.sh (bsc#1185280):
  alsa-info-no-update-for-distro-script.patch</changelog>
  <changelog author="tiwai@suse.de" date="1623672000">- Update to alsa-utils 1.2.5:
  a major version up, including previous patches
  https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5
- Update to alsa-utils 1.2.5.1:
  a small bugfix release
  https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1
- Drop the obsoleted patches:
  0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch
  0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch
  0003-Add-Slovak-translation.patch
  0004-Add-Basque-translation.patch
  0006-aplay-cosmetic-code-fix-in-xrun.patch
  0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch
  0008-alsa-info-Add-lsusb-and-stream-outputs.patch
  0010-alsactl-Fix-double-decrease-of-lock-timeout.patch
  0011-alsactl-Fix-race-at-creating-a-lock-file.patch
  0012-alsactl-Remove-asound.state-file-check-from-alsa-res.patch
  0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch
  0014-ucm-fix-typo-in-docs.patch
  0015-aplay-add-avail-delay-checks-to-test-position.patch
  0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch
  0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch
  0018-alsactl-init-parse-fix-possible-double-free.patch
  0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch
  0020-alsaloop-get_queued_playback_samples-simplify-code.patch
  0021-topology-fix-possible-double-free-in-load.patch
  0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch
  0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch
  0024-alsamixer-fix-shift-in-parse_words.patch
  0025-aplay-fix-the-test-position-test-for-playback-avail-.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1627473600">- Added hardening to systemd service(s). Modified:
  * sound-extra.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="tiwai@suse.de" date="1638792000">- Update to alsa-utils 1.2.6:
  various updates / fixes for alsactl, amidi, alsaloop, alsamixer,
  alsatplg, amixer, aplay and aseqnet.  Details are found in
    https://alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-utils
- Update the download URL
- Add *.sig file for the tarball</changelog>
  <changelog author="tiwai@suse.de" date="1642766400">- Fix alsamixer color config regression:
  0001-alsamixer-Fix-regression-in-color-setup.patch</changelog>
  <changelog author="tiwai@suse.de" date="1643371200">- Fix the broken mouse support on alsamixer:
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1654084800">- Update to alsa-utils 1.2.7:
  Enhancement and fixes of alsactl, speaker-test cleanup,
  alsatplg enhancements, arecord ghost data fix, etc.
  For details see:
  https://www.alsa-project.org/wiki/Changes_v1.2.6.3_v1.2.7#alsa-utils
- Drop obsoleted patches:
  0001-alsamixer-Fix-regression-in-color-setup.patch
  0002-alsamixer-Revert-has_mouse-check.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1666699200">- Update to alsa-utils 1.2.8 (jsc#PED-850):
  automake update, minor alsactl, amixer and aplay fixes.
  https://www.alsa-project.org/wiki/Changes_v1.2.7.2_v1.2.8
- Add keyring</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1683547200">- Update to alsa-utils 1.2.9:
  BSD build fix, and various updates for alsactl, amidi, axfer,
  alsa-info.sh, alsaloop, alsatplg, alsaucm, aplay, abat.
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.8_v1.2.9#alsa-utils</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1693828800">- Update to alsa-utils 1.2.10 (jsc#PED-6566):
  * MIDI 2.0 / UMP support for sequencer programs
  * nhlt: add nhlt-dmic-info utility
  * Build fixes and cleanups
  * speaker-test: allow large buffer and period time setup - up to 100 seconds
  * various topology fixes
  For details, see:
  https://www.alsa-project.org/wiki/Changes_v1.2.9_v1.2.10#alsa-utils
- Fix the builds with old gcc:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1704715200">- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1706875200">- Update to alsa-utils 1.2.11:
  * alsactl buffer overflow fix
  * alsatplg updates, NHLT ACPI parser updates
  * use smaller periods for speaker-test
  * add bandwidth-limited pink noise for speaker-test
  * aplay updates, including subformat extensions
  * compile warning fixes
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
- Drop obsoleted patches:
  0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
  0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
  0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
  0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
  0008-topology-include-locale.h.patch
  0009-nhlt-dmic-info.c-include-sys-types.h.patch
  0010-topology-pre-processor-Add-support-for-enum-controls.patch
  0011-configure.ac-fix-UMP-support-detection.patch
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
  0014-nhlt-use-stdint.h-types.patch
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
  0019-alsactl-fix-potential-buffer-overwrite.patch
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
  0021-misc-fix-incorrect-usages-of-strerror.patch
  0022-aplay-Add-option-for-specifying-subformat.patch
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
  0025-aplay-enable-timestamps-by-default.patch
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1717070400">- Require tree which is used by alsa-info.sh (bsc#1225665)</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1718280000">- Update to alsa-utils 1.2.12:
  * alsactl: NULL pointer fix
  * alsa-info.sh: log SoundWire devices reported in ACPI
  * alsamixer: fix calculation in set_normalized_volume (overflow)
  * topology: nhlt fixes
  * aplay: fix S24_LE wav header
  * aseqdump: Add dump for UMP Utility and System messages
  * Addition of aseqsend
  For details, see:
    https://www.alsa-project.org/wiki/Changes_v1.2.11_v1.2.12#alsa-utils</changelog>
</package>
<package pkgid="e489bc1ace6504a6b91452abfc9844ff92f2566e3e7850cc5be9ef245894cc25dbdf827de1ef3f960e4b5adaf2011e38b3b311e2b82551f2b3b4e5aed0377d1c" name="analitza" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- No code change since 23.04.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Bump soversion for the Qt6-based version (kde#484823)
  * Port away from QRegExp
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="02fada1f15c75d35cdba9cb1e07eb0b7a2245d0406e90ed9e0e52349dfc6fefbcadd04c88f9805638363c3c02bf4cea0752dc45643bd41b3a578f398aa87aba4" name="analitza" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- No code change since 23.04.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Bump soversion for the Qt6-based version (kde#484823)
  * Port away from QRegExp
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="4d39c6fe1c2d7083b68f35f9636c8cfda2922b9aa58dc0289e84f7ed8276b9ce60e28efd12a010732b300eaa9f9bd88223c004119987b3dcb9026e160f9d0bbd" name="analitza-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- No code change since 23.04.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Bump soversion for the Qt6-based version (kde#484823)
  * Port away from QRegExp
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="fd14c34b113b404a75500da0ceb12d98a444469a906ef5f41c4ca4203a3b58b58416d3c68cf40945d7bce79efc2e35b54600ba464dc134baf40f5267e356a7d5" name="analitza-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- No code change since 23.04.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Bump soversion for the Qt6-based version (kde#484823)
  * Port away from QRegExp
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="a6e4dc9ec265943891fd3f856e6c443c96669df877903d79d2a415ddeec40f2d2e645f203d62f3d7382628b9e81a2e55c3e5b22d1ecb538ff1db3d9c53c7f422" name="analitza-devel" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- No code change since 23.04.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Bump soversion for the Qt6-based version (kde#484823)
  * Port away from QRegExp
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="c2fc8f8add451f7d448266da2b7b1d9615f5addc06302d46ac120c57c86f295bc288b66bcc9a918f58018b7cf5d492e51cb017e6c1a0de750a38063ee117f1cd" name="analitza-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- No code change since 23.04.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Bump soversion for the Qt6-based version (kde#484823)
  * Port away from QRegExp
  * Analitza6Config: Add Qt6Core5Compat to dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="1d1e204126c66ba5f9166001fb9ae885539a3acbf5e1d3b17cb3136af922ec2edf1d5edb916c545e5d0ebd5612e37cd771e3576e377192c7beca77388456c5d4" name="angelfish" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679140800">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Revert "Add dropdown dialog implementation"
  * Revert "Add appropriate licensing, and change app license to GPLv3"
  * Revert "desktop: Fix dropdown override dialog"
  * Revert SelectDropdownOverrideDialog.qml parts of "Port from OverlaySheet to Dialog"
  * Use work branch for dependabot
  * Add dependabot config
  * flatpak: Update qcoro and futuresql
  * flatpak: Regenerate sources
  * Update rust dependencies
  * Port database operations to FutureSQL
  * Make the desktop style an optional dependency
  * flatpak: Update kirigami-addons
  * flatpak: Update corrosion
  * change Drawer style
  * Regenerate flatpak sources
  * Update rust crates
  * flatpak: Update ffmpeg extension</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Fix qcoroquick dependency, we are still qt5 in release branch.
  * snapcraft: add missing runtime lib.
  * Add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: bump content pack version, remove deps now in content pack.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * WebApp: Fix not launching on Qt6
  * desktop: Fix switching tabs</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix download list page having uninteractable action buttons
  * Fix downloads not being prompted and starting
  * Fix history clearing not working CCBUG: 478890
  * Fix desktop tabs
  * UrlDelegate: Fix deleting entries
  * Fix remove button
  * Fix bookmarks and history page not working on mobile It appears changes were done on the desktop UI, and they were not tested on the mobile UI.
  * appstream: Update developer name</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Fix download list page having uninteractable action buttons
  * Fix downloads not being prompted and starting
  * Fix history clearing not working
  * Fix desktop tabs
  * UrlDelegate: Fix deleting entries
  * Fix remove button
  * Fix bookmarks and history page not working on mobile
  * appstream: Update developer name
  * Update rust crates
  * WebApp: Fix not launching on Qt6
  * desktop: Fix switching tabs
  * metainfo: Change name to just Angelfish</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix build with corrosion 0.5</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * flatpak: Update kirigami-addons
  * flatpak: Update to 6.7 Sdk</changelog>
</package>
<package pkgid="d395600f53a4567d2cf283224048abc42b9fb54c7201d3c5f8a214c1294b17a41a11dbd54134d3695d6b59991bfed891dacc939124a2a8c0d3ec456725a70ebc" name="angelfish" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679140800">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Revert "Add dropdown dialog implementation"
  * Revert "Add appropriate licensing, and change app license to GPLv3"
  * Revert "desktop: Fix dropdown override dialog"
  * Revert SelectDropdownOverrideDialog.qml parts of "Port from OverlaySheet to Dialog"
  * Use work branch for dependabot
  * Add dependabot config
  * flatpak: Update qcoro and futuresql
  * flatpak: Regenerate sources
  * Update rust dependencies
  * Port database operations to FutureSQL
  * Make the desktop style an optional dependency
  * flatpak: Update kirigami-addons
  * flatpak: Update corrosion
  * change Drawer style
  * Regenerate flatpak sources
  * Update rust crates
  * flatpak: Update ffmpeg extension</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Fix qcoroquick dependency, we are still qt5 in release branch.
  * snapcraft: add missing runtime lib.
  * Add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: bump content pack version, remove deps now in content pack.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * WebApp: Fix not launching on Qt6
  * desktop: Fix switching tabs</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix download list page having uninteractable action buttons
  * Fix downloads not being prompted and starting
  * Fix history clearing not working CCBUG: 478890
  * Fix desktop tabs
  * UrlDelegate: Fix deleting entries
  * Fix remove button
  * Fix bookmarks and history page not working on mobile It appears changes were done on the desktop UI, and they were not tested on the mobile UI.
  * appstream: Update developer name</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Fix download list page having uninteractable action buttons
  * Fix downloads not being prompted and starting
  * Fix history clearing not working
  * Fix desktop tabs
  * UrlDelegate: Fix deleting entries
  * Fix remove button
  * Fix bookmarks and history page not working on mobile
  * appstream: Update developer name
  * Update rust crates
  * WebApp: Fix not launching on Qt6
  * desktop: Fix switching tabs
  * metainfo: Change name to just Angelfish</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix build with corrosion 0.5</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * flatpak: Update kirigami-addons
  * flatpak: Update to 6.7 Sdk</changelog>
</package>
<package pkgid="f086b948cfb1995c9060d5fc419ee6d8ecffb6040cd0155bf31e6b73a3537fb6104e135dc5928bb74b54d30c2bc7f47503b75e6b7f0ad40978f5d28b9da66660" name="angelfish-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679140800">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Revert "Add dropdown dialog implementation"
  * Revert "Add appropriate licensing, and change app license to GPLv3"
  * Revert "desktop: Fix dropdown override dialog"
  * Revert SelectDropdownOverrideDialog.qml parts of "Port from OverlaySheet to Dialog"
  * Use work branch for dependabot
  * Add dependabot config
  * flatpak: Update qcoro and futuresql
  * flatpak: Regenerate sources
  * Update rust dependencies
  * Port database operations to FutureSQL
  * Make the desktop style an optional dependency
  * flatpak: Update kirigami-addons
  * flatpak: Update corrosion
  * change Drawer style
  * Regenerate flatpak sources
  * Update rust crates
  * flatpak: Update ffmpeg extension</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Fix qcoroquick dependency, we are still qt5 in release branch.
  * snapcraft: add missing runtime lib.
  * Add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: bump content pack version, remove deps now in content pack.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * WebApp: Fix not launching on Qt6
  * desktop: Fix switching tabs</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix download list page having uninteractable action buttons
  * Fix downloads not being prompted and starting
  * Fix history clearing not working CCBUG: 478890
  * Fix desktop tabs
  * UrlDelegate: Fix deleting entries
  * Fix remove button
  * Fix bookmarks and history page not working on mobile It appears changes were done on the desktop UI, and they were not tested on the mobile UI.
  * appstream: Update developer name</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Fix download list page having uninteractable action buttons
  * Fix downloads not being prompted and starting
  * Fix history clearing not working
  * Fix desktop tabs
  * UrlDelegate: Fix deleting entries
  * Fix remove button
  * Fix bookmarks and history page not working on mobile
  * appstream: Update developer name
  * Update rust crates
  * WebApp: Fix not launching on Qt6
  * desktop: Fix switching tabs
  * metainfo: Change name to just Angelfish</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix build with corrosion 0.5</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * flatpak: Update kirigami-addons
  * flatpak: Update to 6.7 Sdk</changelog>
</package>
<package pkgid="a6261b5c8f74462986297802d79a6ee840575de2db47092efeb60e84c7ae02fbc7a27fed76e50d61590a0052c18d7fa52b66123c6c263b31678578afe9be394c" name="angelfish-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679140800">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Revert "Add dropdown dialog implementation"
  * Revert "Add appropriate licensing, and change app license to GPLv3"
  * Revert "desktop: Fix dropdown override dialog"
  * Revert SelectDropdownOverrideDialog.qml parts of "Port from OverlaySheet to Dialog"
  * Use work branch for dependabot
  * Add dependabot config
  * flatpak: Update qcoro and futuresql
  * flatpak: Regenerate sources
  * Update rust dependencies
  * Port database operations to FutureSQL
  * Make the desktop style an optional dependency
  * flatpak: Update kirigami-addons
  * flatpak: Update corrosion
  * change Drawer style
  * Regenerate flatpak sources
  * Update rust crates
  * flatpak: Update ffmpeg extension</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Fix qcoroquick dependency, we are still qt5 in release branch.
  * snapcraft: add missing runtime lib.
  * Add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: bump content pack version, remove deps now in content pack.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * WebApp: Fix not launching on Qt6
  * desktop: Fix switching tabs</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix download list page having uninteractable action buttons
  * Fix downloads not being prompted and starting
  * Fix history clearing not working CCBUG: 478890
  * Fix desktop tabs
  * UrlDelegate: Fix deleting entries
  * Fix remove button
  * Fix bookmarks and history page not working on mobile It appears changes were done on the desktop UI, and they were not tested on the mobile UI.
  * appstream: Update developer name</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Fix download list page having uninteractable action buttons
  * Fix downloads not being prompted and starting
  * Fix history clearing not working
  * Fix desktop tabs
  * UrlDelegate: Fix deleting entries
  * Fix remove button
  * Fix bookmarks and history page not working on mobile
  * appstream: Update developer name
  * Update rust crates
  * WebApp: Fix not launching on Qt6
  * desktop: Fix switching tabs
  * metainfo: Change name to just Angelfish</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix build with corrosion 0.5</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * flatpak: Update kirigami-addons
  * flatpak: Update to 6.7 Sdk</changelog>
</package>
<package pkgid="203a576aff49ea48b81e2faaad3fa015aea637363d98ea1e99be24b80148f24b6ea5882a478d7915ee36e46d6d9dde87bf469ad7b28de3b0989b17efddd55033" name="angelfish-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679140800">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Revert "Add dropdown dialog implementation"
  * Revert "Add appropriate licensing, and change app license to GPLv3"
  * Revert "desktop: Fix dropdown override dialog"
  * Revert SelectDropdownOverrideDialog.qml parts of "Port from OverlaySheet to Dialog"
  * Use work branch for dependabot
  * Add dependabot config
  * flatpak: Update qcoro and futuresql
  * flatpak: Regenerate sources
  * Update rust dependencies
  * Port database operations to FutureSQL
  * Make the desktop style an optional dependency
  * flatpak: Update kirigami-addons
  * flatpak: Update corrosion
  * change Drawer style
  * Regenerate flatpak sources
  * Update rust crates
  * flatpak: Update ffmpeg extension</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Fix qcoroquick dependency, we are still qt5 in release branch.
  * snapcraft: add missing runtime lib.
  * Add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: bump content pack version, remove deps now in content pack.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * WebApp: Fix not launching on Qt6
  * desktop: Fix switching tabs</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Fix download list page having uninteractable action buttons
  * Fix downloads not being prompted and starting
  * Fix history clearing not working CCBUG: 478890
  * Fix desktop tabs
  * UrlDelegate: Fix deleting entries
  * Fix remove button
  * Fix bookmarks and history page not working on mobile It appears changes were done on the desktop UI, and they were not tested on the mobile UI.
  * appstream: Update developer name</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Fix download list page having uninteractable action buttons
  * Fix downloads not being prompted and starting
  * Fix history clearing not working
  * Fix desktop tabs
  * UrlDelegate: Fix deleting entries
  * Fix remove button
  * Fix bookmarks and history page not working on mobile
  * appstream: Update developer name
  * Update rust crates
  * WebApp: Fix not launching on Qt6
  * desktop: Fix switching tabs
  * metainfo: Change name to just Angelfish</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Fix build with corrosion 0.5</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * flatpak: Update kirigami-addons
  * flatpak: Update to 6.7 Sdk</changelog>
</package>
<package pkgid="1691d262dd8439e56be9bb6c410fa611eac7ea018623e856ef6effa0a678be0f36af9a43d66d93d0e38a17b285b2a06ef86538b341cfea8b90218e2796488af8" name="ansible" arch="noarch">
  <version epoch="0" ver="9.6.1" rel="1.1"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1684065600">- modify %if-condition to allow building for python3.10 or
  python3.11 on SLES15</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1684843200">- update to 7.6.0
  Ansible 7.6.0 includes ansible-core 2.14.6 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 7
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/7/CHANGELOG-v7.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1685534400">- update to 8.0.0
  Ansible 8.0.0 includes ansible-core 2.15.0 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1687521600">- update to 8.1.0:
  Ansible 8.1.0 includes ansible-core 2.15.1 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1689768000">- update to 8.2.0:
  Ansible 8.2.0 includes ansible-core 2.15.2 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694520000">- update to 8.3.0:
  Ansible 8.3.0 includes ansible-core 2.15.3 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694606400">- update to 8.4.0:
  Ansible 8.4.0 includes ansible-core 2.15.4 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1697716800">- update to 8.5.0:
  Ansible 8.5.0 includes ansible-core 2.15.5 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1699358400">- update to 8.6.0:
  Ansible 8.6.0 includes ansible-core 2.15.6 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1699876800">- update to 8.6.1:
  Bugfix release, change collections:
  * netapp.ontap
  - na_ontap_dns - fix keyerror for uuid when DNS is set to
    vserver in REST.
  - na_ontap_volume - fix invalid field error with
    'space.snapshot.autodelete' in REST.</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1701950400">- update to 8.7.0:
  Ansible 8.7.0 includes ansible-core 2.15.7 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838400">- update to 9.0.0:
  Ansible 9.0.0 includes ansible-core 2.16.0 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838401">- update to 9.0.1:
  Ansible 9.0.1 includes ansible-core 2.16.0 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838402">- update to 9.1.0:
  Ansible 9.1.0 includes ansible-core 2.16.1 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1706961600">- update to 9.2.0:
  Ansible 9.2.0 includes ansible-core 2.16.3 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1710590400">- update to 9.3.0:
  Ansible 9.3.0 includes ansible-core 2.16.4 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1711540800">- update to 9.4.0:
  Ansible 9.4.0 includes ansible-core 2.16.5 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1713960000">- update to 9.5.1 (9.5.0 does not exist):
  Ansible 9.5.1 includes ansible-core 2.16.6 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1716465600">- update to 9.6.0:
  Ansible 9.6.0 includes ansible-core 2.16.7 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1717761600">- update to 9.6.1:
  Ansible 9.6.1 includes ansible-core 2.16.7 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
</package>
<package pkgid="4c65fce6250a1b52d0dac21367151ca4da3af18993769822e167f74ab4399c7ba84382547c7eded4e6140c29261cad8b4f9130549f5f25ff50f0c1d90b763190" name="ansible" arch="src">
  <version epoch="0" ver="9.6.1" rel="1.1"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1684065600">- modify %if-condition to allow building for python3.10 or
  python3.11 on SLES15</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1684843200">- update to 7.6.0
  Ansible 7.6.0 includes ansible-core 2.14.6 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 7
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/7/CHANGELOG-v7.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1685534400">- update to 8.0.0
  Ansible 8.0.0 includes ansible-core 2.15.0 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1687521600">- update to 8.1.0:
  Ansible 8.1.0 includes ansible-core 2.15.1 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1689768000">- update to 8.2.0:
  Ansible 8.2.0 includes ansible-core 2.15.2 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694520000">- update to 8.3.0:
  Ansible 8.3.0 includes ansible-core 2.15.3 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694606400">- update to 8.4.0:
  Ansible 8.4.0 includes ansible-core 2.15.4 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/
    ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1697716800">- update to 8.5.0:
  Ansible 8.5.0 includes ansible-core 2.15.5 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1699358400">- update to 8.6.0:
  Ansible 8.6.0 includes ansible-core 2.15.6 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1699876800">- update to 8.6.1:
  Bugfix release, change collections:
  * netapp.ontap
  - na_ontap_dns - fix keyerror for uuid when DNS is set to
    vserver in REST.
  - na_ontap_volume - fix invalid field error with
    'space.snapshot.autodelete' in REST.</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1701950400">- update to 8.7.0:
  Ansible 8.7.0 includes ansible-core 2.15.7 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 8
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838400">- update to 9.0.0:
  Ansible 9.0.0 includes ansible-core 2.16.0 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838401">- update to 9.0.1:
  Ansible 9.0.1 includes ansible-core 2.16.0 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838402">- update to 9.1.0:
  Ansible 9.1.0 includes ansible-core 2.16.1 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1706961600">- update to 9.2.0:
  Ansible 9.2.0 includes ansible-core 2.16.3 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1710590400">- update to 9.3.0:
  Ansible 9.3.0 includes ansible-core 2.16.4 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1711540800">- update to 9.4.0:
  Ansible 9.4.0 includes ansible-core 2.16.5 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1713960000">- update to 9.5.1 (9.5.0 does not exist):
  Ansible 9.5.1 includes ansible-core 2.16.6 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1716465600">- update to 9.6.0:
  Ansible 9.6.0 includes ansible-core 2.16.7 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1717761600">- update to 9.6.1:
  Ansible 9.6.1 includes ansible-core 2.16.7 as well as a curated
  set of Ansible collections that provide a vast number of modules
  and plugins.
  Collections which have opted-in to being a part of the Ansible 9
  unified changelog will have an entry on this page:
  https://github.com/ansible-community/ansible-build-data/blob/main/9/CHANGELOG-v9.rst</changelog>
</package>
<package pkgid="9da90c0c481770f159b70d5c0f804eb18238d58e4f7c07447739a7f40941da93de7c94bc5a45e79753177bf02543e54676fa1f42bd26d97e16ac3adf67f1608a" name="ansible-core" arch="noarch">
  <version epoch="0" ver="2.16.8" rel="1.0.2.1.sr20240605"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1683288000">- change python version on Leap15/SLES15 to python3.11 to use the
  new stack supported by SUSE</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1684065600">- modify %if-condition to allow building for python3.10 or
  python3.11 on SLES15</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1684152000">- major update to 2.15.0:
  https://github.com/ansible/ansible/blob/v2.15.0/changelogs/
  CHANGELOG-v2.15.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1687348800">- update to 2.15.1:
  * Minor Changes
  - ansible-test - Allow float values for the --timeout option to
    the env command. This simplifies testing.
  - ansible-test - Refactored env command logic and timeout
    handling.
  - ansible-test - Use datetime.datetime.now with tz specified
    instead of datetime.datetime.utcnow.
  * Bugfixes
  - Properly disable jinja2_native in the template module when
    jinja2 override is used in the template (#80605)
  - ansible-galaxy - Fix variable type error when installing
    subdir collections (#80943)
  - ansible-test - Fix a traceback that occurs when attempting to
    test Ansible source using a different ansible-test. A clear
    error message is now given when this scenario occurs.
  - ansible-test - Fix handling of timeouts exceeding one day.
  - ansible-test - Fix various cases where the test timeout could
    expire without terminating the tests.
  - ansible-test local change detection - use git merge-base
    &lt;branch&gt; HEAD instead of git merge-base --fork-point &lt;branch&gt;
    (#79734).
  - deb822_repository - use http-agent for receiving content
    (#80809).
  - dnf5 - Update dnf5 module to handle API change for setting
    the download directory (#80887)
  - man page build - Remove the dependency on the docs directory
    for building man pages.
  - pep517 build backend - Copy symlinks when copying the source
    tree. This avoids tracebacks in various scenarios, such as
    when a venv is present in the source tree.
  - uri - fix search for JSON type to include complex strings
    containing '+'</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1689681600">- update to 2.15.2:
  * Minor Changes
  - Utilize gpg check provided internally by the transaction.run
    method as oppose to calling it manually.
  - ansible-test - Add Fedora 38 remote.
  - ansible-test - Use a context manager to perform cleanup at
    exit instead of using the built-in atexit module.
  - dnf5 - enable environment groups installation testing in CI
    as its support was added.
  - dnf5 - enable now implemented cacheonly functionality
  * Bugfixes
  - From issue #80880, when notifying a handler from another
    handler, handler notifications must be registered immediately
    as the flush_handler call is not recursive.
  - ansible-galaxy - Fix issue installing collections containing
    directories with more than 100 characters on python versions
    before 3.10.6
  - paramiko_ssh, psrp, and ssh connection plugins - ensure that
    all values for options that should be strings are actually
    converted to strings (#81029).
  - templating - In the template action and lookup, use local
    jinja2 environment overlay overrides instead of mutating the
    templars environment
  * Known Issues
  - ansible-test - The Fedora 37 remote is known to occasionally
    hang during boot. It is no longer routinely tested as a
    result. If possible, use the Fedora 38 remote instead.</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694001600">- as example files were split out into a separate package
  ansible-documentation upstream, this package now Recommends that
  package
- update to 2.15.3:
  * Minor Changes
  - Removed exclude and recursive-exclude commands for generated
    files from the MANIFEST.in file. These excludes were
    unnecessary since releases are expected to be built with a
    clean worktree.
  - Removed exclude commands for sanity test files from the
    MANIFEST.in file. These tests were previously excluded
    because they did not pass when run from an sdist. However,
    sanity tests are not expected to pass from an sdist, so
    excluding some (but not all) of the failing tests makes
    little sense.
  - Removed redundant include commands from the MANIFEST.in file.
    These includes either duplicated default behavior or another
    command.
  - The ansible-core sdist no longer contains pre-generated man
    pages. Instead, a packaging/cli-doc/build.py script is
    included in the sdist. This script can generate man pages and
    standalone RST documentation for ansible-core CLI programs.
  - The docs and examples directories are no longer included in
    the ansible-core sdist. These directories have been moved to
    the https://github.com/ansible/ansible-documentation
    repository.
  - Use include where recursive-include is unnecessary in the
    MANIFEST.in file.
  - ansible-test - Update the logic used to detect when
    ansible-test is running from source.
  - ansible-test - Updated the CloudStack test container to
    version 1.6.1.
  * Bugfixes
  - Exclude internal options from man pages and docs.
  - Fix ansible-config init man page option indentation.
  - The ansible-config init command now has a documentation
    description.
  - The ansible-galaxy collection download command now has a
    documentation description.
  - The ansible-galaxy collection install command documentation
    is now visible (previously hidden by a decorator).
  - The ansible-galaxy collection verify command now has a
    documentation description.
  - The ansible-galaxy role install command documentation is now
    visible (previously hidden by a decorator).
  - The ansible-inventory command command now has a documentation
    description (previously used as the epilog).
  - Update module_utils.urls unit test to work with cryptography
    &gt;= 41.0.0.
  - When generating man pages, use func to find the command
    function instead of looking it up by the command name.
  - ansible-galaxy now considers all collection paths when
    identifying which collection requirements are already
    installed. Use the COLLECTIONS_PATHS and
    COLLECTIONS_SCAN_SYS_PATHS config options to modify these.
    Previously only the install path was considered when
    resolving the candidates. The install path will remain the
    only one potentially modified. (#79767, #81163)
  - ansible-test - Fix several possible tracebacks when using the
  - e option with sanity tests.
  - ansible-test - Pre-build a PyYAML wheel before installing
    requirements to avoid a potential Cython build failure.
  - ansible-test - Remove redundant warning about missing
    programs before attempting to execute them.
  - core will now also look at the connection plugin to force
    'local' interpreter for networking path compatibility as just
    ansible_network_os could be misleading.
  - man page build - Sub commands of ansible-galaxy role and
    ansible-galaxy collection are now documented.
  - password_hash - fix salt format for crypt (only used if
    passlib is not installed) for the bcrypt algorithm.
  - urls.py - fixed cert_file and key_file parameters when
    running on Python 3.12 - #80490</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694520000">- update to 2.15.4:
  * Deprecated Features
  - vault and unfault filters - the undocumented vaultid
    parameter is deprecated and will be removed in ansible-core
    2.20. Use vault_id instead.
  * Bugfixes
  - PowerShell - Remove some code which is no longer valid for
    dotnet 5+
  - Prompting - add a short sleep between polling for user input
    to reduce CPU consumption (#81516).
  - ansible-galaxy - Enabled the data tarfile filter during role
    installation for Python versions that support it. A probing
    mechanism is used to avoid Python versions with a broken
    implementation.
  - ansible-test - Always use ansible-test managed entry points
    for ansible-core CLI tools when not running from source. This
    fixes issues where CLI entry points created during install
    are not compatible with ansible-test.
  - first found lookup has been updated to use the normalized
    argument parsing (pythonic) matching the documented examples.
  - handlers - the listen keyword can affect only one handler
    with the same name, the last one defined as it is a case with
    the notify keyword (#81013)
  - include_role - expose variables from parent roles to role's
    handlers (#80459)
  - tarfile - handle data filter deprecation warning message for
    extract and extractall (#80832).
  - vault and unvault filters now properly take vault_id
    parameter.</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1696939200">- update to 2.15.5:
  * Minor Changes
  - ansible-galaxy dependency resolution messages have changed
    the unexplained 'virtual' collection for the specific type
    ('scm', 'dir', etc) that is more user friendly
  * Security Fixes
  - ansible-galaxy - Prevent roles from using symlinks to
    overwrite files outside of the installation directory
    (CVE-2023-5115)
  * Bugfixes
  - Allow for searching handler subdir for included task via
    include_role (#81722)
  - PluginLoader - fix Jinja plugin performance issues (#79652)
  - ansible.module_utils.service - ensure binary data
    transmission in daemonize()
  - ansible.module_utils.service - fix inter-process
    communication in daemonize()
  - ansible-galaxy - started allowing the use of pre-releases for
    collections that do not have any stable versions published.
    (#81606)
  - ansible-galaxy - started allowing the use of pre-releases for
    dependencies on any level of the dependency tree that
    specifically demand exact pre-release versions of collections
    and not version ranges. (#81606)
  - ansible-galaxy error on dependency resolution will not error
    itself due to 'virtual' collections not having a
    name/namespace.
  - ansible-galaxy info - fix reporting no role found when
    lookup_role_by_name returns None.
  - role deduplication - don't deduplicate before a role has had
    a task run for that particular host (#81486).
  - uri/urls - Add compat function to handle the ability to parse
    the filename from a Content-Disposition header (#81806)
  - winrm - Better handle send input failures when communicating
    with hosts under load</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1699358400">- update to 2.15.6:
  * Minor Changes
  - ansible-test - Windows 2012 and 2012-R2 instances are now
    requested from Azure instead of AWS.
  * Bugfixes
  - Fix run_once being incorrectly interpreted on handlers
    (#81666)
  - Plugin loader does not dedupe nor cache filter/test plugins
    by file basename, but full path name.
  - Properly template tags in parent blocks (#81053)
  - Restoring the ability of filters/tests can have same file
    base name but different tests/filters defined inside.
  - import_role reverts to previous behavior of exporting vars at
    compile time.
  - ansible-galaxy - Provide a better error message when using a
    requirements file with an invalid format - #81901
  - ansible-inventory - index available_hosts for major
    performance boost when dumping large inventories
  - ansible-test - Fix parsing of cgroup entries which contain a
    : in the path (#81977).</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1701777600">- update to 2.15.7:
  This release includes a fix for CVE-2023-5764, where internal
  templating actions could result in unsafe data losing its unsafe
  designation.
  * Breaking Changes / Porting Guide
  - assert - Nested templating may result in an inability for the
    conditional to be evaluated. See the porting guide for more
    information.
  * Security Fixes
  - templating - Address issues where internal templating can
    cause unsafe variables to lose their unsafe designation
    (CVE-2023-5764)
  * Bugfixes
  - ansible-pull now will expand relative paths for the
  - d|--directory option is now expanded before use.
  - flush_handlers - properly handle a handler failure in a
    nested block when force_handlers is set
    (http://github.com/ansible/ansible/issues/81532)
  - module no_log will no longer affect top level booleans, for
    example no_log_module_parameter='a' will no longer hide
    changed=False as a 'no log value' (matches 'a').
  - modules/user.py - Add check for valid directory when creating
    new user homedir (allows /dev/null as skeleton) (#75063)
  - role params now have higher precedence than host facts again,
    matching documentation, this had unintentionally changed in
    2.15.
  - wait_for should not handle 'non mmapable files' again.</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1702382400">- update to 2.15.8:
  * Minor Changes
  - ansible-test - Add FreeBSD 13.2 remote.
  - ansible-test - Removed freebsd/13.1 remote.
  * Bugfixes
  - unsafe data - Address an incompatibility when iterating or
    getting a single index from AnsibleUnsafeBytes
  - unsafe data - Address an incompatibility with
    AnsibleUnsafeText and AnsibleUnsafeBytes when pickling with
    protocol=0</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838400">- update to 2.16.0:
  https://github.com/ansible/ansible/blob/v2.16.0/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes and Minor changes omitted for brevity, see full
    changelog
  * Breaking Changes / Porting Guide
  - Any plugin using the config system and the cli entry to use
    the timeout from the command line, will see the value change
    if the use had configured it in any of the lower precedence
    methods. If relying on this behaviour to consume the
    global/generic timeout from the DEFAULT_TIMEOUT constant,
    please consult the documentation on plugin configuration to
    add the overlaping entries.
  - ansible-test - Test plugins that rely on containers no longer
    support reusing running containers. The previous behavior was
    an undocumented, untested feature.
  - service module will not permanently configure variables/flags
    for openbsd when doing enable/disable operation anymore, this
    module was never meant to do this type of work, just to
    manage the service state itself. A rcctl_config or similar
    module should be created and used instead.
  * Deprecated Features
  - Deprecated ini config option collections_paths, use the
    singular form collections_path instead
  - Deprecated the env var ANSIBLE_COLLECTIONS_PATHS, use the
    singular form ANSIBLE_COLLECTIONS_PATH instead
  - Old style vars plugins which use the entrypoints
    get_host_vars or get_group_vars are deprecated. The plugin
    should be updated to inherit from BaseVarsPlugin and define a
    get_vars method as the entrypoint.
  - Support for Windows Server 2012 and 2012 R2 has been removed
    as the support end of life from Microsoft is October 10th
    2023. These versions of Windows will no longer be tested in
    this Ansible release and it cannot be guaranteed that they
    will continue to work going forward.
  - STRING_CONVERSION_ACTION config option is deprecated as it is
    no longer used in the Ansible Core code base.
  - the 'smart' option for setting a connection plugin is being
    removed as it's main purpose (choosing between ssh and
    paramiko) is now irrelevant.
  - vault and unfault filters - the undocumented vaultid
    parameter is deprecated and will be removed in ansible-core
    2.20. Use vault_id instead.
  - yum_repository - deprecated parameter 'keepcache' (#78693).
  * Removed Features (previously deprecated)
  - ActionBase - remove deprecated _remote_checksum method
  - PlayIterator - remove deprecated cache_block_tasks and
    get_original_task methods
  - Remove deprecated FileLock class
  - Removed Python 3.9 as a supported version on the controller.
    Python 3.10 or newer is required.
  - Removed include which has been deprecated in Ansible 2.12.
    Use include_tasks or import_tasks instead.
  - Templar - remove deprecated shared_loader_obj parameter of
    __init__
  - fetch_url - remove auto disabling decompress when gzip is not
    available
  - get_action_args_with_defaults - remove deprecated
    redirected_names method parameter
  - ansible-test - Removed support for the remote Windows targets
    2012 and 2012-R2
  - inventory_cache - remove deprecated
    default.fact_caching_prefix ini configuration option, use
    defaults.fact_caching_prefix instead.
  - module_utils/basic.py - Removed Python 3.5 as a supported
    remote version. Python 2.7 or Python 3.6+ is now required.
  - stat - removed unused get_md5 parameter.
  * Security Fixes
  - ansible-galaxy - Prevent roles from using symlinks to
    overwrite files outside of the installation directory
    (CVE-2023-5115)
  * Known issues
  - ansible-galaxy - dies in the middle of installing a role when
    that role contains Java inner classes (files with $ in the
    file name). This is by design, to exclude temporary or backup
    files. (#81553).
  - ansible-test - The pep8 sanity test is unable to detect
    f-string spacing issues (E201, E202) on Python 3.10 and 3.11.
    They are correctly detected under Python 3.12. See
    (PyCQA/pycodestyle#1190).</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838401">- update to 2.16.1:
  https://github.com/ansible/ansible/blob/v2.16.1/changelogs/CHANGELOG-v2.16.rst
  * Breaking Changes / Porting Guide
  - assert - Nested templating may result in an inability for the
    conditional to be evaluated. See the porting guide for more
    information.
  * Security Fixes
  - templating - Address issues where internal templating can
    cause unsafe variables to lose their unsafe designation
    (CVE-2023-5764)
  * Bugfixes
  - Fix issue where an include_tasks handler in a role was not
    able to locate a file in tasks/ when tasks_from was used as a
    role entry point and main.yml was not present (#82241)
  - Plugin loader does not dedupe nor cache filter/test plugins
    by file basename, but full path name.
  - Restoring the ability of filters/tests can have same file
    base name but different tests/filters defined inside.
  - ansible-pull now will expand relative paths for the
  - d|--directory option is now expanded before use.
  - ansible-pull will now correctly handle become and connection
    password file options for ansible-playbook.
  - flush_handlers - properly handle a handler failure in a
    nested block when force_handlers is set
    (http://github.com/ansible/ansible/issues/81532)
  - module no_log will no longer affect top level booleans, for
    example no_log_module_parameter='a' will no longer hide
    changed=False as a 'no log value' (matches 'a').
  - role params now have higher precedence than host facts again,
    matching documentation, this had unintentionally changed in
    2.15.
  - wait_for should not handle 'non mmapable files' again.</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838402">- update to 2.16.2:
  https://github.com/ansible/ansible/blob/v2.16.2/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes
  - unsafe data - Address an incompatibility when iterating or
    getting a single index from AnsibleUnsafeBytes
  - unsafe data - Address an incompatibility with
    AnsibleUnsafeText and AnsibleUnsafeBytes when pickling with
    protocol=0</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1706616000">- update to 2.16.3:
  https://github.com/ansible/ansible/blob/v2.16.3/changelogs/CHANGELOG-v2.16.rst
  * Security Fixes
  - ANSIBLE_NO_LOG - Address issue where ANSIBLE_NO_LOG was
    ignored (CVE-2024-0690)
  * Bugfixes
  - Run all handlers with the same listen topic, even when
    notified from another handler (#82363).
  - ansible-galaxy role import - fix using the role_name in a
    standalone role's galaxy_info metadata by disabling automatic
    removal of the ansible-role- prefix. This matches the
    behavior of the Galaxy UI which also no longer implicitly
    removes the ansible-role- prefix. Use the --role-name option
    or add a role_name to the galaxy_info dictionary in the
    role's meta/main.yml to use an alternate role name.
  - ansible-test sanity --test runtime-metadata - add
    action_plugin as a valid field for modules in the schema
    (#82562).
  - ansible-config init will now dedupe ini entries from plugins.
  - ansible-galaxy role import - exit with 1 when the import
    fails (#82175).
  - ansible-galaxy role install - normalize tarfile paths and
    symlinks using ansible.utils.path.unfrackpath and consider
    them valid as long as the realpath is in the tarfile's role
    directory (#81965).
  - delegate_to when set to an empty or undefined variable will
    now give a proper error.
  - dwim functions for lookups should be better at detectging
    role context even in abscense of tasks/main.
  - roles, code cleanup and performance optimization of
    dependencies, now cached, and public setting is now
    determined once, at role instantiation.
  - roles, the static property is now correctly set, this will
    fix issues with public and DEFAULT_PRIVATE_ROLE_VARS controls
    on exporting vars.
  - unsafe data - Enable directly using AnsibleUnsafeText with
    Python pathlib (#82414)</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1710590400">- update to 2.16.4:
  https://github.com/ansible/ansible/blob/v2.16.4/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes
  - Fix loading vars_plugins in roles (#82239).
  - expect - fix argument spec error using timeout=null (#80982).
  - include_vars - fix calculating depth relative to the root and
    ensure all files are included (#80987).
  - templating - ensure syntax errors originating from a template
    being compiled into Python code object result in a failure
    (#82606)</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1711540800">- update to 2.16.5:
  https://github.com/ansible/ansible/blob/v2.16.5/changelogs/CHANGELOG-v2.16.rst
  * Minor Changes
  - ansible-test - Add a work-around for permission denied errors
    when using pytest &gt;= 8 on multi-user systems with an
    installed version of ansible-test.
  * Bugfixes
  - Fix an issue when setting a plugin name from an unsafe source
    resulted in ValueError: unmarshallable object (#82708)
  - Harden python templates for respawn and ansiballz around str
    literal quoting
  - ansible-test - The libexpat package is automatically upgraded
    during remote bootstrapping to maintain compatibility with
    newer Python packages.
  - template - Fix error when templating an unsafe string which
    corresponds to an invalid type in Python (#82600).
  - winrm - does not hang when attempting to get process output
    when stdin write failed</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1713268800">- adjust spec to new name for PyPI file name (underscore instead of
  hyphen: ansible_core-2.16.6.tar.gz)
- update to 2.16.6:
  https://github.com/ansible/ansible/blob/v2.16.6/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes
  - Consolidated the list of internal static vars, centralized
    them as constant and completed from some missing entries.
  - Fix check for missing `_sub_plugin` attribute in older
    connection plugins (#82954)
  - Fixes permission for cache json file from 600 to 644
    (#82683).
  - Slight optimization to hostvars (instantiate template only
    once per host, vs per call to var).
  - allow_duplicates - fix evaluating if the current role allows
    duplicates instead of using the initial value from the
    duplicate's cached role.
  - ansible-config will now properly template defaults before
    dumping them.
  - ansible-test ansible-doc sanity test - do not remove
    underscores from plugin names in collections before calling
    ansible-doc (#82574).
  - async - Fix bug that stopped running async task in --check
    when check_mode: False was set as a task attribute - #82811
  - blockinfile - when create=true is used with a filename
    without path, the module crashed (#81638).
  - dnf - fix an issue when cached RPMs were left in the cache
    directory even when the keepcache setting was unset (#81954)
  - dnf5 - replace removed API calls
  - facts - add a generic detection for VMware in product name.
  - fetch - add error message when using dest with a trailing
    slash that becomes a local directory - #82878
  - find - do not fail on Permission errors (#82027).
  - unarchive modules now uses zipinfo options without relying on
    implementation defaults, making it more compatible with all
    OS/distributions.
  - winrm - Do not raise another exception during cleanup when a
    task is timed out - #81095</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1716465600">- update to 2.16.7:
  https://github.com/ansible/ansible/blob/v2.16.7/changelogs/CHANGELOG-v2.16.rst
  * Minor Changes
  - ansible.builtin.user - Remove user not found warning (#80267)
  * Bugfixes
  - Add a version ceiling constraint for pypsrp to avoid
    potential breaking changes in the 1.0.0 release.
  - Fix NEVRA parsing of package names that include digit(s) in
    them (#76463, #81018)
  - Fix handlers not being executed in lockstep using the linear
    strategy in some cases (#82307)
  - Give the tombstone error for include pre-fork like other
    tombstoned action/module plugins.
  - Include the task location when a module or action plugin is
    deprecated (#82450).
  - Mirror the behavior of dnf on the command line when handling
    NEVRAs with omitted epoch (#71808)
  - ansible-test - Automatically enable the PyPI proxy for the
    centos7 container to restore the ability to use pip in that
    container.
  - ansible_managed restored it's 'templatability' by ensuring
    the possible injection routes are cut off earlier in the
    process.
  - assemble - fixed missing parameter 'content' in
    `_get_diff_data` API (#82359).
  - dnf - fix an issue when installing a package by specifying a
    file it provides could result in installing a different
    package providing the same file than the package already
    installed resulting in resolution failure (#82461)
  - uri - update the documentation for follow_redirects.</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1718798400">- update to 2.16.8:
  https://github.com/ansible/ansible/blob/v2.16.8/changelogs/CHANGELOG-v2.16.rst
  * Minor Changes
  - ansible-test - Update pypi-test-container to version 3.1.0.
  * Bugfixes
  - Fix the task attribute resolved_action to show the FQCN
    instead of None when action or local_action is used in the
    playbook.
  - Fix using module_defaults with local_action/action (#81905).
  - fixed unit test test_borken_cowsay to address mock not been
    properly applied when existing unix system already have
    cowsay installed.
  - powershell - Implement more robust deletion mechanism for C#
    code compilation temporary files. This should avoid scenarios
    where the underlying temporary directory may be temporarily
    locked by antivirus tools or other IO problems. A failure to
    delete one of these temporary directories will result in a
    warning rather than an outright failure.</changelog>
</package>
<package pkgid="a799a7b967b44261200992d8799ae19f193483ec8a23a7d05ecf85f5dd9764631c30ba3c51c354f955ece3155788d434855aa4c1800f2436f12a3fa702452c2d" name="ansible-core" arch="src">
  <version epoch="0" ver="2.16.8" rel="1.0.2.1.sr20240605"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1683288000">- change python version on Leap15/SLES15 to python3.11 to use the
  new stack supported by SUSE</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1684065600">- modify %if-condition to allow building for python3.10 or
  python3.11 on SLES15</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1684152000">- major update to 2.15.0:
  https://github.com/ansible/ansible/blob/v2.15.0/changelogs/
  CHANGELOG-v2.15.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1687348800">- update to 2.15.1:
  * Minor Changes
  - ansible-test - Allow float values for the --timeout option to
    the env command. This simplifies testing.
  - ansible-test - Refactored env command logic and timeout
    handling.
  - ansible-test - Use datetime.datetime.now with tz specified
    instead of datetime.datetime.utcnow.
  * Bugfixes
  - Properly disable jinja2_native in the template module when
    jinja2 override is used in the template (#80605)
  - ansible-galaxy - Fix variable type error when installing
    subdir collections (#80943)
  - ansible-test - Fix a traceback that occurs when attempting to
    test Ansible source using a different ansible-test. A clear
    error message is now given when this scenario occurs.
  - ansible-test - Fix handling of timeouts exceeding one day.
  - ansible-test - Fix various cases where the test timeout could
    expire without terminating the tests.
  - ansible-test local change detection - use git merge-base
    &lt;branch&gt; HEAD instead of git merge-base --fork-point &lt;branch&gt;
    (#79734).
  - deb822_repository - use http-agent for receiving content
    (#80809).
  - dnf5 - Update dnf5 module to handle API change for setting
    the download directory (#80887)
  - man page build - Remove the dependency on the docs directory
    for building man pages.
  - pep517 build backend - Copy symlinks when copying the source
    tree. This avoids tracebacks in various scenarios, such as
    when a venv is present in the source tree.
  - uri - fix search for JSON type to include complex strings
    containing '+'</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1689681600">- update to 2.15.2:
  * Minor Changes
  - Utilize gpg check provided internally by the transaction.run
    method as oppose to calling it manually.
  - ansible-test - Add Fedora 38 remote.
  - ansible-test - Use a context manager to perform cleanup at
    exit instead of using the built-in atexit module.
  - dnf5 - enable environment groups installation testing in CI
    as its support was added.
  - dnf5 - enable now implemented cacheonly functionality
  * Bugfixes
  - From issue #80880, when notifying a handler from another
    handler, handler notifications must be registered immediately
    as the flush_handler call is not recursive.
  - ansible-galaxy - Fix issue installing collections containing
    directories with more than 100 characters on python versions
    before 3.10.6
  - paramiko_ssh, psrp, and ssh connection plugins - ensure that
    all values for options that should be strings are actually
    converted to strings (#81029).
  - templating - In the template action and lookup, use local
    jinja2 environment overlay overrides instead of mutating the
    templars environment
  * Known Issues
  - ansible-test - The Fedora 37 remote is known to occasionally
    hang during boot. It is no longer routinely tested as a
    result. If possible, use the Fedora 38 remote instead.</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694001600">- as example files were split out into a separate package
  ansible-documentation upstream, this package now Recommends that
  package
- update to 2.15.3:
  * Minor Changes
  - Removed exclude and recursive-exclude commands for generated
    files from the MANIFEST.in file. These excludes were
    unnecessary since releases are expected to be built with a
    clean worktree.
  - Removed exclude commands for sanity test files from the
    MANIFEST.in file. These tests were previously excluded
    because they did not pass when run from an sdist. However,
    sanity tests are not expected to pass from an sdist, so
    excluding some (but not all) of the failing tests makes
    little sense.
  - Removed redundant include commands from the MANIFEST.in file.
    These includes either duplicated default behavior or another
    command.
  - The ansible-core sdist no longer contains pre-generated man
    pages. Instead, a packaging/cli-doc/build.py script is
    included in the sdist. This script can generate man pages and
    standalone RST documentation for ansible-core CLI programs.
  - The docs and examples directories are no longer included in
    the ansible-core sdist. These directories have been moved to
    the https://github.com/ansible/ansible-documentation
    repository.
  - Use include where recursive-include is unnecessary in the
    MANIFEST.in file.
  - ansible-test - Update the logic used to detect when
    ansible-test is running from source.
  - ansible-test - Updated the CloudStack test container to
    version 1.6.1.
  * Bugfixes
  - Exclude internal options from man pages and docs.
  - Fix ansible-config init man page option indentation.
  - The ansible-config init command now has a documentation
    description.
  - The ansible-galaxy collection download command now has a
    documentation description.
  - The ansible-galaxy collection install command documentation
    is now visible (previously hidden by a decorator).
  - The ansible-galaxy collection verify command now has a
    documentation description.
  - The ansible-galaxy role install command documentation is now
    visible (previously hidden by a decorator).
  - The ansible-inventory command command now has a documentation
    description (previously used as the epilog).
  - Update module_utils.urls unit test to work with cryptography
    &gt;= 41.0.0.
  - When generating man pages, use func to find the command
    function instead of looking it up by the command name.
  - ansible-galaxy now considers all collection paths when
    identifying which collection requirements are already
    installed. Use the COLLECTIONS_PATHS and
    COLLECTIONS_SCAN_SYS_PATHS config options to modify these.
    Previously only the install path was considered when
    resolving the candidates. The install path will remain the
    only one potentially modified. (#79767, #81163)
  - ansible-test - Fix several possible tracebacks when using the
  - e option with sanity tests.
  - ansible-test - Pre-build a PyYAML wheel before installing
    requirements to avoid a potential Cython build failure.
  - ansible-test - Remove redundant warning about missing
    programs before attempting to execute them.
  - core will now also look at the connection plugin to force
    'local' interpreter for networking path compatibility as just
    ansible_network_os could be misleading.
  - man page build - Sub commands of ansible-galaxy role and
    ansible-galaxy collection are now documented.
  - password_hash - fix salt format for crypt (only used if
    passlib is not installed) for the bcrypt algorithm.
  - urls.py - fixed cert_file and key_file parameters when
    running on Python 3.12 - #80490</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694520000">- update to 2.15.4:
  * Deprecated Features
  - vault and unfault filters - the undocumented vaultid
    parameter is deprecated and will be removed in ansible-core
    2.20. Use vault_id instead.
  * Bugfixes
  - PowerShell - Remove some code which is no longer valid for
    dotnet 5+
  - Prompting - add a short sleep between polling for user input
    to reduce CPU consumption (#81516).
  - ansible-galaxy - Enabled the data tarfile filter during role
    installation for Python versions that support it. A probing
    mechanism is used to avoid Python versions with a broken
    implementation.
  - ansible-test - Always use ansible-test managed entry points
    for ansible-core CLI tools when not running from source. This
    fixes issues where CLI entry points created during install
    are not compatible with ansible-test.
  - first found lookup has been updated to use the normalized
    argument parsing (pythonic) matching the documented examples.
  - handlers - the listen keyword can affect only one handler
    with the same name, the last one defined as it is a case with
    the notify keyword (#81013)
  - include_role - expose variables from parent roles to role's
    handlers (#80459)
  - tarfile - handle data filter deprecation warning message for
    extract and extractall (#80832).
  - vault and unvault filters now properly take vault_id
    parameter.</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1696939200">- update to 2.15.5:
  * Minor Changes
  - ansible-galaxy dependency resolution messages have changed
    the unexplained 'virtual' collection for the specific type
    ('scm', 'dir', etc) that is more user friendly
  * Security Fixes
  - ansible-galaxy - Prevent roles from using symlinks to
    overwrite files outside of the installation directory
    (CVE-2023-5115)
  * Bugfixes
  - Allow for searching handler subdir for included task via
    include_role (#81722)
  - PluginLoader - fix Jinja plugin performance issues (#79652)
  - ansible.module_utils.service - ensure binary data
    transmission in daemonize()
  - ansible.module_utils.service - fix inter-process
    communication in daemonize()
  - ansible-galaxy - started allowing the use of pre-releases for
    collections that do not have any stable versions published.
    (#81606)
  - ansible-galaxy - started allowing the use of pre-releases for
    dependencies on any level of the dependency tree that
    specifically demand exact pre-release versions of collections
    and not version ranges. (#81606)
  - ansible-galaxy error on dependency resolution will not error
    itself due to 'virtual' collections not having a
    name/namespace.
  - ansible-galaxy info - fix reporting no role found when
    lookup_role_by_name returns None.
  - role deduplication - don't deduplicate before a role has had
    a task run for that particular host (#81486).
  - uri/urls - Add compat function to handle the ability to parse
    the filename from a Content-Disposition header (#81806)
  - winrm - Better handle send input failures when communicating
    with hosts under load</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1699358400">- update to 2.15.6:
  * Minor Changes
  - ansible-test - Windows 2012 and 2012-R2 instances are now
    requested from Azure instead of AWS.
  * Bugfixes
  - Fix run_once being incorrectly interpreted on handlers
    (#81666)
  - Plugin loader does not dedupe nor cache filter/test plugins
    by file basename, but full path name.
  - Properly template tags in parent blocks (#81053)
  - Restoring the ability of filters/tests can have same file
    base name but different tests/filters defined inside.
  - import_role reverts to previous behavior of exporting vars at
    compile time.
  - ansible-galaxy - Provide a better error message when using a
    requirements file with an invalid format - #81901
  - ansible-inventory - index available_hosts for major
    performance boost when dumping large inventories
  - ansible-test - Fix parsing of cgroup entries which contain a
    : in the path (#81977).</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1701777600">- update to 2.15.7:
  This release includes a fix for CVE-2023-5764, where internal
  templating actions could result in unsafe data losing its unsafe
  designation.
  * Breaking Changes / Porting Guide
  - assert - Nested templating may result in an inability for the
    conditional to be evaluated. See the porting guide for more
    information.
  * Security Fixes
  - templating - Address issues where internal templating can
    cause unsafe variables to lose their unsafe designation
    (CVE-2023-5764)
  * Bugfixes
  - ansible-pull now will expand relative paths for the
  - d|--directory option is now expanded before use.
  - flush_handlers - properly handle a handler failure in a
    nested block when force_handlers is set
    (http://github.com/ansible/ansible/issues/81532)
  - module no_log will no longer affect top level booleans, for
    example no_log_module_parameter='a' will no longer hide
    changed=False as a 'no log value' (matches 'a').
  - modules/user.py - Add check for valid directory when creating
    new user homedir (allows /dev/null as skeleton) (#75063)
  - role params now have higher precedence than host facts again,
    matching documentation, this had unintentionally changed in
    2.15.
  - wait_for should not handle 'non mmapable files' again.</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1702382400">- update to 2.15.8:
  * Minor Changes
  - ansible-test - Add FreeBSD 13.2 remote.
  - ansible-test - Removed freebsd/13.1 remote.
  * Bugfixes
  - unsafe data - Address an incompatibility when iterating or
    getting a single index from AnsibleUnsafeBytes
  - unsafe data - Address an incompatibility with
    AnsibleUnsafeText and AnsibleUnsafeBytes when pickling with
    protocol=0</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838400">- update to 2.16.0:
  https://github.com/ansible/ansible/blob/v2.16.0/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes and Minor changes omitted for brevity, see full
    changelog
  * Breaking Changes / Porting Guide
  - Any plugin using the config system and the cli entry to use
    the timeout from the command line, will see the value change
    if the use had configured it in any of the lower precedence
    methods. If relying on this behaviour to consume the
    global/generic timeout from the DEFAULT_TIMEOUT constant,
    please consult the documentation on plugin configuration to
    add the overlaping entries.
  - ansible-test - Test plugins that rely on containers no longer
    support reusing running containers. The previous behavior was
    an undocumented, untested feature.
  - service module will not permanently configure variables/flags
    for openbsd when doing enable/disable operation anymore, this
    module was never meant to do this type of work, just to
    manage the service state itself. A rcctl_config or similar
    module should be created and used instead.
  * Deprecated Features
  - Deprecated ini config option collections_paths, use the
    singular form collections_path instead
  - Deprecated the env var ANSIBLE_COLLECTIONS_PATHS, use the
    singular form ANSIBLE_COLLECTIONS_PATH instead
  - Old style vars plugins which use the entrypoints
    get_host_vars or get_group_vars are deprecated. The plugin
    should be updated to inherit from BaseVarsPlugin and define a
    get_vars method as the entrypoint.
  - Support for Windows Server 2012 and 2012 R2 has been removed
    as the support end of life from Microsoft is October 10th
    2023. These versions of Windows will no longer be tested in
    this Ansible release and it cannot be guaranteed that they
    will continue to work going forward.
  - STRING_CONVERSION_ACTION config option is deprecated as it is
    no longer used in the Ansible Core code base.
  - the 'smart' option for setting a connection plugin is being
    removed as it's main purpose (choosing between ssh and
    paramiko) is now irrelevant.
  - vault and unfault filters - the undocumented vaultid
    parameter is deprecated and will be removed in ansible-core
    2.20. Use vault_id instead.
  - yum_repository - deprecated parameter 'keepcache' (#78693).
  * Removed Features (previously deprecated)
  - ActionBase - remove deprecated _remote_checksum method
  - PlayIterator - remove deprecated cache_block_tasks and
    get_original_task methods
  - Remove deprecated FileLock class
  - Removed Python 3.9 as a supported version on the controller.
    Python 3.10 or newer is required.
  - Removed include which has been deprecated in Ansible 2.12.
    Use include_tasks or import_tasks instead.
  - Templar - remove deprecated shared_loader_obj parameter of
    __init__
  - fetch_url - remove auto disabling decompress when gzip is not
    available
  - get_action_args_with_defaults - remove deprecated
    redirected_names method parameter
  - ansible-test - Removed support for the remote Windows targets
    2012 and 2012-R2
  - inventory_cache - remove deprecated
    default.fact_caching_prefix ini configuration option, use
    defaults.fact_caching_prefix instead.
  - module_utils/basic.py - Removed Python 3.5 as a supported
    remote version. Python 2.7 or Python 3.6+ is now required.
  - stat - removed unused get_md5 parameter.
  * Security Fixes
  - ansible-galaxy - Prevent roles from using symlinks to
    overwrite files outside of the installation directory
    (CVE-2023-5115)
  * Known issues
  - ansible-galaxy - dies in the middle of installing a role when
    that role contains Java inner classes (files with $ in the
    file name). This is by design, to exclude temporary or backup
    files. (#81553).
  - ansible-test - The pep8 sanity test is unable to detect
    f-string spacing issues (E201, E202) on Python 3.10 and 3.11.
    They are correctly detected under Python 3.12. See
    (PyCQA/pycodestyle#1190).</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838401">- update to 2.16.1:
  https://github.com/ansible/ansible/blob/v2.16.1/changelogs/CHANGELOG-v2.16.rst
  * Breaking Changes / Porting Guide
  - assert - Nested templating may result in an inability for the
    conditional to be evaluated. See the porting guide for more
    information.
  * Security Fixes
  - templating - Address issues where internal templating can
    cause unsafe variables to lose their unsafe designation
    (CVE-2023-5764)
  * Bugfixes
  - Fix issue where an include_tasks handler in a role was not
    able to locate a file in tasks/ when tasks_from was used as a
    role entry point and main.yml was not present (#82241)
  - Plugin loader does not dedupe nor cache filter/test plugins
    by file basename, but full path name.
  - Restoring the ability of filters/tests can have same file
    base name but different tests/filters defined inside.
  - ansible-pull now will expand relative paths for the
  - d|--directory option is now expanded before use.
  - ansible-pull will now correctly handle become and connection
    password file options for ansible-playbook.
  - flush_handlers - properly handle a handler failure in a
    nested block when force_handlers is set
    (http://github.com/ansible/ansible/issues/81532)
  - module no_log will no longer affect top level booleans, for
    example no_log_module_parameter='a' will no longer hide
    changed=False as a 'no log value' (matches 'a').
  - role params now have higher precedence than host facts again,
    matching documentation, this had unintentionally changed in
    2.15.
  - wait_for should not handle 'non mmapable files' again.</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838402">- update to 2.16.2:
  https://github.com/ansible/ansible/blob/v2.16.2/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes
  - unsafe data - Address an incompatibility when iterating or
    getting a single index from AnsibleUnsafeBytes
  - unsafe data - Address an incompatibility with
    AnsibleUnsafeText and AnsibleUnsafeBytes when pickling with
    protocol=0</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1706616000">- update to 2.16.3:
  https://github.com/ansible/ansible/blob/v2.16.3/changelogs/CHANGELOG-v2.16.rst
  * Security Fixes
  - ANSIBLE_NO_LOG - Address issue where ANSIBLE_NO_LOG was
    ignored (CVE-2024-0690)
  * Bugfixes
  - Run all handlers with the same listen topic, even when
    notified from another handler (#82363).
  - ansible-galaxy role import - fix using the role_name in a
    standalone role's galaxy_info metadata by disabling automatic
    removal of the ansible-role- prefix. This matches the
    behavior of the Galaxy UI which also no longer implicitly
    removes the ansible-role- prefix. Use the --role-name option
    or add a role_name to the galaxy_info dictionary in the
    role's meta/main.yml to use an alternate role name.
  - ansible-test sanity --test runtime-metadata - add
    action_plugin as a valid field for modules in the schema
    (#82562).
  - ansible-config init will now dedupe ini entries from plugins.
  - ansible-galaxy role import - exit with 1 when the import
    fails (#82175).
  - ansible-galaxy role install - normalize tarfile paths and
    symlinks using ansible.utils.path.unfrackpath and consider
    them valid as long as the realpath is in the tarfile's role
    directory (#81965).
  - delegate_to when set to an empty or undefined variable will
    now give a proper error.
  - dwim functions for lookups should be better at detectging
    role context even in abscense of tasks/main.
  - roles, code cleanup and performance optimization of
    dependencies, now cached, and public setting is now
    determined once, at role instantiation.
  - roles, the static property is now correctly set, this will
    fix issues with public and DEFAULT_PRIVATE_ROLE_VARS controls
    on exporting vars.
  - unsafe data - Enable directly using AnsibleUnsafeText with
    Python pathlib (#82414)</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1710590400">- update to 2.16.4:
  https://github.com/ansible/ansible/blob/v2.16.4/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes
  - Fix loading vars_plugins in roles (#82239).
  - expect - fix argument spec error using timeout=null (#80982).
  - include_vars - fix calculating depth relative to the root and
    ensure all files are included (#80987).
  - templating - ensure syntax errors originating from a template
    being compiled into Python code object result in a failure
    (#82606)</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1711540800">- update to 2.16.5:
  https://github.com/ansible/ansible/blob/v2.16.5/changelogs/CHANGELOG-v2.16.rst
  * Minor Changes
  - ansible-test - Add a work-around for permission denied errors
    when using pytest &gt;= 8 on multi-user systems with an
    installed version of ansible-test.
  * Bugfixes
  - Fix an issue when setting a plugin name from an unsafe source
    resulted in ValueError: unmarshallable object (#82708)
  - Harden python templates for respawn and ansiballz around str
    literal quoting
  - ansible-test - The libexpat package is automatically upgraded
    during remote bootstrapping to maintain compatibility with
    newer Python packages.
  - template - Fix error when templating an unsafe string which
    corresponds to an invalid type in Python (#82600).
  - winrm - does not hang when attempting to get process output
    when stdin write failed</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1713268800">- adjust spec to new name for PyPI file name (underscore instead of
  hyphen: ansible_core-2.16.6.tar.gz)
- update to 2.16.6:
  https://github.com/ansible/ansible/blob/v2.16.6/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes
  - Consolidated the list of internal static vars, centralized
    them as constant and completed from some missing entries.
  - Fix check for missing `_sub_plugin` attribute in older
    connection plugins (#82954)
  - Fixes permission for cache json file from 600 to 644
    (#82683).
  - Slight optimization to hostvars (instantiate template only
    once per host, vs per call to var).
  - allow_duplicates - fix evaluating if the current role allows
    duplicates instead of using the initial value from the
    duplicate's cached role.
  - ansible-config will now properly template defaults before
    dumping them.
  - ansible-test ansible-doc sanity test - do not remove
    underscores from plugin names in collections before calling
    ansible-doc (#82574).
  - async - Fix bug that stopped running async task in --check
    when check_mode: False was set as a task attribute - #82811
  - blockinfile - when create=true is used with a filename
    without path, the module crashed (#81638).
  - dnf - fix an issue when cached RPMs were left in the cache
    directory even when the keepcache setting was unset (#81954)
  - dnf5 - replace removed API calls
  - facts - add a generic detection for VMware in product name.
  - fetch - add error message when using dest with a trailing
    slash that becomes a local directory - #82878
  - find - do not fail on Permission errors (#82027).
  - unarchive modules now uses zipinfo options without relying on
    implementation defaults, making it more compatible with all
    OS/distributions.
  - winrm - Do not raise another exception during cleanup when a
    task is timed out - #81095</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1716465600">- update to 2.16.7:
  https://github.com/ansible/ansible/blob/v2.16.7/changelogs/CHANGELOG-v2.16.rst
  * Minor Changes
  - ansible.builtin.user - Remove user not found warning (#80267)
  * Bugfixes
  - Add a version ceiling constraint for pypsrp to avoid
    potential breaking changes in the 1.0.0 release.
  - Fix NEVRA parsing of package names that include digit(s) in
    them (#76463, #81018)
  - Fix handlers not being executed in lockstep using the linear
    strategy in some cases (#82307)
  - Give the tombstone error for include pre-fork like other
    tombstoned action/module plugins.
  - Include the task location when a module or action plugin is
    deprecated (#82450).
  - Mirror the behavior of dnf on the command line when handling
    NEVRAs with omitted epoch (#71808)
  - ansible-test - Automatically enable the PyPI proxy for the
    centos7 container to restore the ability to use pip in that
    container.
  - ansible_managed restored it's 'templatability' by ensuring
    the possible injection routes are cut off earlier in the
    process.
  - assemble - fixed missing parameter 'content' in
    `_get_diff_data` API (#82359).
  - dnf - fix an issue when installing a package by specifying a
    file it provides could result in installing a different
    package providing the same file than the package already
    installed resulting in resolution failure (#82461)
  - uri - update the documentation for follow_redirects.</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1718798400">- update to 2.16.8:
  https://github.com/ansible/ansible/blob/v2.16.8/changelogs/CHANGELOG-v2.16.rst
  * Minor Changes
  - ansible-test - Update pypi-test-container to version 3.1.0.
  * Bugfixes
  - Fix the task attribute resolved_action to show the FQCN
    instead of None when action or local_action is used in the
    playbook.
  - Fix using module_defaults with local_action/action (#81905).
  - fixed unit test test_borken_cowsay to address mock not been
    properly applied when existing unix system already have
    cowsay installed.
  - powershell - Implement more robust deletion mechanism for C#
    code compilation temporary files. This should avoid scenarios
    where the underlying temporary directory may be temporarily
    locked by antivirus tools or other IO problems. A failure to
    delete one of these temporary directories will result in a
    warning rather than an outright failure.</changelog>
</package>
<package pkgid="d17dd0601062ddb345e5d996cf1a22c51e28222ef97157479072a1ab6777854c85fe3a75c708de6ba3d5b6634d9e3df3ea9183be285c65f00f6f2ea00feae095" name="ansible-documentation" arch="noarch">
  <version epoch="0" ver="2.16.8" rel="1.1"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694174400">- new package ansible-documentation</changelog>
  <changelog author="kastl@b1-systems.de" date="1694520000">- Update to version 2.15.4:
  This tag contains a snapshot of the ansible-documentation
  stable-2.15 branch at the time of the ansible-core 2.15.4
  release.</changelog>
  <changelog author="kastl@b1-systems.de" date="1696939200">- Update to version 2.15.5:
  This tag contains a snapshot of the ansible-documentation
  stable-2.15 branch at the time of the ansible-core 2.15.5
  release.
  * better description of 'short' (#528) (#533)
  * Fix typo (#454) (#517)
  * Add preferred terms list to style guide (#386) (#516)
  * Update automationhub.rst #477 (#485) (#492)
  * pr_labeler: change link to the DAWGs meeting agenda (#497)
    (#504)
  * Bump antsibull-docs to 2.5.0 (#467) (#480)
  * Bump docs build requirements for stable-2.15. (#448)
  * Update 'For instance' to 'For example' (#472) (#475)
  * Prepare Galaxy guides for GalaxyNG (#388) (#474)
  * [stable-2.15] ci: refresh dev dependencies (#447)
  * Add label to 'collections:' keyword. (#434) (#435)
  * Backport/2.15/425 - Change banner for Contributor summit (#430)
  * Update developing_collections_creating.rst (#414) (#416)
  * Removing [] from --tags and --skip-tags (#406) (#421)
  * readthedocs stable-2.15 (#413)
  * added example using the variables (#393) (#394)
  * ci: refresh dev dependencies (#402) (#407)
  * build(deps): bump actions/checkout from 3 to 4 (#372) (#405)
  * Add Ansible community 8.4.0 porting guide (#384) (#385)</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1699358400">- update to 2.15.6:
  This tag contains a snapshot of the ansible-documentation
  stable-2.15 branch at the time of the ansible-core 2.15.6
  release.</changelog>
  <changelog author="kastl@b1-systems.de" date="1699358401">- Update to version 2.15.6:
  * ci: refresh dev dependencies (#770)
  * Fixed equalto test filter (#758) (#759)
  * ci: refresh dev dependencies (#741)
  * nox and README: log PIP_CONSTRAINT value and add Dependency file docs (#730) (#737)
  * [stable-2.15] installation_guide/intro_configuration.rst: improve readability
  * Proof reading (#616) (#729)
  * [PR #668/8d847046 backport] Integrate docs checkers into the noxfile (#727)
  * ci: refresh dev dependencies (#721) (#722)
  * Update JSON queries examples (#690) (#704)
  * communication.rst: other forum-related tweaks (#669) (#698)
  * documentation_contributions: use tests/checkers.py (#706) (#712)
  * Update slicing in inventory pattern (#541) (#693)
  * [stable-2.15] Unify the Sphinx's `conf.py` files (#431) (#627)
  * Update shebang sanity test docs to match test (#677) (#687)
  * Update example using special variables in resuce section of blocks (#671) (#680)
  * ci: refresh dev dependencies (#682)
  * ci: refresh dev dependencies (#672)
  * Use a working exponential backoff example (#607) (#660)
  * Rename tests/sanity.py to tests/checkers.py (#563) (#663)
  * Added delegation info to special vars (#629) (#659)
  * Add forum info to collection maintainer guidelines (#549) (#655)
  * Fix#129 (#201) (#613)
  * Update PowerShell Codeblock (#489) (#603)
  * Changed it's to it is in all .rst files (#491)
  * Clarify that two releases will happen on two separate days, and clarify which one will happen first (#39)
  * pr_labeler: stop adding needs_triage labels to new PRs (#643) (#645)
  * ci: refresh dev dependencies (#638) (#641)
  * [stable-2.15] Add RST spellcheck (#524) (#623)
  * corrected cli for help (#599) (#600)
  * communication.rst: Add a link to the forum group list (#571) (#594)
  * developing_collections_structure.rs: Fix link formatting (#570) (#591)
  * Testing collections guide: add GHA info and link to sample matrix (#569) (#588)
  * issue #560 fix broken url in script (#568) (#585)
  * Document how to bump dependencies (#446) (#614)
  * ci: refresh dev dependencies (#608) (#609)
  * Merge pull request #27 from oraNod/issue-26/add-intro-getting-started (#526)
  * Spellingfix (#494) (#583)
  * communication.rst: fix link (#495) (#580)
  * More info on delegation behaviours (#527) (#582)
  * Replace i.e with that is  (#490) (#565)
  * Fix for : Replace all occurrences of via to with #459 (#479) (#578)
  * issue-457: Update all occurrences of Ansible core to Ansible Core (#471) (#575)
  * communication.rst: Add Release Management WG info (#438) (#574)
  * Update collections_installing.rst (#412) (#573)
  * communication.rst: add forum info (#392) (#572)
  * Integrate `docs/bin/*.py` files into the nox config (#529) (#562)
  * Add Ansible community 8.5.0 porting guide (#556) (#557)
  * fix molecule link in contributor path page (#538) (#551)
  * Add Arch installation instructions in the installation_distros documentation (#522) (#545)
  * ci: refresh dev dependencies (#548)</changelog>
  <changelog author="kastl@b1-systems.de" date="1701777600">- Update to version 2.15.7:
  * nox pip-compile: allow passing --no-upgrade flag (#883) (#919)
  * add nox make session and revamp contribution docs (#707) (#916)
  * installation_guide/intro: update seealso with respect to
    communication (#869) (#909)
  * Update links in plugin documentation (#859) (#906)
  * installation_distros.rst: fix RST hyperlink syntax (#857)
    (#903)
  * Updated loop docs (#838) (#899)
  * intro_installation: add EE info (#870) (#893)
  * Fix Edit on GitHub for templated pages, remove superfluous
    template, fix broken link (#865) (#891)
  * developing_collections_structure.rst: Add EE collection-level
    metadata link to meta directory subsection (#855) (#889)
  * Add the mission statement to the community guide (#854) (#888)
  * update python versions in installation guide (#836) (#886)
  * add ansible-galaxy to command cheatsheet (#826) (#884)
  * Refs #340: Swap old 'CLA' for the DCO (#598) (#874)
  * ci: refresh dev dependencies (#839) (#861)
  * Add porting guide for CVE-2023-5764 (#867)
  * Update the information on RouterOS network connections. (#841)
    (#864)
  * update backport instructions to match 2.16 (#799) (#847)
  * Fix delegate_to details about inheriting vars from 'all' (#825)
    (#834)
  * communication.rst: Make WG a top-level section (#750) (#806)
  * EOL 2.13 in release table (#798) (#808)
  * ci: refresh dev dependencies (#813) (#814)
  * Update developing_program_flow_modules.rst (#819) (#820)
  * update galaxy urls for networking docs' (#822) (#823)
  * communication.rst: remove inactive security WG (#828) (#830)
  * communication.rst: update MySQL WG to point to the forum group
    page (#795) (#803)
  * communication.rst: update Docs WG reference (#785) (#800)
  * Update the Note for certificate authentication with a TLS 1.3
    connection in windows_winrm.rst  (#757) (#780)
  * [2.15] Add Ansible community 8.6.0 porting guide (#788) (#792)
  * update versioning for 2.16 (#755) (#779)
  * intro_installation: pass --include-injected in pipx upgrade
    example (#745) (#767)
  * Replaced the AWX mailing list with the AWX Forum page. (#769)
    (#776)</changelog>
  <changelog author="kastl@b1-systems.de" date="1702382400">- Update to version 2.15.8:
  * Retroactivelly add a 2.15 porting guide note about handlers
    (#882)
  * bump approved antsibull-docs version to 2.6.0
  * documentation_contributions: show how to set up a venv and
    remove outdated notes (#911) (#949)
  * Update windows_winrm.rst (#910) (#952)
  * handlers notify example indentation fix (#915) (#948)
  * Merge pull request #937 from Andersson007/add_pr_link (#945)
  * Add Ansible community 8.7.0 porting guide (#938)
  * Add porting guide for CVE-2023-5764 (#933)
  * ci: refresh dev dependencies (#914)
  * README: consistently use `nox -s` over `nox -e` (#923)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705838400">- Update to version 2.16.0:
  This tag contains a snapshot of the ansible-documentation
  stable-2.16 branch at the time of the ansible-core 2.16.0
  release.</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705838401">- Update to version 2.16.1:
  * nox pip-compile: allow passing --no-upgrade flag (#883) (#920)
  * add nox make session and revamp contribution docs (#707) (#917)
  * installation_guide/intro: update seealso with respect to
    communication (#869) (#908)
  * Update links in plugin documentation (#859) (#907)
  * installation_distros.rst: fix RST hyperlink syntax (#857)
    (#904)
  * developing_collections_path.rst: fix formatting (#842) (#901)
  * Add the mission statement to the community guide (#854) (#902)
  * Fix Edit on GitHub for templated pages, remove superfluous
    template, fix broken link (#865) (#892)
  * add ansible-galaxy to command cheatsheet (#826) (#898)
  * Fix delegate_to details about inheriting vars from 'all' (#825)
    (#897)
  * Update developing_program_flow_modules.rst (#819) (#895)
  * intro_installation: add EE info (#870) (#894)
  * developing_collections_structure.rst: Add EE collection-level
    metadata link to meta directory subsection (#855) (#890)
  * update python versions in installation guide (#836) (#887)
  * add support for Ansible 9 intersphinx links (#878) (#879)
  * Refs #340: Swap old 'CLA' for the DCO (#598) (#875)
  * Add porting guide for CVE-2023-5764 (#866)
  * Update the information on RouterOS network connections. (#841)
    (#863)
  * update galaxy urls for networking docs' (#822) (#862)
  * ci: refresh dev dependencies (#839)
  * ci: refresh dev dependencies (#813)
  * sphinx: remove usage of deprecated notfound-page options (#827)
  * update logic to make it easier to patch for core vs ansible
    release (#849) (#850)
  * downgrade sphinx to 7.1.2 to fix 404 pages
  * add Ansible 9 changelogs (#831) (#848)
  * update backport instructions to match 2.16 (#799) (#846)
  * Set release version to 9 (#832) (#845)
  * Add Ansible community 9.0.0 porting guide (#843) (#844)
  * developing_collections.rst: add collection creator path (#775)
    (#835)
  * EOL 2.13 in release table (#798) (#810)
  * communication.rst: remove inactive security WG (#828) (#833)
  * communication.rst: update Docs WG reference (#785) (#802)
  * communication.rst: update MySQL WG to point to the forum group
    page (#795) (#805)
  * Update the Note for certificate authentication with a TLS 1.3
    connection in windows_winrm.rst  (#757) (#781)
  * [PR #788/2a485247 backport][stable-2.16] Add Ansible community
    8.6.0 porting guide (#791)
  * Porting guide for 9.0.0b1. (#787) (#790)
  * update versioning for 2.16 (#755) (#783)
  * communication.rst: Make WG a top-level section (#750) (#764)
  * intro_installation: pass --include-injected in pipx upgrade
    example (#745) (#768)
  * Replaced the AWX mailing list with the AWX Forum page. (#769)
    (#777)
  * set release version to 2.16 (#756)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705838402">- Update to version 2.16.2:
  * Retroactivelly add a 2.15 porting guide note about handlers
    (#882)
  * bump approved antsibull-docs version to 2.6.0
  * Update windows_winrm.rst (#910) (#951)
  * documentation_contributions: show how to set up a venv and
    remove outdated notes (#911) (#950)
  * handlers notify example indentation fix (#915) (#947)
  * Improve module developing documenation for deprecation and
    linking (#943) (#946)
  * Merge pull request #937 from Andersson007/add_pr_link (#944)
  * Add Ansible community 8.7.0 porting guide (#938)
  * Add 2.14 and 2.15 CVE porting guide to 2.16 (#932)
  * Merge pull request #929 from anweshadas/pr_porting_guide_9.1.0
    (#936)
  * Ansible 9: Follow ansible-core more closely (#856) (#934)
  * README: consistently use `nox -s` over `nox -e` (#923)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706616000">- Update to version 2.16.3:
  * convert core docs to use Ansible sphinx theme (#922) (#1067)
  * fix internal links for ansible forum (#1052) (#1062)
  * added `gather_facts/(yes/no)` (#1003) (#1043)
  * [backport][2.16] Add how to request a working group (#912)
    (#1041)
  * collection_requirements: add meta/execution-environments.yml
    (#871) (#1048)
  * collection requirements/steering committee inclusion policy:
    change (#995) (#1047)
  * Proof reading II (#733) (#1039)
  * fix intersphinx  tuples (#880) (#1038)
  * Update task definition in playbook getting started doc (#1029)
    (#1032)
  * Update Arch Linux bugtracker link (#1027) (#1033)
  * ci: refresh dev dependencies (#1022)
  * corrected `test/` folder to `tests/` (#993) (#1017)
  * docs: Document removal of ConfigureRemotingForAnsible.ps1 #794
    (#984) (#1010)
  * Add documentation about --exclude flag (#978) (#1016)
  * Merge pull request #957 from akira6592/fix-exapmle-role-name
    (#1011)
  * Fixed DCO file link (#1005) (#1007)
  * Update windows_setup.rst to fix link (#766) (#1009)
  * Adds note for more details about variable precedence (#930)
  * Document collection naming (#987)
  * Collection requirements: add seealso with link to Collection
    creator path (#976) (#985)
  * Fix argument_specs.yml example (#956) (#988)
  * Add documentation for the custom Jinja2 global function `undef`
    (#953)
  * clone-core.py: allow specifying custom branch and repo (#954)
  * get_bot_user: use correct username in committer email
  * ci pr_labeler: also use the app token for issues (#636)
  * ci pip-compile: remove duplicate environment key (#633)
  * ci: use Github App token to authenticate (#621)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590400">- Update to version 2.16.4:
  * ci: refresh dev dependencies (#1162)
  * Fix problems with example inventory in the intro_patterns doc
    (#1138) (#1158)
  * Update playbooks_templating_now.rst (#1099) (#1156)
  * Merge pull request #1114 from akira6592/fix-ellipsis
  * Merge pull request #1115 from h3xx/fix-syntax-error
  * Merge pull request #1119 from tomkivlin/tomkivlin-patch-1
  * Remove/update incorrect docs building documentation (#1128)
  * steering committee: update members / past members lists (#1143)
    (#1144)
  * Fix core deprecation cycle example to match reality (#1113)
  * Add example around ansible-galaxy command (#1053)
  * ci: refresh dev dependencies (#1131)
  * Improve role argspec documentation (#1126)
  * Update Ansible 9 porting guide. (#1124) (#1125)
  * Merge pull request #1111 from bcoca/fix_typo
  * ci: refresh dev dependencies (#1091)
  * fix version switcher problem` (#1112)
  * Fix doc prompts (#1074) (#1107)
  * nox: run clone-core session in a venv as well (#1055) (#1060)
  * [network] update note about `gather_network_resources` (#1096)
    (#1104)
  * Add network differences explanation (#1051) (#1072)
  * remove outdated ansible/community links (#913)
  * Collection requirements: undocumented-parameter must only be
    used for deprecated parameters or internal parameters (#989)
    (#1100)
  * Extend Ansible 9 lifecycle to November 2024 (#1023) (#1098)
  * Ansible 10 roadmap (#994) (#1097)
  * Add Ansible community 9.2.0 porting guide (#1087)
  * Bump antsibull-docs to 2.7.0. (#1090)
  * community_steering_committee.rst: update with respect to forum
    and collection requirements (#997)
  * ci: refresh dev dependencies (#1049) (#1061)
  * ci: refresh dev dependencies (#1065) (#1077)
  * Remove 2.10 from build (#1046)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1711540800">- Update to version 2.16.5:
  * Merge pull request #1189 from ericzolf/ericzolf-fix-ipaddr
  * Unintended or undocumented functionality may be removed without
    deprecation (#1209) (#1223)
  * Document attributes (#1130) (#1230)
  * Cheat sheet instructions for ansible ad-hoc commands (#1171)
    (#1228)
  * Update playbooks_advanced_syntax.rst (#1208) (#1224)
  * Update testing_units_modules.rst (#1210) (#1220)
  * Add link to antsibull-docs docsite (#1198) (#1207)
  * Trim down the docs banners (#1188) (#1204)
  * Merge pull request #1201 from samccann/fix-nit (#1203)
  * Merge pull request #1172 from ansible/pip-compile/devel/dev
  * Merge pull request #1191 from oraNod/fix-ruff-path
  * Update documentation about vars: in roles: since they're no
    longer added to the play's variables (#1181) (#1186)
  * Fix typo (#1175) (#1184)
  * Data Tagging Delayed to 2.18 (#1182) (#1183)
  * [Needs SC vote] Steering Committee: votes on new members to be
    conducted on the forum; change the chairperson election
    procedure (#1085) (#1170)
  * Merge pull request #1174 from
    ansible/dependabot/github_actions/wntrblm/nox-2024.03.02
  * Add Ansible community 9.3.0 porting guide (#1168)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1713268800">- Update to version 2.16.6:
  * Add Ansible 9.4.0 porting guide. (#1238)
  * ci: refresh dev dependencies (#1214)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716465600">- Update to version 2.16.7:
  * Merge pull request #1479 from felixfontein/fix
  * Merge pull request #1416 from sourn00dl/feature#881
  * Merge pull request #1248 from BhattacharjeeSutapa/ansible-doc
  * Update community topics links (#1451) (#1469)
  * community_topics_workflow: fix formatting (#1270) (#1467)
  * SC: move community_topics_workflow.md to docs.ansible.com
    (#1257) (#1466)
  * Merge pull request #1408 from ansible/pip-compile/devel/dev
  * Update playbooks_reuse_roles.rst (#1415) (#1429)
  * clarify backup_file (#1391) (#1441)
  * Document the possibility of vars/main and defaults/main being
    directories (#1320) (#1443)
  * how_can_i_help page: rephrase the paragraph mentioning forums
    (#1410) (#1433)
  * Restore the umask note for building docs (#1400) (#1437)
  * intro_installation.rst: shells -&gt; shell's to make possessive
    (#1420) (#1424)
  * Bump antsibull-docs to 2.11.0. (#1417) (#1419)
  * Adding explanation for combining until with loop (#1367)
  * update codespell ignore lines (#1366) (#1406)
  * Integrate ansible-creator and devtools into the developing
    collections guide (#1302) (#1401)
  * follows up on #1042 to remove smart from uptime script (#1340)
    (#1397)
  * New section on combining variables added (#1383) (#1389)
  * CONTRIBUTING: document backport labels and PR Merging (#1364)
    (#1393)
  * Fix typos in style guide (#1368)
  * MUNI_TECH_WRITERS: Better documented local collections for
    playbooks #1129 (#1315)
  * ci: refresh dev dependencies
  * Add examples to clarify inventory plugin usage (#1347)
  * Merge pull request #1311 from
    TarzanOfJungle/defining-changed-issue
  * Merge pull request #1296 from terezahelanova/feature/#793
  * Merge pull request #1303 from terezahelanova/feature/#96
  * Merge pull request #1283 from Devids10/clarify_example_module
  * Merge pull request #1258 from Devids10/paramiko_contradictions
  * Merge pull request #1275 from ansible/bcoca-patch-2
  * Merge pull request #1293 from terezahelanova/fix/#1199
  * Bump wntrblm/nox from 2024.03.02 to 2024.04.15
  * Add Ansible 9.5.1 porting guide. (#1312)
  * Merge pull request #1300 from ansible/pip-compile/devel/dev
  * Update playbooks_blocks.rst (#1190)
  * Merge pull request #1233 from meizhaohui/patch-1
  * Merge pull request #1277 from ansible/pip-compile/devel/dev
  * Avoid using sh.
  * Bump antsibull-docs to 2.10.0.</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1718798400">- Update to version 2.16.8:
  * ci: refresh dev dependencies
  * clarify how to verify collection-level docs (#1589) (#1594)
  * cause people keep doing this (#1567) (#1583)
  * Update uptime.py (#1524) (#1580)
  * Update playbooks_loops.rst (#1569) (#1577)
  * Merge pull request #1568 from samccann/bullhorn-edit
  * Merge pull request #1566 from samccann/intersphinx
  * Merge pull request #1562 from M15terHyde/patch-1
  * update conf.py for Ansible 10 (#1544) (#1560)
  * Update release table for Ansible 10 and 9 (#1543) (#1557)
  * Update playbooks_blocks.rst (#1546) (#1553)
  * Merge pull request #1527 from ansible/pip-compile/devel/dev
  * Python collection requirements: restructure (#1459) (#1541)
  * Merge pull request #1529 from
    Andersson007/update_overview_links
  * Merge pull request #1530 from oraNod/fix-spelling
  * release_and_maintenance: mark 8.x unmaintained as 8.7.0
    released (#1522) (#1525)
  * mark 2.14 EOL in the release table (#1502) (#1520)
  * update backport instructions for 2.17 (#1504) (#1516)
  * Merge pull request #1321 from vojtam/feature/#357
  * Update collection_checklist.md links to point to new location
    (#1505) (#1507)
  * Move Ansible package collection removal process to
    docs.ansible.com (#1492) (#1509)
  * Add Ansible community 9.6.0 porting guide (#1493)
  * ci: refresh dev dependencies
  * update version switcher to suppor 2.17 (#1464) (#1485)
  * collection_requirements: update community topic links (#1421)
    (#1483)</changelog>
</package>
<package pkgid="bdc03d2f987a6f99db8d5ad998bd55da7f620d84f2efca9faa94fd8fbc587d81293bd439cb4971304172a1233f0f908d55a1a4589978157ffd0bcb417252a1ea" name="ansible-documentation" arch="src">
  <version epoch="0" ver="2.16.8" rel="1.1"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694174400">- new package ansible-documentation</changelog>
  <changelog author="kastl@b1-systems.de" date="1694520000">- Update to version 2.15.4:
  This tag contains a snapshot of the ansible-documentation
  stable-2.15 branch at the time of the ansible-core 2.15.4
  release.</changelog>
  <changelog author="kastl@b1-systems.de" date="1696939200">- Update to version 2.15.5:
  This tag contains a snapshot of the ansible-documentation
  stable-2.15 branch at the time of the ansible-core 2.15.5
  release.
  * better description of 'short' (#528) (#533)
  * Fix typo (#454) (#517)
  * Add preferred terms list to style guide (#386) (#516)
  * Update automationhub.rst #477 (#485) (#492)
  * pr_labeler: change link to the DAWGs meeting agenda (#497)
    (#504)
  * Bump antsibull-docs to 2.5.0 (#467) (#480)
  * Bump docs build requirements for stable-2.15. (#448)
  * Update 'For instance' to 'For example' (#472) (#475)
  * Prepare Galaxy guides for GalaxyNG (#388) (#474)
  * [stable-2.15] ci: refresh dev dependencies (#447)
  * Add label to 'collections:' keyword. (#434) (#435)
  * Backport/2.15/425 - Change banner for Contributor summit (#430)
  * Update developing_collections_creating.rst (#414) (#416)
  * Removing [] from --tags and --skip-tags (#406) (#421)
  * readthedocs stable-2.15 (#413)
  * added example using the variables (#393) (#394)
  * ci: refresh dev dependencies (#402) (#407)
  * build(deps): bump actions/checkout from 3 to 4 (#372) (#405)
  * Add Ansible community 8.4.0 porting guide (#384) (#385)</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1699358400">- update to 2.15.6:
  This tag contains a snapshot of the ansible-documentation
  stable-2.15 branch at the time of the ansible-core 2.15.6
  release.</changelog>
  <changelog author="kastl@b1-systems.de" date="1699358401">- Update to version 2.15.6:
  * ci: refresh dev dependencies (#770)
  * Fixed equalto test filter (#758) (#759)
  * ci: refresh dev dependencies (#741)
  * nox and README: log PIP_CONSTRAINT value and add Dependency file docs (#730) (#737)
  * [stable-2.15] installation_guide/intro_configuration.rst: improve readability
  * Proof reading (#616) (#729)
  * [PR #668/8d847046 backport] Integrate docs checkers into the noxfile (#727)
  * ci: refresh dev dependencies (#721) (#722)
  * Update JSON queries examples (#690) (#704)
  * communication.rst: other forum-related tweaks (#669) (#698)
  * documentation_contributions: use tests/checkers.py (#706) (#712)
  * Update slicing in inventory pattern (#541) (#693)
  * [stable-2.15] Unify the Sphinx's `conf.py` files (#431) (#627)
  * Update shebang sanity test docs to match test (#677) (#687)
  * Update example using special variables in resuce section of blocks (#671) (#680)
  * ci: refresh dev dependencies (#682)
  * ci: refresh dev dependencies (#672)
  * Use a working exponential backoff example (#607) (#660)
  * Rename tests/sanity.py to tests/checkers.py (#563) (#663)
  * Added delegation info to special vars (#629) (#659)
  * Add forum info to collection maintainer guidelines (#549) (#655)
  * Fix#129 (#201) (#613)
  * Update PowerShell Codeblock (#489) (#603)
  * Changed it's to it is in all .rst files (#491)
  * Clarify that two releases will happen on two separate days, and clarify which one will happen first (#39)
  * pr_labeler: stop adding needs_triage labels to new PRs (#643) (#645)
  * ci: refresh dev dependencies (#638) (#641)
  * [stable-2.15] Add RST spellcheck (#524) (#623)
  * corrected cli for help (#599) (#600)
  * communication.rst: Add a link to the forum group list (#571) (#594)
  * developing_collections_structure.rs: Fix link formatting (#570) (#591)
  * Testing collections guide: add GHA info and link to sample matrix (#569) (#588)
  * issue #560 fix broken url in script (#568) (#585)
  * Document how to bump dependencies (#446) (#614)
  * ci: refresh dev dependencies (#608) (#609)
  * Merge pull request #27 from oraNod/issue-26/add-intro-getting-started (#526)
  * Spellingfix (#494) (#583)
  * communication.rst: fix link (#495) (#580)
  * More info on delegation behaviours (#527) (#582)
  * Replace i.e with that is  (#490) (#565)
  * Fix for : Replace all occurrences of via to with #459 (#479) (#578)
  * issue-457: Update all occurrences of Ansible core to Ansible Core (#471) (#575)
  * communication.rst: Add Release Management WG info (#438) (#574)
  * Update collections_installing.rst (#412) (#573)
  * communication.rst: add forum info (#392) (#572)
  * Integrate `docs/bin/*.py` files into the nox config (#529) (#562)
  * Add Ansible community 8.5.0 porting guide (#556) (#557)
  * fix molecule link in contributor path page (#538) (#551)
  * Add Arch installation instructions in the installation_distros documentation (#522) (#545)
  * ci: refresh dev dependencies (#548)</changelog>
  <changelog author="kastl@b1-systems.de" date="1701777600">- Update to version 2.15.7:
  * nox pip-compile: allow passing --no-upgrade flag (#883) (#919)
  * add nox make session and revamp contribution docs (#707) (#916)
  * installation_guide/intro: update seealso with respect to
    communication (#869) (#909)
  * Update links in plugin documentation (#859) (#906)
  * installation_distros.rst: fix RST hyperlink syntax (#857)
    (#903)
  * Updated loop docs (#838) (#899)
  * intro_installation: add EE info (#870) (#893)
  * Fix Edit on GitHub for templated pages, remove superfluous
    template, fix broken link (#865) (#891)
  * developing_collections_structure.rst: Add EE collection-level
    metadata link to meta directory subsection (#855) (#889)
  * Add the mission statement to the community guide (#854) (#888)
  * update python versions in installation guide (#836) (#886)
  * add ansible-galaxy to command cheatsheet (#826) (#884)
  * Refs #340: Swap old 'CLA' for the DCO (#598) (#874)
  * ci: refresh dev dependencies (#839) (#861)
  * Add porting guide for CVE-2023-5764 (#867)
  * Update the information on RouterOS network connections. (#841)
    (#864)
  * update backport instructions to match 2.16 (#799) (#847)
  * Fix delegate_to details about inheriting vars from 'all' (#825)
    (#834)
  * communication.rst: Make WG a top-level section (#750) (#806)
  * EOL 2.13 in release table (#798) (#808)
  * ci: refresh dev dependencies (#813) (#814)
  * Update developing_program_flow_modules.rst (#819) (#820)
  * update galaxy urls for networking docs' (#822) (#823)
  * communication.rst: remove inactive security WG (#828) (#830)
  * communication.rst: update MySQL WG to point to the forum group
    page (#795) (#803)
  * communication.rst: update Docs WG reference (#785) (#800)
  * Update the Note for certificate authentication with a TLS 1.3
    connection in windows_winrm.rst  (#757) (#780)
  * [2.15] Add Ansible community 8.6.0 porting guide (#788) (#792)
  * update versioning for 2.16 (#755) (#779)
  * intro_installation: pass --include-injected in pipx upgrade
    example (#745) (#767)
  * Replaced the AWX mailing list with the AWX Forum page. (#769)
    (#776)</changelog>
  <changelog author="kastl@b1-systems.de" date="1702382400">- Update to version 2.15.8:
  * Retroactivelly add a 2.15 porting guide note about handlers
    (#882)
  * bump approved antsibull-docs version to 2.6.0
  * documentation_contributions: show how to set up a venv and
    remove outdated notes (#911) (#949)
  * Update windows_winrm.rst (#910) (#952)
  * handlers notify example indentation fix (#915) (#948)
  * Merge pull request #937 from Andersson007/add_pr_link (#945)
  * Add Ansible community 8.7.0 porting guide (#938)
  * Add porting guide for CVE-2023-5764 (#933)
  * ci: refresh dev dependencies (#914)
  * README: consistently use `nox -s` over `nox -e` (#923)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705838400">- Update to version 2.16.0:
  This tag contains a snapshot of the ansible-documentation
  stable-2.16 branch at the time of the ansible-core 2.16.0
  release.</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705838401">- Update to version 2.16.1:
  * nox pip-compile: allow passing --no-upgrade flag (#883) (#920)
  * add nox make session and revamp contribution docs (#707) (#917)
  * installation_guide/intro: update seealso with respect to
    communication (#869) (#908)
  * Update links in plugin documentation (#859) (#907)
  * installation_distros.rst: fix RST hyperlink syntax (#857)
    (#904)
  * developing_collections_path.rst: fix formatting (#842) (#901)
  * Add the mission statement to the community guide (#854) (#902)
  * Fix Edit on GitHub for templated pages, remove superfluous
    template, fix broken link (#865) (#892)
  * add ansible-galaxy to command cheatsheet (#826) (#898)
  * Fix delegate_to details about inheriting vars from 'all' (#825)
    (#897)
  * Update developing_program_flow_modules.rst (#819) (#895)
  * intro_installation: add EE info (#870) (#894)
  * developing_collections_structure.rst: Add EE collection-level
    metadata link to meta directory subsection (#855) (#890)
  * update python versions in installation guide (#836) (#887)
  * add support for Ansible 9 intersphinx links (#878) (#879)
  * Refs #340: Swap old 'CLA' for the DCO (#598) (#875)
  * Add porting guide for CVE-2023-5764 (#866)
  * Update the information on RouterOS network connections. (#841)
    (#863)
  * update galaxy urls for networking docs' (#822) (#862)
  * ci: refresh dev dependencies (#839)
  * ci: refresh dev dependencies (#813)
  * sphinx: remove usage of deprecated notfound-page options (#827)
  * update logic to make it easier to patch for core vs ansible
    release (#849) (#850)
  * downgrade sphinx to 7.1.2 to fix 404 pages
  * add Ansible 9 changelogs (#831) (#848)
  * update backport instructions to match 2.16 (#799) (#846)
  * Set release version to 9 (#832) (#845)
  * Add Ansible community 9.0.0 porting guide (#843) (#844)
  * developing_collections.rst: add collection creator path (#775)
    (#835)
  * EOL 2.13 in release table (#798) (#810)
  * communication.rst: remove inactive security WG (#828) (#833)
  * communication.rst: update Docs WG reference (#785) (#802)
  * communication.rst: update MySQL WG to point to the forum group
    page (#795) (#805)
  * Update the Note for certificate authentication with a TLS 1.3
    connection in windows_winrm.rst  (#757) (#781)
  * [PR #788/2a485247 backport][stable-2.16] Add Ansible community
    8.6.0 porting guide (#791)
  * Porting guide for 9.0.0b1. (#787) (#790)
  * update versioning for 2.16 (#755) (#783)
  * communication.rst: Make WG a top-level section (#750) (#764)
  * intro_installation: pass --include-injected in pipx upgrade
    example (#745) (#768)
  * Replaced the AWX mailing list with the AWX Forum page. (#769)
    (#777)
  * set release version to 2.16 (#756)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705838402">- Update to version 2.16.2:
  * Retroactivelly add a 2.15 porting guide note about handlers
    (#882)
  * bump approved antsibull-docs version to 2.6.0
  * Update windows_winrm.rst (#910) (#951)
  * documentation_contributions: show how to set up a venv and
    remove outdated notes (#911) (#950)
  * handlers notify example indentation fix (#915) (#947)
  * Improve module developing documenation for deprecation and
    linking (#943) (#946)
  * Merge pull request #937 from Andersson007/add_pr_link (#944)
  * Add Ansible community 8.7.0 porting guide (#938)
  * Add 2.14 and 2.15 CVE porting guide to 2.16 (#932)
  * Merge pull request #929 from anweshadas/pr_porting_guide_9.1.0
    (#936)
  * Ansible 9: Follow ansible-core more closely (#856) (#934)
  * README: consistently use `nox -s` over `nox -e` (#923)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706616000">- Update to version 2.16.3:
  * convert core docs to use Ansible sphinx theme (#922) (#1067)
  * fix internal links for ansible forum (#1052) (#1062)
  * added `gather_facts/(yes/no)` (#1003) (#1043)
  * [backport][2.16] Add how to request a working group (#912)
    (#1041)
  * collection_requirements: add meta/execution-environments.yml
    (#871) (#1048)
  * collection requirements/steering committee inclusion policy:
    change (#995) (#1047)
  * Proof reading II (#733) (#1039)
  * fix intersphinx  tuples (#880) (#1038)
  * Update task definition in playbook getting started doc (#1029)
    (#1032)
  * Update Arch Linux bugtracker link (#1027) (#1033)
  * ci: refresh dev dependencies (#1022)
  * corrected `test/` folder to `tests/` (#993) (#1017)
  * docs: Document removal of ConfigureRemotingForAnsible.ps1 #794
    (#984) (#1010)
  * Add documentation about --exclude flag (#978) (#1016)
  * Merge pull request #957 from akira6592/fix-exapmle-role-name
    (#1011)
  * Fixed DCO file link (#1005) (#1007)
  * Update windows_setup.rst to fix link (#766) (#1009)
  * Adds note for more details about variable precedence (#930)
  * Document collection naming (#987)
  * Collection requirements: add seealso with link to Collection
    creator path (#976) (#985)
  * Fix argument_specs.yml example (#956) (#988)
  * Add documentation for the custom Jinja2 global function `undef`
    (#953)
  * clone-core.py: allow specifying custom branch and repo (#954)
  * get_bot_user: use correct username in committer email
  * ci pr_labeler: also use the app token for issues (#636)
  * ci pip-compile: remove duplicate environment key (#633)
  * ci: use Github App token to authenticate (#621)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590400">- Update to version 2.16.4:
  * ci: refresh dev dependencies (#1162)
  * Fix problems with example inventory in the intro_patterns doc
    (#1138) (#1158)
  * Update playbooks_templating_now.rst (#1099) (#1156)
  * Merge pull request #1114 from akira6592/fix-ellipsis
  * Merge pull request #1115 from h3xx/fix-syntax-error
  * Merge pull request #1119 from tomkivlin/tomkivlin-patch-1
  * Remove/update incorrect docs building documentation (#1128)
  * steering committee: update members / past members lists (#1143)
    (#1144)
  * Fix core deprecation cycle example to match reality (#1113)
  * Add example around ansible-galaxy command (#1053)
  * ci: refresh dev dependencies (#1131)
  * Improve role argspec documentation (#1126)
  * Update Ansible 9 porting guide. (#1124) (#1125)
  * Merge pull request #1111 from bcoca/fix_typo
  * ci: refresh dev dependencies (#1091)
  * fix version switcher problem` (#1112)
  * Fix doc prompts (#1074) (#1107)
  * nox: run clone-core session in a venv as well (#1055) (#1060)
  * [network] update note about `gather_network_resources` (#1096)
    (#1104)
  * Add network differences explanation (#1051) (#1072)
  * remove outdated ansible/community links (#913)
  * Collection requirements: undocumented-parameter must only be
    used for deprecated parameters or internal parameters (#989)
    (#1100)
  * Extend Ansible 9 lifecycle to November 2024 (#1023) (#1098)
  * Ansible 10 roadmap (#994) (#1097)
  * Add Ansible community 9.2.0 porting guide (#1087)
  * Bump antsibull-docs to 2.7.0. (#1090)
  * community_steering_committee.rst: update with respect to forum
    and collection requirements (#997)
  * ci: refresh dev dependencies (#1049) (#1061)
  * ci: refresh dev dependencies (#1065) (#1077)
  * Remove 2.10 from build (#1046)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1711540800">- Update to version 2.16.5:
  * Merge pull request #1189 from ericzolf/ericzolf-fix-ipaddr
  * Unintended or undocumented functionality may be removed without
    deprecation (#1209) (#1223)
  * Document attributes (#1130) (#1230)
  * Cheat sheet instructions for ansible ad-hoc commands (#1171)
    (#1228)
  * Update playbooks_advanced_syntax.rst (#1208) (#1224)
  * Update testing_units_modules.rst (#1210) (#1220)
  * Add link to antsibull-docs docsite (#1198) (#1207)
  * Trim down the docs banners (#1188) (#1204)
  * Merge pull request #1201 from samccann/fix-nit (#1203)
  * Merge pull request #1172 from ansible/pip-compile/devel/dev
  * Merge pull request #1191 from oraNod/fix-ruff-path
  * Update documentation about vars: in roles: since they're no
    longer added to the play's variables (#1181) (#1186)
  * Fix typo (#1175) (#1184)
  * Data Tagging Delayed to 2.18 (#1182) (#1183)
  * [Needs SC vote] Steering Committee: votes on new members to be
    conducted on the forum; change the chairperson election
    procedure (#1085) (#1170)
  * Merge pull request #1174 from
    ansible/dependabot/github_actions/wntrblm/nox-2024.03.02
  * Add Ansible community 9.3.0 porting guide (#1168)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1713268800">- Update to version 2.16.6:
  * Add Ansible 9.4.0 porting guide. (#1238)
  * ci: refresh dev dependencies (#1214)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716465600">- Update to version 2.16.7:
  * Merge pull request #1479 from felixfontein/fix
  * Merge pull request #1416 from sourn00dl/feature#881
  * Merge pull request #1248 from BhattacharjeeSutapa/ansible-doc
  * Update community topics links (#1451) (#1469)
  * community_topics_workflow: fix formatting (#1270) (#1467)
  * SC: move community_topics_workflow.md to docs.ansible.com
    (#1257) (#1466)
  * Merge pull request #1408 from ansible/pip-compile/devel/dev
  * Update playbooks_reuse_roles.rst (#1415) (#1429)
  * clarify backup_file (#1391) (#1441)
  * Document the possibility of vars/main and defaults/main being
    directories (#1320) (#1443)
  * how_can_i_help page: rephrase the paragraph mentioning forums
    (#1410) (#1433)
  * Restore the umask note for building docs (#1400) (#1437)
  * intro_installation.rst: shells -&gt; shell's to make possessive
    (#1420) (#1424)
  * Bump antsibull-docs to 2.11.0. (#1417) (#1419)
  * Adding explanation for combining until with loop (#1367)
  * update codespell ignore lines (#1366) (#1406)
  * Integrate ansible-creator and devtools into the developing
    collections guide (#1302) (#1401)
  * follows up on #1042 to remove smart from uptime script (#1340)
    (#1397)
  * New section on combining variables added (#1383) (#1389)
  * CONTRIBUTING: document backport labels and PR Merging (#1364)
    (#1393)
  * Fix typos in style guide (#1368)
  * MUNI_TECH_WRITERS: Better documented local collections for
    playbooks #1129 (#1315)
  * ci: refresh dev dependencies
  * Add examples to clarify inventory plugin usage (#1347)
  * Merge pull request #1311 from
    TarzanOfJungle/defining-changed-issue
  * Merge pull request #1296 from terezahelanova/feature/#793
  * Merge pull request #1303 from terezahelanova/feature/#96
  * Merge pull request #1283 from Devids10/clarify_example_module
  * Merge pull request #1258 from Devids10/paramiko_contradictions
  * Merge pull request #1275 from ansible/bcoca-patch-2
  * Merge pull request #1293 from terezahelanova/fix/#1199
  * Bump wntrblm/nox from 2024.03.02 to 2024.04.15
  * Add Ansible 9.5.1 porting guide. (#1312)
  * Merge pull request #1300 from ansible/pip-compile/devel/dev
  * Update playbooks_blocks.rst (#1190)
  * Merge pull request #1233 from meizhaohui/patch-1
  * Merge pull request #1277 from ansible/pip-compile/devel/dev
  * Avoid using sh.
  * Bump antsibull-docs to 2.10.0.</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1718798400">- Update to version 2.16.8:
  * ci: refresh dev dependencies
  * clarify how to verify collection-level docs (#1589) (#1594)
  * cause people keep doing this (#1567) (#1583)
  * Update uptime.py (#1524) (#1580)
  * Update playbooks_loops.rst (#1569) (#1577)
  * Merge pull request #1568 from samccann/bullhorn-edit
  * Merge pull request #1566 from samccann/intersphinx
  * Merge pull request #1562 from M15terHyde/patch-1
  * update conf.py for Ansible 10 (#1544) (#1560)
  * Update release table for Ansible 10 and 9 (#1543) (#1557)
  * Update playbooks_blocks.rst (#1546) (#1553)
  * Merge pull request #1527 from ansible/pip-compile/devel/dev
  * Python collection requirements: restructure (#1459) (#1541)
  * Merge pull request #1529 from
    Andersson007/update_overview_links
  * Merge pull request #1530 from oraNod/fix-spelling
  * release_and_maintenance: mark 8.x unmaintained as 8.7.0
    released (#1522) (#1525)
  * mark 2.14 EOL in the release table (#1502) (#1520)
  * update backport instructions for 2.17 (#1504) (#1516)
  * Merge pull request #1321 from vojtam/feature/#357
  * Update collection_checklist.md links to point to new location
    (#1505) (#1507)
  * Move Ansible package collection removal process to
    docs.ansible.com (#1492) (#1509)
  * Add Ansible community 9.6.0 porting guide (#1493)
  * ci: refresh dev dependencies
  * update version switcher to suppor 2.17 (#1464) (#1485)
  * collection_requirements: update community topic links (#1421)
    (#1483)</changelog>
</package>
<package pkgid="0ac72fc670ff7f4e04caa4a0a9e911ce8e22b72f60d3d5470c2f0c2f0b89cc18c3382dce5f3758ebff5add0336e644ad9ca1a8efb91ea4e9ff231802f47ff0a4" name="ansible-lint" arch="noarch">
  <version epoch="0" ver="24.6.1" rel="1.0.2.1.sr20240605"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694001600">- update to 6.18.0:
  * Minor Changes
  - Limit the maximum block depth (#3602) @Ruchip16
  - Transform functionality for command_instead_of_shell  (#3675)
    @ajinkyau
  - Add rule to check the number of tasks (#3156) @Ruchip16
  * Bugfixes
  - Clarify loop-var-prefix rule and code snippet (#3642)
    @schwarmco
  - Update `version_added` for complexity rule (#3623) @ajinkyau
  - Ensure that single space between tasks is preserved when
    using --write (#3641) @shatakshiiii
  - Update ansible-compat used for testing (#3664) @ssbarnea
  - Document `yaml[line-length]` rule (#3653) @shatakshiiii
  - Prevent use of spdx-tools 0.8.0 due to breaking changes
    (#3649) @ssbarnea
  - fixes dead marketplace link (#3631) @wookietreiber
  - Improve profile information on summary line (#3637)
    @ziegenberg
  - command-instead-of-module: allow `git rev-parse` (#3610)
    @JohnVillalovos
  - Include filepaths starting from $HOME in lintables (#3621)
    @shatakshiiii
  - Update _mockings.py to fix bug created in #3390 (#3614)
    @karcaw
  - Allow to set gather_facts as templated boolean (#3606)
    @noonedeadpunk
  - Add dependency version check for collection metadata (#3601)
    @ajinkyau
  - Fix installation of dependencies when run as an action
    (#3592) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694001601">- check/add/modify BuildRequires and Requires
- update to 6.19.0:
  * Minor Changes
  - Add auto transform for no-log-password rule (#3708) @ajinkyau
  - Add auto-fixing implementation for key-order[task] rule
    (#3705) @ajinkyau
  - Add auto-fixing implementation for `jinja[spacing]` rule
    (#3691) @ajinkyau
  - Make schema validation messages more explicit (#3701)
    @ssbarnea
  - Transform for deprecated-local-action rule (#3689) @ajinkyau
  * Bugfixes
  - Require ansible-compat&gt;=4.1.10 (#3723) @ssbarnea
  - Skip altered path warning for `ansible-lint` installed by
    `pipx` (#3720) @chrysle
  - Update transform for `key-order` rule (#3719) @ajinkyau
  - Allow installation of pre-release collection version as
    dependencies (#3716) @ssbarnea
  - Avoid deprecated-bare-vars false positive with file paths
    (#3709) @ssbarnea
  - Limit sequence-of-sequence indents to a single space (#3671)
    @Qalthos
  - Avoid no-handlers false positives (#3702) @ssbarnea
  - Add missing word to risky-shell-pipe docs (#3704) @roock
  - Avoid yamllint truthy violations with github workflows
    (#3698) @ssbarnea
  - Avoid false positive with var-name rule on roles (#3697)
    @ssbarnea
  - Include links to documentation for schema validation errors
    (#3684) @ssbarnea
  - Schema update (#3693) @cidrblock
  - Use yaml.load_all for multiple yaml document (#3679)
    @shatakshiiii
  - Ignore user configured value for any_unparsed_is_failed
    (#3680) @ssbarnea
  - Update rulebook schema (#3681) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1695211200">- update to 6.20.0:
  * Minor Changes
  - Respect cgroup CPU limits when running inside containers
    (#3749) @ssbarnea
  - Rename --write option to --fix (#3748) @ssbarnea
  - Add auto-fixing implementation for `no-free-form` rule
    (#3725) @ajinkyau
  - Add auto-fixing implementation for `partial-become` rule
    (#3692) @shatakshiiii
  - Add auto-fixing implementation for `no-jinja-when` rule
    (#3721) @shatakshiiii
  * Bugfixes
  - Fix the detection of role vars missing role prefix (#3750)
    @cavcrosby
  - Clarify auto-fix arguments use (#3751) @ssbarnea
  - Avoid IndexError exception with jinja transform (#3747)
    @ssbarnea
  - Fix docs typo (#3746) @ssbarnea
  - Add /bin/bash executable to example correct code for pipefail
    rule (#3731) @Perdu
  - Properly avoid `pipx` venv path to be included in altered
    path warning (#3730) @chrysle
  - Fix transform exception with local_action with old syntax
    (#3743) @ssbarnea
  - Support only_upgrade (#3734) @soroshsabz</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1695988800">- update to 6.20.1:
  * Bugfixes
  - Fix detection of play roles vars missing prefix (#3765)
    @cavcrosby
  - Prune reported errors after autofix (#3774) @cidrblock
  - `--fix` will now default to `all` (#3777) @ajinkyau
  - Avoid false error caused by TypeError with jinja rule (#3773)
    @ssbarnea
  - Sanity Rule Ignore Additions and Updates (#3766) @alisonlhart
  - Update rulebook schema (name is now required) (#3776)
    @ssbarnea
  - Expose rules that have autofix capability in docs (#3770)
    @shatakshiiii
  - List all the fixable rules in CLI via `--list-rules` (#3737)
    @shatakshiiii
  - Include level in SARIF results (#3758) @ssbarnea
  - Meta runtime supported version update (#3755) @alisonlhart</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1696248000">- update to 6.20.2:
  * Bugfixes
  - Do not use github action path for running ansible lint
    (#3798) @ReenigneArcher
  - Correct listing of autofix rules in documentation (#3797)
    @ssbarnea
  - Make the autofix rule list dynamic in documentation (#3785)
    @shatakshiiii
  - Fix documentation links to autofix page (#3796) @ssbarnea
  - Bump test dependencies (#3795) @ssbarnea
  - Correct documentation regarding CLI argument precedence
    (#3792) @ssbarnea
  - Document autofix ability for rules that supports it (#3791)
    @ssbarnea
  - Accept underline prefix when checking var-naming (#3789)
    @ssbarnea
  - Correct regression with use of --fix (#3783) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1696420800">- update to 6.20.3:
  * Bugfixes
  - Fix wget command arguments in github action (#3806) @ssbarnea
  - Update some platform versions in meta.json (#3800)
    @masoud-maghsoudi</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1697716800">- update to 6.21.0:
  * Minor Changes
  - Allow linting plugin EXAMPLES as playbooks (#3309) @Qalthos
  * Bugfixes
  - Add support for Rocky (#3843) @facorazza
  - Update supported Ubuntu versions in meta.json (#3845)
    @mcdonnnj
  - Avoid false positives for handler in roles handlers directory
    (#3838) @ajinkyau
  - Hide stacktrace when loading invalid yaml (#3844) @ajinkyau
  - Add some platforms to meta.json (#3841) @mcdonnnj
  - Temporary avoid auto-fixing YAML files not owned by ansible
    (#3837) @ssbarnea
  - Add environment variable for skipping schema update (#3835)
    @ajinkyau
  - Avoid creating temporary YAML files inside source tree
    (#3819) @Qalthos
  - Document environment variables (#3833) @ssbarnea
  - Update schemas (#3832) @ssbarnea
  - Support complex requirements in argument_specs.yml (#3823)
    @tapetersen
  - Fix SARIF-formatter severity levels (#3824) @4ch1m
  - Add play level autofix for key-order rule (#3815) @ajinkyau
  - Add support for python 3.12 (#3813) @ssbarnea
  - Update SPDX license list (#3814) @ssbarnea
  - Use checkout action in install docs (#3810) @gma
  - Fix actions-tagger arguments (#3808) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1697803200">- update to 6.21.1:
  * Bugfixes
  - Avoid exception caused by accidental unloading of core rules
    (#3857) @ssbarnea
  - Document pre-commit access to ansible community bundle
    (#3856) @ssbarnea
  - Fix bug with auto-fix ending too soon (#3855) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1699358400">-update to 6.22.0:
  * Minor Changes
  - Enable YAML 1.2 support for non-ansible files (#3809)
    @ssbarnea
  * Bugfixes
  - Require ruamel.yaml &gt;= 0.18.5 (#3880) @ssbarnea
  - Improve logging regarding to yaml loading and dumping (#3875)
    @ssbarnea
  - Avoid creating new load method in our custom formatter
    (#3874) @ssbarnea
  - Support `ruamel-yaml &gt;= 0.18.2` (#3869) @hswong3i</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1701345600">- update to 6.22.1:
  * Bugfixes
  - Look for ansible binary in the same path as we are (#3903)
    @FliegenKLATSCH
  - Avoid stacktrace with broken ansible.cfg files (#3916)
    @ssbarnea
  - Avoid jinja[invalid] with ansible.builtin.mandatory filter
    (#3917) @ssbarnea
  - Remove support for deprecated include (#3722) @ssbarnea
  - Fix use of versioned github action (#3762) @karl-johan-grahn
  - Fix few URLs in README.md (#3915) @ssbarnea
  - Correct some usage examples for package_latest (#3914)
    @pablomh
  - Add option to allow running with missing plugins and
    collection dependencies (#3913) @ssbarnea
  - Avoid warnings from loading of deprecated modules (#3715)
    @ssbarnea
  - Log ignored exception details to debug log (#3900) @bluecmd
  - GitHub Action: properly respect the working_directory
    argument (#3905) @ptoscano
  - Allow to set max_fail_percentage as templated integer (#3901)
    @rebtoor
  - Fix setuptools-scm versioning (#3887) @ssbarnea
  - Add Fedora 39 to meta.json (#3893) @jsf9k
  - Use python 3.10 as primary version target (#3886) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705579200">- update to 6.22.2:
  * Bugfixes
  - Fix key error for name[casing] rule (#3987) @ajinkyau
  - Allow dashes in legacy role namespaces (#3962) @sur5r
  - Use new ansible-compat verbosity levels (#3975) @ssbarnea
  - Remove dependency on newer requests library (#3959) @ssbarnea
  - Ignore set-property for systemd command (#3949) @alanbbr
  - Correct requires_ansible error message (#3954) @ssbarnea
  - Improve transformation for `no-free-form` rule (#3945)
    @ajinkyau
  - Documentation improvement (#3946) @ssbarnea
  - docs: fix grammatical issue in philosophy Q&amp;A section (#3934)
    @davidhulick
  - Update supported versions of ansible (#3930) @ajinkyau
  - Fix backward compatibility (#3929) @McSim85
  - Fix auto capitalization for name[prefix] rule (#3922)
    @ajinkyau
  - Fix role deps check for detecting path names (#3923)
    @cavcrosby
  - Avoid warnings about PATH with pipx installations (#3920)
    @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1707393600">- new naming scheme upstream
- update to 24.2.0:
  * Drop support for Python 3.9 (#4009) @audgirka</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1710590400">- update to 24.2.1:
  * Bugfixes
  - Fix error suppression when syntax is incorrect (#4026)
    @audgirka
  - Set global cache_dir_lock (#4055) @guppy0130
  - [role-name] Handle string role dependencies (#4054) @corubba
  - Support for upcoming Ubuntu 24.04 and Fedora 40 (#4051)
    @mafalb
  - Update documentation for syntax-check[unknown-module] (#4049)
    @ssbarnea
  - Add OpenWRT 23.05 to valid versions (#4041) @jonkerj
  - Update task name in notify for a task against name[casing]
    error (#4038) @audgirka
  - accept yum history and info as valid commands (#4025)
    @konstruktoid
  - Add attributes for role argument specs (#4018) @felixfontein</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1710590401">- Require ruamel.yaml 0.18.5 like upstream specifies</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1712750400">- update to 24.2.2:
  * Bugfixes
  - Raise exception while accessing rules by index (#4068)
    @audgirka
  - Update spdx license list (#4097) @ssbarnea
  - Bump minimal version of black being required (#4089)
    @ssbarnea
  - Add systemctl get-default as acceptable command (#4087)
    @konstruktoid
  - Adding EDA tag to the required galaxy.yml tags (#4077)
    @alisonlhart</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1714478400">- update to 24.2.3:
  Bugfixes
  * Make ignore_unreachable accept jinja templates (#4120) @audgirka
  * Make fix more resilient to syntax-check errors (#4125) @ssbarnea
  * Don't inject CWD parent into PATH (#4108) @garymm
  * Do not assume working_directory is github.workspace (#4103) @ajfabbri
  * Fix yaml rules being included regardless of tags (#4107) @cavcrosby
  * Allow jinja2 expression for choices field (#4117) @cavcrosby
  * Update order schema to work with jinja template (#4121) @audgirka
  * Fix KeyError on key-order rule with blocks (#4116) @Qalthos
  * Avoid running get_app more than once (#4115) @ssbarnea
  * Avoid NameError if there is no notify keyword to update (#4113) @Qalthos
  * Add AstraLinux platform identification (#4111) @dentist128</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1716033600">- update to 24.5.0:
  * Enhancements
  - Add subdirectories to be part of the task prefix (#4143)
    @cavcrosby
  - Prevent execution with incompatible yamllint configuration
    (#4139) @ssbarnea
  - Continue linting other files when one has syntax-check errors
    (#4133) @ssbarnea
  * Bugfixes
  - Make linter aware of its own requirements (#4159) @ssbarnea
  - Allow running with incompatible yamllint config (#4158)
    @ssbarnea
  - Avoid key exception during transform (#4156) @ssbarnea
  - Raise name[casing] violation for notify task param (#4149)
    @cavcrosby
  - Allow tabs in win_lineinfile (#4147) @ssbarnea
  - Improve feedback for fix, avoid a traceback with transform
    (#4148) @cidrblock
  - Allow tabs inside jinja strings (#4146) @ssbarnea
  - Avoid reformatting hexadecimal integers (#4145) @ssbarnea
  - Make import_playbook recognize playbooks from within
    collections (#4141) @ssbarnea
  - Document valid locations for requirements.yml in the docs
    (#4134) @shatakshiiii
  - Recognize adjacent plugins (#4131) @ssbarnea
  - Support examples for role entrypoints (#4019) @felixfontein
  - Add lower requirements and testing (#4130) @ssbarnea</changelog>
  <changelog author="Jan Baier &lt;jbaier@suse.com&gt;" date="1716897600">- update Requires to include new dependency
- fix dynamic requirements inclusion</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1717502400">- update to 24.6.0:
  * Enhancements
  - Adding logic for configuring supported ansible versions
    (#4203) @alisonlhart
  * Bugfixes
  - Revert notify related checks, errors, transforms for listen
    and tests (#4205) @audgirka
  - Improve logic of find_children (#4161) @ssbarnea
  - Pickup correct path component w/ANSIBLE_ROLES_PATH (#4176)
    @cavcrosby
  - Respect yamllint 'document_start' rule when autofixing yaml
    (#4184) @elara-leitstellentechnik
  - Avoid displaying upgrade warning when installation is not pip
    (#4204) @ssbarnea
  - Correctly recognize path with spaces with tokenize (#4198)
    @ssbarnea
  - Fix false positive reports in is_handler function (#4170)
    @MalKeshar
  - Avoid exception with conflicting action statements (#4195)
    @ssbarnea
  - Don't raise name[casing] on handlers with special role syntax
    (#4196) @Qalthos
  - Refactor tokenize function (#4191) @ssbarnea
  - Avoid stacktrace with unsupported import_playbook syntax
    (#4190) @ssbarnea
  - Support for 2.15...updating linter. (#4144) @epacific1
  - Don't quote strings that start with 0 when running
    ansible-lint --fix. (#4167) @kousu
  - Allow inventory to be used for playbook order key (#4182)
    @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1718971200">- update to 24.6.1:
  * Bugfixes
  - Fix working directory when used as an github action (#4213)
    @bkaraoren
  - Fix relative imports in args rule (#4216) @corubba
  - Fix cmd args with no-free-form transformer (#4215) @Qalthos
  - Accept changlog.yml as a valid changelog (#4218) @cavcrosby
  - Avoid using warn for command/shell actions (#4207) @ssbarnea
  - Update Contributing docs and add tox as test
    optional-dependency (#4209) @hdub-tech</changelog>
</package>
<package pkgid="64bdf09f6670cb181085fb9f8d9987168ed0817cfc7de08c6bad6209b23e6544dffb531f6fd8502b2273f63e18aead225d2dc9a53a5d8de5bc84081a995fbc1d" name="ansible-lint" arch="src">
  <version epoch="0" ver="24.6.1" rel="1.0.2.1.sr20240605"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694001600">- update to 6.18.0:
  * Minor Changes
  - Limit the maximum block depth (#3602) @Ruchip16
  - Transform functionality for command_instead_of_shell  (#3675)
    @ajinkyau
  - Add rule to check the number of tasks (#3156) @Ruchip16
  * Bugfixes
  - Clarify loop-var-prefix rule and code snippet (#3642)
    @schwarmco
  - Update `version_added` for complexity rule (#3623) @ajinkyau
  - Ensure that single space between tasks is preserved when
    using --write (#3641) @shatakshiiii
  - Update ansible-compat used for testing (#3664) @ssbarnea
  - Document `yaml[line-length]` rule (#3653) @shatakshiiii
  - Prevent use of spdx-tools 0.8.0 due to breaking changes
    (#3649) @ssbarnea
  - fixes dead marketplace link (#3631) @wookietreiber
  - Improve profile information on summary line (#3637)
    @ziegenberg
  - command-instead-of-module: allow `git rev-parse` (#3610)
    @JohnVillalovos
  - Include filepaths starting from $HOME in lintables (#3621)
    @shatakshiiii
  - Update _mockings.py to fix bug created in #3390 (#3614)
    @karcaw
  - Allow to set gather_facts as templated boolean (#3606)
    @noonedeadpunk
  - Add dependency version check for collection metadata (#3601)
    @ajinkyau
  - Fix installation of dependencies when run as an action
    (#3592) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694001601">- check/add/modify BuildRequires and Requires
- update to 6.19.0:
  * Minor Changes
  - Add auto transform for no-log-password rule (#3708) @ajinkyau
  - Add auto-fixing implementation for key-order[task] rule
    (#3705) @ajinkyau
  - Add auto-fixing implementation for `jinja[spacing]` rule
    (#3691) @ajinkyau
  - Make schema validation messages more explicit (#3701)
    @ssbarnea
  - Transform for deprecated-local-action rule (#3689) @ajinkyau
  * Bugfixes
  - Require ansible-compat&gt;=4.1.10 (#3723) @ssbarnea
  - Skip altered path warning for `ansible-lint` installed by
    `pipx` (#3720) @chrysle
  - Update transform for `key-order` rule (#3719) @ajinkyau
  - Allow installation of pre-release collection version as
    dependencies (#3716) @ssbarnea
  - Avoid deprecated-bare-vars false positive with file paths
    (#3709) @ssbarnea
  - Limit sequence-of-sequence indents to a single space (#3671)
    @Qalthos
  - Avoid no-handlers false positives (#3702) @ssbarnea
  - Add missing word to risky-shell-pipe docs (#3704) @roock
  - Avoid yamllint truthy violations with github workflows
    (#3698) @ssbarnea
  - Avoid false positive with var-name rule on roles (#3697)
    @ssbarnea
  - Include links to documentation for schema validation errors
    (#3684) @ssbarnea
  - Schema update (#3693) @cidrblock
  - Use yaml.load_all for multiple yaml document (#3679)
    @shatakshiiii
  - Ignore user configured value for any_unparsed_is_failed
    (#3680) @ssbarnea
  - Update rulebook schema (#3681) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1695211200">- update to 6.20.0:
  * Minor Changes
  - Respect cgroup CPU limits when running inside containers
    (#3749) @ssbarnea
  - Rename --write option to --fix (#3748) @ssbarnea
  - Add auto-fixing implementation for `no-free-form` rule
    (#3725) @ajinkyau
  - Add auto-fixing implementation for `partial-become` rule
    (#3692) @shatakshiiii
  - Add auto-fixing implementation for `no-jinja-when` rule
    (#3721) @shatakshiiii
  * Bugfixes
  - Fix the detection of role vars missing role prefix (#3750)
    @cavcrosby
  - Clarify auto-fix arguments use (#3751) @ssbarnea
  - Avoid IndexError exception with jinja transform (#3747)
    @ssbarnea
  - Fix docs typo (#3746) @ssbarnea
  - Add /bin/bash executable to example correct code for pipefail
    rule (#3731) @Perdu
  - Properly avoid `pipx` venv path to be included in altered
    path warning (#3730) @chrysle
  - Fix transform exception with local_action with old syntax
    (#3743) @ssbarnea
  - Support only_upgrade (#3734) @soroshsabz</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1695988800">- update to 6.20.1:
  * Bugfixes
  - Fix detection of play roles vars missing prefix (#3765)
    @cavcrosby
  - Prune reported errors after autofix (#3774) @cidrblock
  - `--fix` will now default to `all` (#3777) @ajinkyau
  - Avoid false error caused by TypeError with jinja rule (#3773)
    @ssbarnea
  - Sanity Rule Ignore Additions and Updates (#3766) @alisonlhart
  - Update rulebook schema (name is now required) (#3776)
    @ssbarnea
  - Expose rules that have autofix capability in docs (#3770)
    @shatakshiiii
  - List all the fixable rules in CLI via `--list-rules` (#3737)
    @shatakshiiii
  - Include level in SARIF results (#3758) @ssbarnea
  - Meta runtime supported version update (#3755) @alisonlhart</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1696248000">- update to 6.20.2:
  * Bugfixes
  - Do not use github action path for running ansible lint
    (#3798) @ReenigneArcher
  - Correct listing of autofix rules in documentation (#3797)
    @ssbarnea
  - Make the autofix rule list dynamic in documentation (#3785)
    @shatakshiiii
  - Fix documentation links to autofix page (#3796) @ssbarnea
  - Bump test dependencies (#3795) @ssbarnea
  - Correct documentation regarding CLI argument precedence
    (#3792) @ssbarnea
  - Document autofix ability for rules that supports it (#3791)
    @ssbarnea
  - Accept underline prefix when checking var-naming (#3789)
    @ssbarnea
  - Correct regression with use of --fix (#3783) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1696420800">- update to 6.20.3:
  * Bugfixes
  - Fix wget command arguments in github action (#3806) @ssbarnea
  - Update some platform versions in meta.json (#3800)
    @masoud-maghsoudi</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1697716800">- update to 6.21.0:
  * Minor Changes
  - Allow linting plugin EXAMPLES as playbooks (#3309) @Qalthos
  * Bugfixes
  - Add support for Rocky (#3843) @facorazza
  - Update supported Ubuntu versions in meta.json (#3845)
    @mcdonnnj
  - Avoid false positives for handler in roles handlers directory
    (#3838) @ajinkyau
  - Hide stacktrace when loading invalid yaml (#3844) @ajinkyau
  - Add some platforms to meta.json (#3841) @mcdonnnj
  - Temporary avoid auto-fixing YAML files not owned by ansible
    (#3837) @ssbarnea
  - Add environment variable for skipping schema update (#3835)
    @ajinkyau
  - Avoid creating temporary YAML files inside source tree
    (#3819) @Qalthos
  - Document environment variables (#3833) @ssbarnea
  - Update schemas (#3832) @ssbarnea
  - Support complex requirements in argument_specs.yml (#3823)
    @tapetersen
  - Fix SARIF-formatter severity levels (#3824) @4ch1m
  - Add play level autofix for key-order rule (#3815) @ajinkyau
  - Add support for python 3.12 (#3813) @ssbarnea
  - Update SPDX license list (#3814) @ssbarnea
  - Use checkout action in install docs (#3810) @gma
  - Fix actions-tagger arguments (#3808) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1697803200">- update to 6.21.1:
  * Bugfixes
  - Avoid exception caused by accidental unloading of core rules
    (#3857) @ssbarnea
  - Document pre-commit access to ansible community bundle
    (#3856) @ssbarnea
  - Fix bug with auto-fix ending too soon (#3855) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1699358400">-update to 6.22.0:
  * Minor Changes
  - Enable YAML 1.2 support for non-ansible files (#3809)
    @ssbarnea
  * Bugfixes
  - Require ruamel.yaml &gt;= 0.18.5 (#3880) @ssbarnea
  - Improve logging regarding to yaml loading and dumping (#3875)
    @ssbarnea
  - Avoid creating new load method in our custom formatter
    (#3874) @ssbarnea
  - Support `ruamel-yaml &gt;= 0.18.2` (#3869) @hswong3i</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1701345600">- update to 6.22.1:
  * Bugfixes
  - Look for ansible binary in the same path as we are (#3903)
    @FliegenKLATSCH
  - Avoid stacktrace with broken ansible.cfg files (#3916)
    @ssbarnea
  - Avoid jinja[invalid] with ansible.builtin.mandatory filter
    (#3917) @ssbarnea
  - Remove support for deprecated include (#3722) @ssbarnea
  - Fix use of versioned github action (#3762) @karl-johan-grahn
  - Fix few URLs in README.md (#3915) @ssbarnea
  - Correct some usage examples for package_latest (#3914)
    @pablomh
  - Add option to allow running with missing plugins and
    collection dependencies (#3913) @ssbarnea
  - Avoid warnings from loading of deprecated modules (#3715)
    @ssbarnea
  - Log ignored exception details to debug log (#3900) @bluecmd
  - GitHub Action: properly respect the working_directory
    argument (#3905) @ptoscano
  - Allow to set max_fail_percentage as templated integer (#3901)
    @rebtoor
  - Fix setuptools-scm versioning (#3887) @ssbarnea
  - Add Fedora 39 to meta.json (#3893) @jsf9k
  - Use python 3.10 as primary version target (#3886) @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705579200">- update to 6.22.2:
  * Bugfixes
  - Fix key error for name[casing] rule (#3987) @ajinkyau
  - Allow dashes in legacy role namespaces (#3962) @sur5r
  - Use new ansible-compat verbosity levels (#3975) @ssbarnea
  - Remove dependency on newer requests library (#3959) @ssbarnea
  - Ignore set-property for systemd command (#3949) @alanbbr
  - Correct requires_ansible error message (#3954) @ssbarnea
  - Improve transformation for `no-free-form` rule (#3945)
    @ajinkyau
  - Documentation improvement (#3946) @ssbarnea
  - docs: fix grammatical issue in philosophy Q&amp;A section (#3934)
    @davidhulick
  - Update supported versions of ansible (#3930) @ajinkyau
  - Fix backward compatibility (#3929) @McSim85
  - Fix auto capitalization for name[prefix] rule (#3922)
    @ajinkyau
  - Fix role deps check for detecting path names (#3923)
    @cavcrosby
  - Avoid warnings about PATH with pipx installations (#3920)
    @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1707393600">- new naming scheme upstream
- update to 24.2.0:
  * Drop support for Python 3.9 (#4009) @audgirka</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1710590400">- update to 24.2.1:
  * Bugfixes
  - Fix error suppression when syntax is incorrect (#4026)
    @audgirka
  - Set global cache_dir_lock (#4055) @guppy0130
  - [role-name] Handle string role dependencies (#4054) @corubba
  - Support for upcoming Ubuntu 24.04 and Fedora 40 (#4051)
    @mafalb
  - Update documentation for syntax-check[unknown-module] (#4049)
    @ssbarnea
  - Add OpenWRT 23.05 to valid versions (#4041) @jonkerj
  - Update task name in notify for a task against name[casing]
    error (#4038) @audgirka
  - accept yum history and info as valid commands (#4025)
    @konstruktoid
  - Add attributes for role argument specs (#4018) @felixfontein</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1710590401">- Require ruamel.yaml 0.18.5 like upstream specifies</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1712750400">- update to 24.2.2:
  * Bugfixes
  - Raise exception while accessing rules by index (#4068)
    @audgirka
  - Update spdx license list (#4097) @ssbarnea
  - Bump minimal version of black being required (#4089)
    @ssbarnea
  - Add systemctl get-default as acceptable command (#4087)
    @konstruktoid
  - Adding EDA tag to the required galaxy.yml tags (#4077)
    @alisonlhart</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1714478400">- update to 24.2.3:
  Bugfixes
  * Make ignore_unreachable accept jinja templates (#4120) @audgirka
  * Make fix more resilient to syntax-check errors (#4125) @ssbarnea
  * Don't inject CWD parent into PATH (#4108) @garymm
  * Do not assume working_directory is github.workspace (#4103) @ajfabbri
  * Fix yaml rules being included regardless of tags (#4107) @cavcrosby
  * Allow jinja2 expression for choices field (#4117) @cavcrosby
  * Update order schema to work with jinja template (#4121) @audgirka
  * Fix KeyError on key-order rule with blocks (#4116) @Qalthos
  * Avoid running get_app more than once (#4115) @ssbarnea
  * Avoid NameError if there is no notify keyword to update (#4113) @Qalthos
  * Add AstraLinux platform identification (#4111) @dentist128</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1716033600">- update to 24.5.0:
  * Enhancements
  - Add subdirectories to be part of the task prefix (#4143)
    @cavcrosby
  - Prevent execution with incompatible yamllint configuration
    (#4139) @ssbarnea
  - Continue linting other files when one has syntax-check errors
    (#4133) @ssbarnea
  * Bugfixes
  - Make linter aware of its own requirements (#4159) @ssbarnea
  - Allow running with incompatible yamllint config (#4158)
    @ssbarnea
  - Avoid key exception during transform (#4156) @ssbarnea
  - Raise name[casing] violation for notify task param (#4149)
    @cavcrosby
  - Allow tabs in win_lineinfile (#4147) @ssbarnea
  - Improve feedback for fix, avoid a traceback with transform
    (#4148) @cidrblock
  - Allow tabs inside jinja strings (#4146) @ssbarnea
  - Avoid reformatting hexadecimal integers (#4145) @ssbarnea
  - Make import_playbook recognize playbooks from within
    collections (#4141) @ssbarnea
  - Document valid locations for requirements.yml in the docs
    (#4134) @shatakshiiii
  - Recognize adjacent plugins (#4131) @ssbarnea
  - Support examples for role entrypoints (#4019) @felixfontein
  - Add lower requirements and testing (#4130) @ssbarnea</changelog>
  <changelog author="Jan Baier &lt;jbaier@suse.com&gt;" date="1716897600">- update Requires to include new dependency
- fix dynamic requirements inclusion</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1717502400">- update to 24.6.0:
  * Enhancements
  - Adding logic for configuring supported ansible versions
    (#4203) @alisonlhart
  * Bugfixes
  - Revert notify related checks, errors, transforms for listen
    and tests (#4205) @audgirka
  - Improve logic of find_children (#4161) @ssbarnea
  - Pickup correct path component w/ANSIBLE_ROLES_PATH (#4176)
    @cavcrosby
  - Respect yamllint 'document_start' rule when autofixing yaml
    (#4184) @elara-leitstellentechnik
  - Avoid displaying upgrade warning when installation is not pip
    (#4204) @ssbarnea
  - Correctly recognize path with spaces with tokenize (#4198)
    @ssbarnea
  - Fix false positive reports in is_handler function (#4170)
    @MalKeshar
  - Avoid exception with conflicting action statements (#4195)
    @ssbarnea
  - Don't raise name[casing] on handlers with special role syntax
    (#4196) @Qalthos
  - Refactor tokenize function (#4191) @ssbarnea
  - Avoid stacktrace with unsupported import_playbook syntax
    (#4190) @ssbarnea
  - Support for 2.15...updating linter. (#4144) @epacific1
  - Don't quote strings that start with 0 when running
    ansible-lint --fix. (#4167) @kousu
  - Allow inventory to be used for playbook order key (#4182)
    @ssbarnea</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1718971200">- update to 24.6.1:
  * Bugfixes
  - Fix working directory when used as an github action (#4213)
    @bkaraoren
  - Fix relative imports in args rule (#4216) @corubba
  - Fix cmd args with no-free-form transformer (#4215) @Qalthos
  - Accept changlog.yml as a valid changelog (#4218) @cavcrosby
  - Avoid using warn for command/shell actions (#4207) @ssbarnea
  - Update Contributing docs and add tox as test
    optional-dependency (#4209) @hdub-tech</changelog>
</package>
<package pkgid="5a6670c8df94be7a7894099ccb95f1cd6b2e95cac1f7569aba87e2201b80d0e0fcad99e74bd6ff03fe8d3c1b44add2348056f105eaca6179a826edc25b16497a" name="ansible-test" arch="noarch">
  <version epoch="0" ver="2.16.8" rel="1.0.2.1.sr20240605"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1683288000">- change python version on Leap15/SLES15 to python3.11 to use the
  new stack supported by SUSE</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1684065600">- modify %if-condition to allow building for python3.10 or
  python3.11 on SLES15</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1684152000">- major update to 2.15.0:
  https://github.com/ansible/ansible/blob/v2.15.0/changelogs/
  CHANGELOG-v2.15.rst</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1687348800">- update to 2.15.1:
  * Minor Changes
  - ansible-test - Allow float values for the --timeout option to
    the env command. This simplifies testing.
  - ansible-test - Refactored env command logic and timeout
    handling.
  - ansible-test - Use datetime.datetime.now with tz specified
    instead of datetime.datetime.utcnow.
  * Bugfixes
  - Properly disable jinja2_native in the template module when
    jinja2 override is used in the template (#80605)
  - ansible-galaxy - Fix variable type error when installing
    subdir collections (#80943)
  - ansible-test - Fix a traceback that occurs when attempting to
    test Ansible source using a different ansible-test. A clear
    error message is now given when this scenario occurs.
  - ansible-test - Fix handling of timeouts exceeding one day.
  - ansible-test - Fix various cases where the test timeout could
    expire without terminating the tests.
  - ansible-test local change detection - use git merge-base
    &lt;branch&gt; HEAD instead of git merge-base --fork-point &lt;branch&gt;
    (#79734).
  - deb822_repository - use http-agent for receiving content
    (#80809).
  - dnf5 - Update dnf5 module to handle API change for setting
    the download directory (#80887)
  - man page build - Remove the dependency on the docs directory
    for building man pages.
  - pep517 build backend - Copy symlinks when copying the source
    tree. This avoids tracebacks in various scenarios, such as
    when a venv is present in the source tree.
  - uri - fix search for JSON type to include complex strings
    containing '+'</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1689681600">- update to 2.15.2:
  * Minor Changes
  - Utilize gpg check provided internally by the transaction.run
    method as oppose to calling it manually.
  - ansible-test - Add Fedora 38 remote.
  - ansible-test - Use a context manager to perform cleanup at
    exit instead of using the built-in atexit module.
  - dnf5 - enable environment groups installation testing in CI
    as its support was added.
  - dnf5 - enable now implemented cacheonly functionality
  * Bugfixes
  - From issue #80880, when notifying a handler from another
    handler, handler notifications must be registered immediately
    as the flush_handler call is not recursive.
  - ansible-galaxy - Fix issue installing collections containing
    directories with more than 100 characters on python versions
    before 3.10.6
  - paramiko_ssh, psrp, and ssh connection plugins - ensure that
    all values for options that should be strings are actually
    converted to strings (#81029).
  - templating - In the template action and lookup, use local
    jinja2 environment overlay overrides instead of mutating the
    templars environment
  * Known Issues
  - ansible-test - The Fedora 37 remote is known to occasionally
    hang during boot. It is no longer routinely tested as a
    result. If possible, use the Fedora 38 remote instead.</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694001600">- as example files were split out into a separate package
  ansible-documentation upstream, this package now Recommends that
  package
- update to 2.15.3:
  * Minor Changes
  - Removed exclude and recursive-exclude commands for generated
    files from the MANIFEST.in file. These excludes were
    unnecessary since releases are expected to be built with a
    clean worktree.
  - Removed exclude commands for sanity test files from the
    MANIFEST.in file. These tests were previously excluded
    because they did not pass when run from an sdist. However,
    sanity tests are not expected to pass from an sdist, so
    excluding some (but not all) of the failing tests makes
    little sense.
  - Removed redundant include commands from the MANIFEST.in file.
    These includes either duplicated default behavior or another
    command.
  - The ansible-core sdist no longer contains pre-generated man
    pages. Instead, a packaging/cli-doc/build.py script is
    included in the sdist. This script can generate man pages and
    standalone RST documentation for ansible-core CLI programs.
  - The docs and examples directories are no longer included in
    the ansible-core sdist. These directories have been moved to
    the https://github.com/ansible/ansible-documentation
    repository.
  - Use include where recursive-include is unnecessary in the
    MANIFEST.in file.
  - ansible-test - Update the logic used to detect when
    ansible-test is running from source.
  - ansible-test - Updated the CloudStack test container to
    version 1.6.1.
  * Bugfixes
  - Exclude internal options from man pages and docs.
  - Fix ansible-config init man page option indentation.
  - The ansible-config init command now has a documentation
    description.
  - The ansible-galaxy collection download command now has a
    documentation description.
  - The ansible-galaxy collection install command documentation
    is now visible (previously hidden by a decorator).
  - The ansible-galaxy collection verify command now has a
    documentation description.
  - The ansible-galaxy role install command documentation is now
    visible (previously hidden by a decorator).
  - The ansible-inventory command command now has a documentation
    description (previously used as the epilog).
  - Update module_utils.urls unit test to work with cryptography
    &gt;= 41.0.0.
  - When generating man pages, use func to find the command
    function instead of looking it up by the command name.
  - ansible-galaxy now considers all collection paths when
    identifying which collection requirements are already
    installed. Use the COLLECTIONS_PATHS and
    COLLECTIONS_SCAN_SYS_PATHS config options to modify these.
    Previously only the install path was considered when
    resolving the candidates. The install path will remain the
    only one potentially modified. (#79767, #81163)
  - ansible-test - Fix several possible tracebacks when using the
  - e option with sanity tests.
  - ansible-test - Pre-build a PyYAML wheel before installing
    requirements to avoid a potential Cython build failure.
  - ansible-test - Remove redundant warning about missing
    programs before attempting to execute them.
  - core will now also look at the connection plugin to force
    'local' interpreter for networking path compatibility as just
    ansible_network_os could be misleading.
  - man page build - Sub commands of ansible-galaxy role and
    ansible-galaxy collection are now documented.
  - password_hash - fix salt format for crypt (only used if
    passlib is not installed) for the bcrypt algorithm.
  - urls.py - fixed cert_file and key_file parameters when
    running on Python 3.12 - #80490</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1694520000">- update to 2.15.4:
  * Deprecated Features
  - vault and unfault filters - the undocumented vaultid
    parameter is deprecated and will be removed in ansible-core
    2.20. Use vault_id instead.
  * Bugfixes
  - PowerShell - Remove some code which is no longer valid for
    dotnet 5+
  - Prompting - add a short sleep between polling for user input
    to reduce CPU consumption (#81516).
  - ansible-galaxy - Enabled the data tarfile filter during role
    installation for Python versions that support it. A probing
    mechanism is used to avoid Python versions with a broken
    implementation.
  - ansible-test - Always use ansible-test managed entry points
    for ansible-core CLI tools when not running from source. This
    fixes issues where CLI entry points created during install
    are not compatible with ansible-test.
  - first found lookup has been updated to use the normalized
    argument parsing (pythonic) matching the documented examples.
  - handlers - the listen keyword can affect only one handler
    with the same name, the last one defined as it is a case with
    the notify keyword (#81013)
  - include_role - expose variables from parent roles to role's
    handlers (#80459)
  - tarfile - handle data filter deprecation warning message for
    extract and extractall (#80832).
  - vault and unvault filters now properly take vault_id
    parameter.</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1696939200">- update to 2.15.5:
  * Minor Changes
  - ansible-galaxy dependency resolution messages have changed
    the unexplained 'virtual' collection for the specific type
    ('scm', 'dir', etc) that is more user friendly
  * Security Fixes
  - ansible-galaxy - Prevent roles from using symlinks to
    overwrite files outside of the installation directory
    (CVE-2023-5115)
  * Bugfixes
  - Allow for searching handler subdir for included task via
    include_role (#81722)
  - PluginLoader - fix Jinja plugin performance issues (#79652)
  - ansible.module_utils.service - ensure binary data
    transmission in daemonize()
  - ansible.module_utils.service - fix inter-process
    communication in daemonize()
  - ansible-galaxy - started allowing the use of pre-releases for
    collections that do not have any stable versions published.
    (#81606)
  - ansible-galaxy - started allowing the use of pre-releases for
    dependencies on any level of the dependency tree that
    specifically demand exact pre-release versions of collections
    and not version ranges. (#81606)
  - ansible-galaxy error on dependency resolution will not error
    itself due to 'virtual' collections not having a
    name/namespace.
  - ansible-galaxy info - fix reporting no role found when
    lookup_role_by_name returns None.
  - role deduplication - don't deduplicate before a role has had
    a task run for that particular host (#81486).
  - uri/urls - Add compat function to handle the ability to parse
    the filename from a Content-Disposition header (#81806)
  - winrm - Better handle send input failures when communicating
    with hosts under load</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1699358400">- update to 2.15.6:
  * Minor Changes
  - ansible-test - Windows 2012 and 2012-R2 instances are now
    requested from Azure instead of AWS.
  * Bugfixes
  - Fix run_once being incorrectly interpreted on handlers
    (#81666)
  - Plugin loader does not dedupe nor cache filter/test plugins
    by file basename, but full path name.
  - Properly template tags in parent blocks (#81053)
  - Restoring the ability of filters/tests can have same file
    base name but different tests/filters defined inside.
  - import_role reverts to previous behavior of exporting vars at
    compile time.
  - ansible-galaxy - Provide a better error message when using a
    requirements file with an invalid format - #81901
  - ansible-inventory - index available_hosts for major
    performance boost when dumping large inventories
  - ansible-test - Fix parsing of cgroup entries which contain a
    : in the path (#81977).</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1701777600">- update to 2.15.7:
  This release includes a fix for CVE-2023-5764, where internal
  templating actions could result in unsafe data losing its unsafe
  designation.
  * Breaking Changes / Porting Guide
  - assert - Nested templating may result in an inability for the
    conditional to be evaluated. See the porting guide for more
    information.
  * Security Fixes
  - templating - Address issues where internal templating can
    cause unsafe variables to lose their unsafe designation
    (CVE-2023-5764)
  * Bugfixes
  - ansible-pull now will expand relative paths for the
  - d|--directory option is now expanded before use.
  - flush_handlers - properly handle a handler failure in a
    nested block when force_handlers is set
    (http://github.com/ansible/ansible/issues/81532)
  - module no_log will no longer affect top level booleans, for
    example no_log_module_parameter='a' will no longer hide
    changed=False as a 'no log value' (matches 'a').
  - modules/user.py - Add check for valid directory when creating
    new user homedir (allows /dev/null as skeleton) (#75063)
  - role params now have higher precedence than host facts again,
    matching documentation, this had unintentionally changed in
    2.15.
  - wait_for should not handle 'non mmapable files' again.</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1702382400">- update to 2.15.8:
  * Minor Changes
  - ansible-test - Add FreeBSD 13.2 remote.
  - ansible-test - Removed freebsd/13.1 remote.
  * Bugfixes
  - unsafe data - Address an incompatibility when iterating or
    getting a single index from AnsibleUnsafeBytes
  - unsafe data - Address an incompatibility with
    AnsibleUnsafeText and AnsibleUnsafeBytes when pickling with
    protocol=0</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838400">- update to 2.16.0:
  https://github.com/ansible/ansible/blob/v2.16.0/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes and Minor changes omitted for brevity, see full
    changelog
  * Breaking Changes / Porting Guide
  - Any plugin using the config system and the cli entry to use
    the timeout from the command line, will see the value change
    if the use had configured it in any of the lower precedence
    methods. If relying on this behaviour to consume the
    global/generic timeout from the DEFAULT_TIMEOUT constant,
    please consult the documentation on plugin configuration to
    add the overlaping entries.
  - ansible-test - Test plugins that rely on containers no longer
    support reusing running containers. The previous behavior was
    an undocumented, untested feature.
  - service module will not permanently configure variables/flags
    for openbsd when doing enable/disable operation anymore, this
    module was never meant to do this type of work, just to
    manage the service state itself. A rcctl_config or similar
    module should be created and used instead.
  * Deprecated Features
  - Deprecated ini config option collections_paths, use the
    singular form collections_path instead
  - Deprecated the env var ANSIBLE_COLLECTIONS_PATHS, use the
    singular form ANSIBLE_COLLECTIONS_PATH instead
  - Old style vars plugins which use the entrypoints
    get_host_vars or get_group_vars are deprecated. The plugin
    should be updated to inherit from BaseVarsPlugin and define a
    get_vars method as the entrypoint.
  - Support for Windows Server 2012 and 2012 R2 has been removed
    as the support end of life from Microsoft is October 10th
    2023. These versions of Windows will no longer be tested in
    this Ansible release and it cannot be guaranteed that they
    will continue to work going forward.
  - STRING_CONVERSION_ACTION config option is deprecated as it is
    no longer used in the Ansible Core code base.
  - the 'smart' option for setting a connection plugin is being
    removed as it's main purpose (choosing between ssh and
    paramiko) is now irrelevant.
  - vault and unfault filters - the undocumented vaultid
    parameter is deprecated and will be removed in ansible-core
    2.20. Use vault_id instead.
  - yum_repository - deprecated parameter 'keepcache' (#78693).
  * Removed Features (previously deprecated)
  - ActionBase - remove deprecated _remote_checksum method
  - PlayIterator - remove deprecated cache_block_tasks and
    get_original_task methods
  - Remove deprecated FileLock class
  - Removed Python 3.9 as a supported version on the controller.
    Python 3.10 or newer is required.
  - Removed include which has been deprecated in Ansible 2.12.
    Use include_tasks or import_tasks instead.
  - Templar - remove deprecated shared_loader_obj parameter of
    __init__
  - fetch_url - remove auto disabling decompress when gzip is not
    available
  - get_action_args_with_defaults - remove deprecated
    redirected_names method parameter
  - ansible-test - Removed support for the remote Windows targets
    2012 and 2012-R2
  - inventory_cache - remove deprecated
    default.fact_caching_prefix ini configuration option, use
    defaults.fact_caching_prefix instead.
  - module_utils/basic.py - Removed Python 3.5 as a supported
    remote version. Python 2.7 or Python 3.6+ is now required.
  - stat - removed unused get_md5 parameter.
  * Security Fixes
  - ansible-galaxy - Prevent roles from using symlinks to
    overwrite files outside of the installation directory
    (CVE-2023-5115)
  * Known issues
  - ansible-galaxy - dies in the middle of installing a role when
    that role contains Java inner classes (files with $ in the
    file name). This is by design, to exclude temporary or backup
    files. (#81553).
  - ansible-test - The pep8 sanity test is unable to detect
    f-string spacing issues (E201, E202) on Python 3.10 and 3.11.
    They are correctly detected under Python 3.12. See
    (PyCQA/pycodestyle#1190).</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838401">- update to 2.16.1:
  https://github.com/ansible/ansible/blob/v2.16.1/changelogs/CHANGELOG-v2.16.rst
  * Breaking Changes / Porting Guide
  - assert - Nested templating may result in an inability for the
    conditional to be evaluated. See the porting guide for more
    information.
  * Security Fixes
  - templating - Address issues where internal templating can
    cause unsafe variables to lose their unsafe designation
    (CVE-2023-5764)
  * Bugfixes
  - Fix issue where an include_tasks handler in a role was not
    able to locate a file in tasks/ when tasks_from was used as a
    role entry point and main.yml was not present (#82241)
  - Plugin loader does not dedupe nor cache filter/test plugins
    by file basename, but full path name.
  - Restoring the ability of filters/tests can have same file
    base name but different tests/filters defined inside.
  - ansible-pull now will expand relative paths for the
  - d|--directory option is now expanded before use.
  - ansible-pull will now correctly handle become and connection
    password file options for ansible-playbook.
  - flush_handlers - properly handle a handler failure in a
    nested block when force_handlers is set
    (http://github.com/ansible/ansible/issues/81532)
  - module no_log will no longer affect top level booleans, for
    example no_log_module_parameter='a' will no longer hide
    changed=False as a 'no log value' (matches 'a').
  - role params now have higher precedence than host facts again,
    matching documentation, this had unintentionally changed in
    2.15.
  - wait_for should not handle 'non mmapable files' again.</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1705838402">- update to 2.16.2:
  https://github.com/ansible/ansible/blob/v2.16.2/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes
  - unsafe data - Address an incompatibility when iterating or
    getting a single index from AnsibleUnsafeBytes
  - unsafe data - Address an incompatibility with
    AnsibleUnsafeText and AnsibleUnsafeBytes when pickling with
    protocol=0</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1706616000">- update to 2.16.3:
  https://github.com/ansible/ansible/blob/v2.16.3/changelogs/CHANGELOG-v2.16.rst
  * Security Fixes
  - ANSIBLE_NO_LOG - Address issue where ANSIBLE_NO_LOG was
    ignored (CVE-2024-0690)
  * Bugfixes
  - Run all handlers with the same listen topic, even when
    notified from another handler (#82363).
  - ansible-galaxy role import - fix using the role_name in a
    standalone role's galaxy_info metadata by disabling automatic
    removal of the ansible-role- prefix. This matches the
    behavior of the Galaxy UI which also no longer implicitly
    removes the ansible-role- prefix. Use the --role-name option
    or add a role_name to the galaxy_info dictionary in the
    role's meta/main.yml to use an alternate role name.
  - ansible-test sanity --test runtime-metadata - add
    action_plugin as a valid field for modules in the schema
    (#82562).
  - ansible-config init will now dedupe ini entries from plugins.
  - ansible-galaxy role import - exit with 1 when the import
    fails (#82175).
  - ansible-galaxy role install - normalize tarfile paths and
    symlinks using ansible.utils.path.unfrackpath and consider
    them valid as long as the realpath is in the tarfile's role
    directory (#81965).
  - delegate_to when set to an empty or undefined variable will
    now give a proper error.
  - dwim functions for lookups should be better at detectging
    role context even in abscense of tasks/main.
  - roles, code cleanup and performance optimization of
    dependencies, now cached, and public setting is now
    determined once, at role instantiation.
  - roles, the static property is now correctly set, this will
    fix issues with public and DEFAULT_PRIVATE_ROLE_VARS controls
    on exporting vars.
  - unsafe data - Enable directly using AnsibleUnsafeText with
    Python pathlib (#82414)</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1710590400">- update to 2.16.4:
  https://github.com/ansible/ansible/blob/v2.16.4/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes
  - Fix loading vars_plugins in roles (#82239).
  - expect - fix argument spec error using timeout=null (#80982).
  - include_vars - fix calculating depth relative to the root and
    ensure all files are included (#80987).
  - templating - ensure syntax errors originating from a template
    being compiled into Python code object result in a failure
    (#82606)</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1711540800">- update to 2.16.5:
  https://github.com/ansible/ansible/blob/v2.16.5/changelogs/CHANGELOG-v2.16.rst
  * Minor Changes
  - ansible-test - Add a work-around for permission denied errors
    when using pytest &gt;= 8 on multi-user systems with an
    installed version of ansible-test.
  * Bugfixes
  - Fix an issue when setting a plugin name from an unsafe source
    resulted in ValueError: unmarshallable object (#82708)
  - Harden python templates for respawn and ansiballz around str
    literal quoting
  - ansible-test - The libexpat package is automatically upgraded
    during remote bootstrapping to maintain compatibility with
    newer Python packages.
  - template - Fix error when templating an unsafe string which
    corresponds to an invalid type in Python (#82600).
  - winrm - does not hang when attempting to get process output
    when stdin write failed</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1713268800">- adjust spec to new name for PyPI file name (underscore instead of
  hyphen: ansible_core-2.16.6.tar.gz)
- update to 2.16.6:
  https://github.com/ansible/ansible/blob/v2.16.6/changelogs/CHANGELOG-v2.16.rst
  * Bugfixes
  - Consolidated the list of internal static vars, centralized
    them as constant and completed from some missing entries.
  - Fix check for missing `_sub_plugin` attribute in older
    connection plugins (#82954)
  - Fixes permission for cache json file from 600 to 644
    (#82683).
  - Slight optimization to hostvars (instantiate template only
    once per host, vs per call to var).
  - allow_duplicates - fix evaluating if the current role allows
    duplicates instead of using the initial value from the
    duplicate's cached role.
  - ansible-config will now properly template defaults before
    dumping them.
  - ansible-test ansible-doc sanity test - do not remove
    underscores from plugin names in collections before calling
    ansible-doc (#82574).
  - async - Fix bug that stopped running async task in --check
    when check_mode: False was set as a task attribute - #82811
  - blockinfile - when create=true is used with a filename
    without path, the module crashed (#81638).
  - dnf - fix an issue when cached RPMs were left in the cache
    directory even when the keepcache setting was unset (#81954)
  - dnf5 - replace removed API calls
  - facts - add a generic detection for VMware in product name.
  - fetch - add error message when using dest with a trailing
    slash that becomes a local directory - #82878
  - find - do not fail on Permission errors (#82027).
  - unarchive modules now uses zipinfo options without relying on
    implementation defaults, making it more compatible with all
    OS/distributions.
  - winrm - Do not raise another exception during cleanup when a
    task is timed out - #81095</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1716465600">- update to 2.16.7:
  https://github.com/ansible/ansible/blob/v2.16.7/changelogs/CHANGELOG-v2.16.rst
  * Minor Changes
  - ansible.builtin.user - Remove user not found warning (#80267)
  * Bugfixes
  - Add a version ceiling constraint for pypsrp to avoid
    potential breaking changes in the 1.0.0 release.
  - Fix NEVRA parsing of package names that include digit(s) in
    them (#76463, #81018)
  - Fix handlers not being executed in lockstep using the linear
    strategy in some cases (#82307)
  - Give the tombstone error for include pre-fork like other
    tombstoned action/module plugins.
  - Include the task location when a module or action plugin is
    deprecated (#82450).
  - Mirror the behavior of dnf on the command line when handling
    NEVRAs with omitted epoch (#71808)
  - ansible-test - Automatically enable the PyPI proxy for the
    centos7 container to restore the ability to use pip in that
    container.
  - ansible_managed restored it's 'templatability' by ensuring
    the possible injection routes are cut off earlier in the
    process.
  - assemble - fixed missing parameter 'content' in
    `_get_diff_data` API (#82359).
  - dnf - fix an issue when installing a package by specifying a
    file it provides could result in installing a different
    package providing the same file than the package already
    installed resulting in resolution failure (#82461)
  - uri - update the documentation for follow_redirects.</changelog>
  <changelog author="Johannes Kastl &lt;opensuse_buildservice@ojkastl.de&gt;" date="1718798400">- update to 2.16.8:
  https://github.com/ansible/ansible/blob/v2.16.8/changelogs/CHANGELOG-v2.16.rst
  * Minor Changes
  - ansible-test - Update pypi-test-container to version 3.1.0.
  * Bugfixes
  - Fix the task attribute resolved_action to show the FQCN
    instead of None when action or local_action is used in the
    playbook.
  - Fix using module_defaults with local_action/action (#81905).
  - fixed unit test test_borken_cowsay to address mock not been
    properly applied when existing unix system already have
    cowsay installed.
  - powershell - Implement more robust deletion mechanism for C#
    code compilation temporary files. This should avoid scenarios
    where the underlying temporary directory may be temporarily
    locked by antivirus tools or other IO problems. A failure to
    delete one of these temporary directories will result in a
    warning rather than an outright failure.</changelog>
</package>
<package pkgid="2a361610a4f7b49fe5b1ee0f896e23550be2e8991d8e8208aa395d6a867561cb04127ee6d7bc99e9f21f8af94b42136c6b0e105501be7e7d56484920057b64d3" name="apache2" arch="i586">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="d69e70937bc43a2c98051b96b6f74f7b4ad7ac1ce76ba10bec33d746d7246f9677dd0d4c62f9ff1b1ca90592e0adf7a2615eac65ea7590b5f5d2cfca650d586e" name="apache2" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="7e05455686619defec965aa0637055cf5db57cab602c333961cd9775ff6b766748c2d83646bf430e746b4977ede370451f473ca832570fe6ed2725ce996fe20e" name="apache2" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="0045d8b7e8a3919f34b4466a99d08602c5ad57c43661b6d0d4f7dc3f44680fca0201e21752f590d4c2d30e2165721102c1f3a8eed591ea4358730c5e043ee070" name="apache2-debuginfo" arch="i586">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="55c05520f5b96b95b472afc4edb7eae3d2ba71ab805753921065989da1de90efef0621872fbef22861e6b2526be0f9e186db4023d2c0dc2b3a5a6b66239d8ea3" name="apache2-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="92c8a6880c476c4d5b2d45e440d8d1b58eb227623ee397c1f70a8d5fce10409609542eead65c1bc7494418e773ed9fdd609dd2e82d947d658444613d0e48f57c" name="apache2-debugsource" arch="i586">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="6b64ec48ae0b0d0665d22623450721b45016f9e3364ddf39ee9c213c9f91ee1fbedadf82502db53ab086dc511819c15f0aa2906c202bc132a614e05ee113c68d" name="apache2-debugsource" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="47172b715e493a6b2ef9451f09d94b08b8605251a2d85a4cf28780fd39a23a967836b11a91e5f40e59c824ed1a6723051b1f8cb7428bd539eb3ea3826b98094e" name="apache2-devel" arch="i586">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="2ad49e6b85f872d884654a1b9111c1e747e9997fc78f26fd328e5125489cb6cac578c30f7135a306e5d3dff68c2ff07c642923e4cb3412a64a5d0bae263d4aea" name="apache2-devel" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="868db8b2cae029f586323a36fe0b3887f6216266e2bffdb02a1f134924c4ce7c25de45e6cde1c1ffa24c42a4f05d181146004e446d23214a1d9f178146f4fce6" name="apache2-devel" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="f743606d9c02c7c7527320824aac2c8e0270debc6dbe69b172e13646e9ae48bbc43ac197cbb4981f49761da424254e3c21bf4bedd7c16b054250f0270f5ba2a2" name="apache2-event" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="3ef980f82bd6f04c96f7d20e9cd0105c4f194def7d7a5272b9b14db01d6ad53262d1f6eb7e84a40f2f6242d9bbed33e401f0eeba4ef53d0c87de7826bfbf521d" name="apache2-event" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="f8adea78c1c473a459cdc3a7f0c4c947bbb1454fe692a5986d74519b0528f6c63d1a806dfdb92ee0f7245f673845c5a94dbeca2c10467564c11e2f80bc8fe4d9" name="apache2-event-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="d788e0e6cd2c946b2fef17ac2f463c58c9692eab016562efc0570ed670d07b6231a57e1eaea97c256964d40f4adf97aa9635e5b3a444a6b9e8c9f23821747864" name="apache2-event-debugsource" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="65441ba2c7896769214a9b5c0828f7629e4bbf21ed00c9a59adf211a4063a2470e2fe7636304aaa94e5d996536b12e0f532f8f980c96011c47f3b49688e85e50" name="apache2-manual" arch="noarch">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="216eb4d3c9a5dc30d7f9d610a05b6b2a6231340c992a8667d7dc6b3a2aca0e4535b7f8922dd5512da49f68a056e28442b7bdb9e4bbb8c9ed0fa76e1aa7999554" name="apache2-manual" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="13d4663ac9212848649d28a7846771afc3080392804916e34861880384526f1b039f9ba6a3ea56cd8bb24ceb84849b761d78fc376e891b985f3b44997c08bb95" name="apache2-mod_apparmor" arch="i586">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="f88ed34763e4b99629bc1f8317eb43164908767addc2457c9cacdc044466e6f81fc82ba8fa7e4e4766b90306117dc6fd9ed9e4ce79f3120f01b8c9c24acb349e" name="apache2-mod_apparmor" arch="x86_64">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="c4b429bd234e8eacfc5a973a8a2c2cf1da3d1ce5c98c00133966bf26d36d39cc97594ad90ab5bf8f76fa2f9d2f24319af18218347f1cfc96eaa0537391ef6a09" name="apache2-mod_apparmor" arch="i586">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="8373da7d13c47e973ec9fab84a3a3cbcdec5e07399abe5de8434e59bd1e8050ac1f81e12ca79b6f56ee94247782eb977727a365eb8904371dabd7df0807f9bcd" name="apache2-mod_apparmor" arch="x86_64">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="94ac02e45407ee2e8c42f6c4716436c3b85cc316c74d8a4ac9961752ea7bf1350faf3fcf90ac054bdc7bc83d8c38b4596099deba13e11832170aa85c86f5c05a" name="apache2-mod_apparmor-debuginfo" arch="i586">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="37e43c7a06983e0b7d5dbf3d5f7a7cf8d54721295df8e863ba973b170a9178419957ef3d744ef1fcad7622f29b9ab5fec45873d689d3f7177f35bc3cb88573a7" name="apache2-mod_apparmor-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="bc3d773c4b26b2c57b4108852c1aa742adbbbccb9b35d6daa7158bc413ac570dafb72e8a98f2192613114b2f6b288286ac103502c02c4686443cf292e0638718" name="apache2-mod_apparmor-debuginfo" arch="i586">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="783b46aebccd28a8d21991a56033af0bc27920548b8a88d767cd24150bff7ff5e0d7aa828471afe216a84f9a6133724f69dff1ff70d240b19baa0029f2ade449" name="apache2-mod_apparmor-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="1adcafeac92e3106e64b206e373750339a4d670670b4c035c488ec04e311e4d4f2d37bbc21983c4d112dd98c9bda0448c1db7b4357fb918b4b1fc1b34242b4c2" name="apache2-mod_authn_otp" arch="src">
  <version epoch="0" ver="1.1.10" rel="2.1"/>
  <changelog author="draht@suse.de" date="1299153600">- upgrade to build fix release 1.1.1</changelog>
  <changelog author="archie@dellroad.org" date="1354017600">- Upgrade to version 1.1.4
  + Always allow stale time-based offsets to re-synchronize (issue #14)
  + Added "OTPAuthMaxOTPFailure" to lock accounts after repeated wrong OTP's
  + Fixed bug with "OTPAuthPINAuthProvider" and &lt;AuthnProviderAlias&gt;
  + Added "OTPAuthPINAuthProvider" to allow alternate verification of PINs
  + Added "OTPAuthLogoutOnIPChange" flag to auto-logout on IP address change</changelog>
  <changelog author="archie@dellroad.org" date="1354276800">- Update to version 1.1.5
  + Allow building on systems without strptime(3) (e.g., Windows)
  + Add support for Apache 2.4.x</changelog>
  <changelog author="archie@dellroad.org" date="1364990400">- Update to version 1.1.6
  + Detect errors when writing to the new users.txt file
  + Fix (harmless) bug where new users.txt file was not being closed
- Use correct license string in spec file
- Add copyright notice to spec file</changelog>
  <changelog author="archie@dellroad.org" date="1400328000">- Update to version 1.1.7
  + Fixed bug where users file could get deleted when using Apache worker MPM (issue #22)
  + Added "OTPAuthFallThrough" to allow fall through to other auth providers (issue #23)
  + Allow "logout" by sending empty password (issue #24)
  + Count PINs against OTPAuthMaxOTPFailure even when they have the wrong length</changelog>
  <changelog author="tchvatal@suse.com" date="1401278400">- Fix source download url.</changelog>
  <changelog author="pgajdos@suse.com" date="1414756800">- call spec-cleaner
- use apache rpm macros</changelog>
  <changelog author="pgajdos@suse.com" date="1437048000">- Requries: %{apache_suse_maintenance_mmn}
  This will pull this module to the update (in released distribution)
  when apache maintainer thinks it is good (due api/abi changes).</changelog>
  <changelog author="pgajdos@suse.com" date="1443182400">- test module with %apache_test_module_curl</changelog>
  <changelog author="pgajdos@suse.com" date="1443700800">- do not %check for apache 2.2</changelog>
  <changelog author="pgajdos@suse.com" date="1443960000">- %check for apache 2.2 again</changelog>
  <changelog author="pgajdos@suse.com" date="1449835200">- %{apache_branch} converted to number</changelog>
  <changelog author="archie.cobbs@gmail.com" date="1509364800">- Update to version 1.1.8
  + Added PINFakeBasicAuth configuration option</changelog>
  <changelog author="archie.cobbs@gmail.com" date="1561204800">- Update to version 1.1.9
  + Added genotpurl(1) utility
  + Added "-F" flag to otptool(1).</changelog>
  <changelog author="pgajdos@suse.com" date="1561550400">- testing with apache-rex instead</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1619179200">- Fixed SPEC file: Replaced broken URL and minor cleanup</changelog>
  <changelog author="Archie Cobbs &lt;archie.cobbs@gmail.com&gt;" date="1651665600">- Update to version 1.1.10
  + Fixed bug in genotpurl on platforms with signed "char" (pr #46)
  + Added "-K" flag to genotpurl tool to specify key length (pr #43)
  + Update spec file description to include genotpurl(1)</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="88b7c334357a0f9fb3c3188b2c937b42f133062fe687a14ca6cde123ff032e4318de0b5606bd4a260e40bfa34467e4c356cc441bb7ca6dbe728c433342566b9b" name="apache2-mod_authn_otp" arch="x86_64">
  <version epoch="0" ver="1.1.10" rel="2.1"/>
  <changelog author="pgajdos@suse.com" date="1443182400">- test module with %apache_test_module_curl</changelog>
  <changelog author="pgajdos@suse.com" date="1443700800">- do not %check for apache 2.2</changelog>
  <changelog author="pgajdos@suse.com" date="1443960000">- %check for apache 2.2 again</changelog>
  <changelog author="pgajdos@suse.com" date="1449835200">- %{apache_branch} converted to number</changelog>
  <changelog author="archie.cobbs@gmail.com" date="1509364800">- Update to version 1.1.8
  + Added PINFakeBasicAuth configuration option</changelog>
  <changelog author="archie.cobbs@gmail.com" date="1561204800">- Update to version 1.1.9
  + Added genotpurl(1) utility
  + Added "-F" flag to otptool(1).</changelog>
  <changelog author="pgajdos@suse.com" date="1561550400">- testing with apache-rex instead</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1619179200">- Fixed SPEC file: Replaced broken URL and minor cleanup</changelog>
  <changelog author="Archie Cobbs &lt;archie.cobbs@gmail.com&gt;" date="1651665600">- Update to version 1.1.10
  + Fixed bug in genotpurl on platforms with signed "char" (pr #46)
  + Added "-K" flag to genotpurl tool to specify key length (pr #43)
  + Update spec file description to include genotpurl(1)</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="0021e1434106e93bce9500d725a93fd0e5aa7b6b9da0c34122f23aaaddf9245818bc3926ec0921aa3208be5fc3e5e672d174e24e2c9d6ba11cc85595888a93ec" name="apache2-mod_fcgid" arch="src">
  <version epoch="0" ver="2.3.9" rel="13.1"/>
  <changelog author="mrueckert@suse.de" date="1193745600">- update to version 2.2
  - Support configuration "PassHeader". Thank Hans Christian
    Saustrup for the suggestion.
  - Support apr_shm_remove() in httpd.2.0.X. Thank Hans Christian
    Saustrup for bug report.
  - Support configuration "TimeScore". Thank Tim Jensen for the
    patch.
  - Support new configurations "MaxRequestInMem" and
    "MaxRequestLen"
  - If the length of http request longer than "MaxRequestInMem",
    it will store in tmp file.
  - It the length of http request longer than "MaxRequestLen", it
    will return internal server error.
    Thank Gabriel Barazer(gabriel at oxeva.fr) for the bug report.
    Thank Steffen(info at apachelounge.com) for the help on this
    issue.
  - Fix miner Sanity check bug. Thank Yuya Tanaka for bug report
- added SharememPath to the config (#337566)</changelog>
  <changelog author="mrueckert@suse.de" date="1204891200">- added directory for the sharedmemory path and the sockets
  (bnc#365113)</changelog>
  <changelog author="mrueckert@suse.de" date="1281009600">- update to version 2.3.5
  mod_fcgid is now an official apache project. During the migration
  the name of the configuration directives has changed. Please see
  /usr/share/doc/packages/apache2-mod_fcgid/CHANGES-FCGID
  to update your config to the new version.
- adapted config to the new directives</changelog>
  <changelog author="poeml@cmdline.net" date="1291464000">- update to 2.3.6
  * ) SECURITY: CVE-2010-3872 (cve.mitre.org)
    Fix possible stack buffer overwrite.
  * ) Change the default for FcgidMaxRequestLen from 1GB to 128K.
    Administrators should change this to an appropriate value based on
    site requirements.
  * ) Allow FastCGI apps more time to exit at shutdown before being
    forcefully killed.
  ...and more fixes, see
  http://svn.apache.org/viewvc/httpd/mod_fcgid/tags/2.3.6/CHANGES-FCGID?view=markup
- adjust the somewhat outdated example config file</changelog>
  <changelog author="jengelh@medozas.de" date="1316260800">- Remove redundant tags/sections from specfile
- Use %_smp_mflags for parallel build</changelog>
  <changelog author="coolo@suse.com" date="1329134400">- patch license to follow spdx.org standard</changelog>
  <changelog author="dimstar@opensuse.org" date="1359374400">- Fix build with apache 2.4: apxs2 moved from %{_sbindir} to
  %{_bindir}.</changelog>
  <changelog author="dimstar@opensuse.org" date="1363089600">- Update to version 2.3.7:
  + Introduce FcgidWin32PreventOrphans directive on Windows to use
    OS Job Control Objects to terminate all running fcgi's when the
    worker process has been abruptly terminated.
  + Periodically clean out the brigades which are pulling in the
    request body for handoff to the fcgid child.
  + Resolve crash during graceful restarts.
  + Solve latency/cogestion of resolving effective user file access
    rights when no such info is desired, for config related
    filename stats.
  + Fix regression in 2.3.6 which broke process controls when using
    vhost-specific configuration.
  + Account for first process in class in the spawn score.
- Really fix build with apache 2.4: redefining apxs to %{_sbindir}
  after the branch-check is just wrong.</changelog>
  <changelog author="draht@suse.de" date="1382356800">- Intermediate fix for openSUSE:Factory eg. openSUSE:13.1:
  apache2-mod_fcgid-CVE-2013-4365-bnc844935.diff fixes a heap
  overflow identified by CVE-2013-4365 [bnc#844935].
  This patch will be obsoleted by the next version update (to
  2.3.9 or higher).</changelog>
  <changelog author="draht@suse.de" date="1383739200">- update to 2.3.9:
  + obsoletes apache2-mod_fcgid-CVE-2013-4365-bnc844935.diff
    and fixes CVE-2013-4365 [bnc#844935] (heap overflow).
    The heap overflow discovery and fix was done by
    Robert Matthews &lt;rob tigertech.com&gt;.
  + quoting and spaces parsing correction for FcgidWrapper directive
    and commandline options.
  + logging improvements for access controls
  + remove redundant processing of Location headers when running in
    FCGI_AUTHORIZER mode</changelog>
  <changelog author="pgajdos@suse.com" date="1414756800">- call spec-cleaner
- use apache rpm macros</changelog>
  <changelog author="pgajdos@suse.com" date="1437048000">- Requries: %{apache_suse_maintenance_mmn}
  This will pull this module to the update (in released distribution)
  when apache maintainer thinks it is good (due api/abi changes).</changelog>
  <changelog author="pgajdos@suse.com" date="1441281600">- test module with %apache_test_module_load</changelog>
  <changelog author="kstreitova@suse.com" date="1469620800">- add mod_fcgid-2.3.9-CVE-2016-1000104.patch - don't allow setting
  the HTTP_PROXY environment variable from a http header
  [CVE-2016-1000104], [bsc#988492]
- run spec-cleaner to clean specfile</changelog>
  <changelog author="pgajdos@suse.com" date="1489406400">- add a true example to %check</changelog>
  <changelog author="pgajdos@suse.com" date="1494590400">- amend example in %check to see how output to stderr get
  logged in error_log</changelog>
  <changelog author="pgajdos@suse.com" date="1561464000">- test via apache-rex instead</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use /usr/sbin/apxs for build, not -prefork</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="7aa2a3366b54f13d75aed4980828596ec9ad56f3b89621482557c2f49991679dee2400f724240bc630fdb8f64cf95169ed8f62bd8d49223b8ae0bdb93147e985" name="apache2-mod_fcgid" arch="x86_64">
  <version epoch="0" ver="2.3.9" rel="13.1"/>
  <changelog author="pgajdos@suse.com" date="1414756800">- call spec-cleaner
- use apache rpm macros</changelog>
  <changelog author="pgajdos@suse.com" date="1437048000">- Requries: %{apache_suse_maintenance_mmn}
  This will pull this module to the update (in released distribution)
  when apache maintainer thinks it is good (due api/abi changes).</changelog>
  <changelog author="pgajdos@suse.com" date="1441281600">- test module with %apache_test_module_load</changelog>
  <changelog author="kstreitova@suse.com" date="1469620800">- add mod_fcgid-2.3.9-CVE-2016-1000104.patch - don't allow setting
  the HTTP_PROXY environment variable from a http header
  [CVE-2016-1000104], [bsc#988492]
- run spec-cleaner to clean specfile</changelog>
  <changelog author="pgajdos@suse.com" date="1489406400">- add a true example to %check</changelog>
  <changelog author="pgajdos@suse.com" date="1494590400">- amend example in %check to see how output to stderr get
  logged in error_log</changelog>
  <changelog author="pgajdos@suse.com" date="1561464000">- test via apache-rex instead</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use /usr/sbin/apxs for build, not -prefork</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="b6b027d8ba8a675afac45b79c388ad9625aa05b3d3b1a2af5373702e37946e1a51a0ea041a21681861b5ced1fadc87e70eecd2724a8f36eb38d7900280f69ba8" name="apache2-mod_fcgid-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.3.9" rel="13.1"/>
  <changelog author="pgajdos@suse.com" date="1414756800">- call spec-cleaner
- use apache rpm macros</changelog>
  <changelog author="pgajdos@suse.com" date="1437048000">- Requries: %{apache_suse_maintenance_mmn}
  This will pull this module to the update (in released distribution)
  when apache maintainer thinks it is good (due api/abi changes).</changelog>
  <changelog author="pgajdos@suse.com" date="1441281600">- test module with %apache_test_module_load</changelog>
  <changelog author="kstreitova@suse.com" date="1469620800">- add mod_fcgid-2.3.9-CVE-2016-1000104.patch - don't allow setting
  the HTTP_PROXY environment variable from a http header
  [CVE-2016-1000104], [bsc#988492]
- run spec-cleaner to clean specfile</changelog>
  <changelog author="pgajdos@suse.com" date="1489406400">- add a true example to %check</changelog>
  <changelog author="pgajdos@suse.com" date="1494590400">- amend example in %check to see how output to stderr get
  logged in error_log</changelog>
  <changelog author="pgajdos@suse.com" date="1561464000">- test via apache-rex instead</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use /usr/sbin/apxs for build, not -prefork</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="fa6d44e763d0de61996be6b1ea4ad0ad1dd312ab5fe39db4413fa8282fa02c31223c25905363b1dd7cb43d4d4c019ae4c993dc244589c843fd520e7334c95227" name="apache2-mod_fcgid-debugsource" arch="x86_64">
  <version epoch="0" ver="2.3.9" rel="13.1"/>
  <changelog author="pgajdos@suse.com" date="1414756800">- call spec-cleaner
- use apache rpm macros</changelog>
  <changelog author="pgajdos@suse.com" date="1437048000">- Requries: %{apache_suse_maintenance_mmn}
  This will pull this module to the update (in released distribution)
  when apache maintainer thinks it is good (due api/abi changes).</changelog>
  <changelog author="pgajdos@suse.com" date="1441281600">- test module with %apache_test_module_load</changelog>
  <changelog author="kstreitova@suse.com" date="1469620800">- add mod_fcgid-2.3.9-CVE-2016-1000104.patch - don't allow setting
  the HTTP_PROXY environment variable from a http header
  [CVE-2016-1000104], [bsc#988492]
- run spec-cleaner to clean specfile</changelog>
  <changelog author="pgajdos@suse.com" date="1489406400">- add a true example to %check</changelog>
  <changelog author="pgajdos@suse.com" date="1494590400">- amend example in %check to see how output to stderr get
  logged in error_log</changelog>
  <changelog author="pgajdos@suse.com" date="1561464000">- test via apache-rex instead</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use /usr/sbin/apxs for build, not -prefork</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="2fa5707b4a788abbb3443837c6158ea1bb6dcf6c816bc64c63c70c1df453599f1c5f796eeae75a0560a1c5378168291ea52d5a6c5a85f77cd701657225c80bdd" name="apache2-mod_nss" arch="src">
  <version epoch="0" ver="1.0.18" rel="7.1"/>
  <changelog author="vcizek@suse.com" date="1460808000">- update to 1.0.14 (fixes boo#973996)
  * OpenSSL ciphers stopped parsing at +, CVE-2016-3099
  * Created valgrind suppression files to ease debugging
  * Implement SSL_PPTYPE_FILTER to call executables to get
    the key password pins. Can be used to prompt with systemd.
  * Improvements to migrate.pl
- drop mod_nss_migrate.pl and use upstream migrate script instead
  * add mod_nss-migrate.patch</changelog>
  <changelog author="vcizek@suse.com" date="1469793600">- use systemd-ask-password to prompt for a certificate passphrase
  (bsc#972968)
  * drop obsolete mod_nss-bnc863518-reopen_dev_tty.diff</changelog>
  <changelog author="vcizek@suse.com" date="1473940800">- don't disable SSLV2, because it doesn't work with NSS 3.24
  (boo#993642)
  * add mod_nss-dont_disable_SSLV2.patch
- remove deprecated NSSSessionCacheTimeout option from mod_nss.conf.in
  (bsc#998176)
- change ownership of the gencert generated NSS database so apache
  can read it (bsc#998180)
  * add mod_nss-gencert-correct-ownership.patch
- use correct configuration path in mod_nss.conf.in (bsc#996282)
- remove %post migration code from the old alias directory
- generate dummy certificates if there aren't any in mod_nss.d
  (bsc#998183)</changelog>
  <changelog author="jengelh@inai.de" date="1475150400">- Avoid changing permissions through symlinks</changelog>
  <changelog author="vcizek@suse.com" date="1508760000">- Use ss instead of the deprecated netstat in gencert (bsc#1064415)
  * add mod_nss-gencert_use_ss_instead_of_netstat.patch
- spec: cleanup and fix URLs</changelog>
  <changelog author="vcizek@suse.com" date="1512648000">- drop obsolete mod_nss-dont_disable_SSLV2.patch
  * bump up minimal NSS version to 3.25, which we now have everywhere
- Require iproute2 for ss, which is used by gencert to gather noise</changelog>
  <changelog author="vcizek@suse.com" date="1512993600">- Fix NSS database startup permission check (bsc#1057776)
  * add 0001-Handle-group-membership-when-testing-for-file-permis.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1513684800">- buildrequire apr-devel instead of libapr1-devel
- buildrequire apr-util-devel instead of libapr-util1-devel</changelog>
  <changelog author="vcizek@suse.com" date="1520424000">- Update to 1.0.15
  * Try to auto-detect the NSS database format if not specified
  * Update nss_pcache.8 man page to drop directory and prefix
  * When a token is configured in password file only authenticate once
  * Return an error when NSSPassPhraseDialog is invalid
  * Move 3DES ciphers down from HIGH to MEDIUM to match OpenSSL 1.0.2k+
  * Add -Werror=implicit-function-declaration to CFLAGS
  * Handle group membership when testing for file permissions
  * NSS system-wide policy now disables SSLv3, don't use it in tests
  * Add missing error messages for libssl errors
  * Fix doc typo in SSL_[SERVER|CLIENT]_SAN_IPaddr env variable name
  * When including additional test config use specific extension
  * Fix the TLS Session ID cache
  * Make an invalid protocol setting fatal
  * Don't use same NSS db in nss_pcache as mod_nss, use NSS_NoDB_Init()
  * Add info log message when FIPS is enabled
  * Add AES-256 and drop DES, CAST128, SKIPJACK as wrapping key types
  * Fix removal of CR from PEM certificates
  * Add OCSP caching and timeout tuning knobs
  * Check the NSS database directory permissions as well as the files
    inside it for read access on startup.
  * Add in simple aliases for ciphers to fix those that
    don't follow the pattern (dhe_rsa_aes_128_sha256,
    dhe_rsa_aes_256_sha256) and those with typos
    (camelia_128_sha, camelia_256_sha)
  * Fix semaphore leak
  * Don't set remote user in fixup hook
  * Drop SSLv2 tests because it is completely disabled now
- drop 0001-Handle-group-membership-when-testing-for-file-permis.patch
  (upstream)
- add 0001-Fix-up-some-broken-cipher-strings-from-a-bad-merge.patch</changelog>
  <changelog author="vcizek@suse.com" date="1520510400">- Since the update to NSS 3.35, the default NSS certificate
  database format changed from Berkley DB to SQLite
- use %license tag</changelog>
  <changelog author="vcizek@suse.com" date="1521460800">- Update to 1.0.16
  * Fix up some broken cipher strings from a bad merge
- adjust distro detection, Tumbleweed has NSS 3.35, Leap 15 has 3.34
- drop 0001-Fix-up-some-broken-cipher-strings-from-a-bad-merge.patch
  (upstream)</changelog>
  <changelog author="vcizek@suse.com" date="1521460801">- Use fixed upstream 1.0.16 tarball
  * https://pagure.io/mod_nss/issue/44</changelog>
  <changelog author="vcizek@suse.com" date="1522152000">- Update to 1.0.17
  * Add TLSv1.3 support
  * Update documentation for TLS 1.3
  * Add TLS 1.3 support to the cipher tests
  * PEP-8 fixups
  * Change the default certificate database format to SQLite.</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1544011200">- Update to 1.0.18
  * Initial support for new mod_proxy function ssl_engine_set
  * Fix some warnings from clang</changelog>
  <changelog author="Petr Gajdos &lt;pgajdos@suse.com&gt;" date="1561723200">- use apache-rex in %check</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1568116800">- Use a stronger password in gencert to pass the stricter tests in
  FIPS mode (bsc#1150133)
  * https://pagure.io/mod_nss/pull-request/48
  * add mod_nss-gencert_stronger_password.patch</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1589284800">- Set the minimal apache version to 2.4.18 which is required since
  1.0.18 (mod_nss needs conn_rec-&gt;master field)</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1591876800">- Add -fcommon in order to fix building with GCC10</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use apache rpm macros</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="72d79e30beb8a6608ad4265ea4b8e4f1b018a746550df8313bbaff144376615c69ab000f55fe65cfd4548a43a3c0ac3ec115f966269169d1c0b231ab1547d799" name="apache2-mod_nss" arch="x86_64">
  <version epoch="0" ver="1.0.18" rel="7.1"/>
  <changelog author="vcizek@suse.com" date="1521460800">- Update to 1.0.16
  * Fix up some broken cipher strings from a bad merge
- adjust distro detection, Tumbleweed has NSS 3.35, Leap 15 has 3.34
- drop 0001-Fix-up-some-broken-cipher-strings-from-a-bad-merge.patch
  (upstream)</changelog>
  <changelog author="vcizek@suse.com" date="1521460801">- Use fixed upstream 1.0.16 tarball
  * https://pagure.io/mod_nss/issue/44</changelog>
  <changelog author="vcizek@suse.com" date="1522152000">- Update to 1.0.17
  * Add TLSv1.3 support
  * Update documentation for TLS 1.3
  * Add TLS 1.3 support to the cipher tests
  * PEP-8 fixups
  * Change the default certificate database format to SQLite.</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1544011200">- Update to 1.0.18
  * Initial support for new mod_proxy function ssl_engine_set
  * Fix some warnings from clang</changelog>
  <changelog author="Petr Gajdos &lt;pgajdos@suse.com&gt;" date="1561723200">- use apache-rex in %check</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1568116800">- Use a stronger password in gencert to pass the stricter tests in
  FIPS mode (bsc#1150133)
  * https://pagure.io/mod_nss/pull-request/48
  * add mod_nss-gencert_stronger_password.patch</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1589284800">- Set the minimal apache version to 2.4.18 which is required since
  1.0.18 (mod_nss needs conn_rec-&gt;master field)</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1591876800">- Add -fcommon in order to fix building with GCC10</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use apache rpm macros</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="704b5b6aeb1bb00a0df663583dc7c1bc97934051e81108d0846839af99ba29655f97cfb62ea9ec6983e6e26d0e5d7c41a3765d2daf6940fab14cfb9eb8e5e598" name="apache2-mod_nss-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.0.18" rel="7.1"/>
  <changelog author="vcizek@suse.com" date="1521460800">- Update to 1.0.16
  * Fix up some broken cipher strings from a bad merge
- adjust distro detection, Tumbleweed has NSS 3.35, Leap 15 has 3.34
- drop 0001-Fix-up-some-broken-cipher-strings-from-a-bad-merge.patch
  (upstream)</changelog>
  <changelog author="vcizek@suse.com" date="1521460801">- Use fixed upstream 1.0.16 tarball
  * https://pagure.io/mod_nss/issue/44</changelog>
  <changelog author="vcizek@suse.com" date="1522152000">- Update to 1.0.17
  * Add TLSv1.3 support
  * Update documentation for TLS 1.3
  * Add TLS 1.3 support to the cipher tests
  * PEP-8 fixups
  * Change the default certificate database format to SQLite.</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1544011200">- Update to 1.0.18
  * Initial support for new mod_proxy function ssl_engine_set
  * Fix some warnings from clang</changelog>
  <changelog author="Petr Gajdos &lt;pgajdos@suse.com&gt;" date="1561723200">- use apache-rex in %check</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1568116800">- Use a stronger password in gencert to pass the stricter tests in
  FIPS mode (bsc#1150133)
  * https://pagure.io/mod_nss/pull-request/48
  * add mod_nss-gencert_stronger_password.patch</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1589284800">- Set the minimal apache version to 2.4.18 which is required since
  1.0.18 (mod_nss needs conn_rec-&gt;master field)</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1591876800">- Add -fcommon in order to fix building with GCC10</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use apache rpm macros</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="d82d9e1f983b87238947fc1d9148c0f102c4f49e68acbc1e7a7ef290651addf013e612af01267518a1d20a2157608b8d09bd880b2bf6e1d8d0ce9d644fe2571c" name="apache2-mod_nss-debugsource" arch="x86_64">
  <version epoch="0" ver="1.0.18" rel="7.1"/>
  <changelog author="vcizek@suse.com" date="1521460800">- Update to 1.0.16
  * Fix up some broken cipher strings from a bad merge
- adjust distro detection, Tumbleweed has NSS 3.35, Leap 15 has 3.34
- drop 0001-Fix-up-some-broken-cipher-strings-from-a-bad-merge.patch
  (upstream)</changelog>
  <changelog author="vcizek@suse.com" date="1521460801">- Use fixed upstream 1.0.16 tarball
  * https://pagure.io/mod_nss/issue/44</changelog>
  <changelog author="vcizek@suse.com" date="1522152000">- Update to 1.0.17
  * Add TLSv1.3 support
  * Update documentation for TLS 1.3
  * Add TLS 1.3 support to the cipher tests
  * PEP-8 fixups
  * Change the default certificate database format to SQLite.</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1544011200">- Update to 1.0.18
  * Initial support for new mod_proxy function ssl_engine_set
  * Fix some warnings from clang</changelog>
  <changelog author="Petr Gajdos &lt;pgajdos@suse.com&gt;" date="1561723200">- use apache-rex in %check</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1568116800">- Use a stronger password in gencert to pass the stricter tests in
  FIPS mode (bsc#1150133)
  * https://pagure.io/mod_nss/pull-request/48
  * add mod_nss-gencert_stronger_password.patch</changelog>
  <changelog author="V&#xED;t&#x11B;zslav &#x10C;&#xED;&#x17E;ek &lt;vcizek@suse.com&gt;" date="1589284800">- Set the minimal apache version to 2.4.18 which is required since
  1.0.18 (mod_nss needs conn_rec-&gt;master field)</changelog>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1591876800">- Add -fcommon in order to fix building with GCC10</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use apache rpm macros</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="b55f375c525e40eae375914d0e9470d24d2fe731adfc8d9268750bd171bd75952d188d60f9b99aeffbeb37ecbad0320848dbd37b73589ebc4abad24c691ac4e6" name="apache2-mod_php8" arch="src">
  <version epoch="0" ver="8.3.8" rel="1.1"/>
  <changelog author="pgajdos@suse.com" date="1685016000">- repack the tarball temporarily [bsc#1211648]</changelog>
  <changelog author="pgajdos@suse.com" date="1685448000">- version update to 8.1.20
  * This is a security release.
  * https://www.php.net/ChangeLog-8.php#8.1.20
- force to repack tarball after update
  https://github.com/php/php-src/issues/11300
- session.save_path set to /var/lib/php8/sessions in mod_php8.conf
  and www.conf php-fpm pool example
- modified sources
  % mod_php8.conf
- added sources
  + repack.sh
  + php-unicode-allow-redistribution.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1687435200">- version update to 8.2.7
  * Readonly classes
  * Disjunctive Normal Form (DNF) Types
  * Allow null, false, and true as stand-alone types
  * New "Random" extension
  * Constants in traits
  * Deprecate dynamic properties
  * for details, see
    https://www.php.net/releases/8.2/en.php
    https://www.php.net/manual/en/migration82.php
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-date-regenerate-lexers.patch (refreshed)
  % php-ini.patch (refreshed)
  % php-systzdata-v23.patch (refreshed)
- CVE-2023-3247 [bsc#1212349]</changelog>
  <changelog author="pgajdos@suse.com" date="1689595200">- version update to 8.2.8
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.8
- modified patches
  % php-sort-filelist-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1692705600">- version update to 8.2.9
  * This is a security release.
  * Fixes CVE-2023-3824 [bsc#1214103] and CVE-2023-3823 [bsc#1214106]
  * https://www.php.net/ChangeLog-8.php#8.2.9
- deleted patches
  - php-unicode-allow-redistribution.patch (upstreamed)
- deleted sources
  - repack.sh (not needed)</changelog>
  <changelog author="pgajdos@suse.com" date="1693569600">- version update to 8.2.10
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.10</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1693569601">- Use %make_build macro</changelog>
  <changelog author="pgajdos@suse.com" date="1695729600">- add missing references to rpm changelog
- 15sp4 only:
  [bsc#1200772], [jsc#SLE-24723] add pecl, pear
  [jsc#SLE-23639] version update</changelog>
  <changelog author="pgajdos@suse.com" date="1695988800">- version update to 8.2.11
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.11</changelog>
  <changelog author="pgajdos@suse.com" date="1698321600">- version update to 8.2.12
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.12</changelog>
  <changelog author="pgajdos@suse.com" date="1700827200">- version update to 8.2.13
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.13</changelog>
  <changelog author="pgajdos@suse.com" date="1700827201">- version update to 8.3.0
  * https://www.php.net/releases/8.3/en.php
  * Typed class constants
  * Dynamic class constant fetch
  * New #[\Override] attribute
  * Deep-cloning of readonly properties
  * New json_validate() function
  * New Randomizer::getBytesFromString() method
  * New Randomizer::getFloat() and Randomizer::nextFloat() methods
  * New DOMElement::getAttributeNames(),
    DOMElement::insertAdjacentElement(),
    DOMElement::insertAdjacentText(),
    DOMElement::toggleAttribute(),
    DOMNode::contains(), DOMNode::getRootNode(),
    DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and
    DOMParentNode::replaceChildren() methods.
  * New IntlCalendar::setDate(),
    IntlCalendar::setDateTime(),
    IntlGregorianCalendar::createFromDate(), and
    IntlGregorianCalendar::createFromDateTime() methods.
  * New ldap_connect_wallet(), and ldap_exop_sync() functions.
  * New mb_str_pad() function.
  * New posix_sysconf(), posix_pathconf(), posix_fpathconf(),
    and posix_eaccess() functions.
  * New ReflectionMethod::createFromMethodName() method.
  * New socket_atmark() function.
  * New str_increment(), str_decrement(),
    and stream_context_set_options() functions.
  * New ZipArchive::getArchiveFlag() method.
  * Support for generation EC keys with custom EC parameters in
    OpenSSL extension.
  * New INI setting zend.max_allowed_stack_size to set the maximum
    allowed stack size.
  * php.ini now supports fallback/default value syntax.
  * Anonymous classes can now be readonly.
  * https://www.php.net/ChangeLog-8.php#PHP_8_3
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-ini.patch (refreshed)
- modified sources
  % php8.keyring
- deleted patches
  - php-systzdata-v23.patch
- added patches
  + php-systzdata-v24.patch</changelog>
  <changelog author="Manu Maier &lt;mmanu84@outlook.de&gt;" date="1703678400">- version update to 8.3.1
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.3.1</changelog>
  <changelog author="pgajdos@suse.com" date="1705579200">- version update to 8.3.2
  * This is a bug fix release.
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1708084800">- version update to 8.3.3
  * A bugfix release.
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1709726400">- Use the system default cipher list instead of hardcoded values
  by using crypto-policies. [bsc#1211301]
  * Use the --with-system-ciphers configure option.</changelog>
  <changelog author="pgajdos@suse.com" date="1710849600">- version update to 8.3.4
  * This is a bug fix release.</changelog>
  <changelog author="pgajdos@suse.com" date="1712923200">- version update to 8.3.6
    Core:
    Fixed GH-13569 (GC buffer unnecessarily grows up to GC_MAX_BUF_SIZE when scanning WeakMaps).
    Fixed bug GH-13612 (Corrupted memory in destructor with weak references).
    Fixed bug GH-13446 (Restore exception handler after it finishes).
    Fixed bug GH-13784 (AX_GCC_FUNC_ATTRIBUTE failure).
    Fixed bug GH-13670 (GC does not scale well with a lot of objects created in destructor).
    DOM:
    Add some missing ZPP checks.
    Fix potential memory leak in XPath evaluation results.
    FPM:
    Fixed GH-11086 (FPM: config test runs twice in daemonised mode).
    Fix incorrect check in fpm_shm_free().
    GD:
    Fixed bug GH-12019 (add GDLIB_CFLAGS in feature tests).
    Gettext:
    Fixed sigabrt raised with dcgettext/dcngettext calls with gettext 0.22.5 with category set to LC_ALL.
    MySQLnd:
    Fix GH-13452 (Fixed handshake response [mysqlnd]).
    Fix incorrect charset length in check_mb_eucjpms().
    Opcache:
    Fixed GH-13508 (JITed QM_ASSIGN may be optimized out when op1 is null).
    Fixed GH-13712 (Segmentation fault for enabled observers when calling trait method of internal trait when opcache is loaded).
    Random:
    Fixed bug GH-13544 (Pre-PHP 8.2 compatibility for mt_srand with unknown modes).
    Fixed bug GH-13690 (Global Mt19937 is not properly reset in-between requests when MT_RAND_PHP is used).
    Session:
    Fixed bug GH-13680 (Segfault with session_decode and compilation error).
    SPL:
    Fixed bug GH-13685 (Unexpected null pointer in zend_string.h).
    Standard:
    Fixed bug GH-11808 (Live filesystem modified by tests).
    Fixed GH-13402 (Added validation of `\n` in $additional_headers of mail()).
    Fixed bug GH-13203 (file_put_contents fail on strings over 4GB on Windows).
    Fixed bug GHSA-pc52-254m-w9w7 (Command injection via array-ish $command parameter of proc_open). (CVE-2024-1874)
    Fixed bug GHSA-wpj3-hf5j-x4v4 (__Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fix). (CVE-2024-2756)
    Fixed bug GHSA-h746-cjrr-wfmr (password_verify can erroneously return true, opening ATO risk). (CVE-2024-3096)
    Fixed bug GHSA-fjp9-9hwx-59fq (mb_encode_mimeheader runs endlessly for some inputs). (CVE-2024-2757)
    Fix bug GH-13932 (Attempt to fix mbstring on windows build) (msvc).</changelog>
  <changelog author="pgajdos@suse.com" date="1715256000">- version update to 8.3.7
    Core:
    Fixed zend_call_stack build with Linux/uclibc-ng without thread support.
    Fixed bug GH-13772 (Invalid execute_data-&gt;opline pointers in observer fcall handlers when JIT is enabled).
    Fixed bug GH-13931 (Applying zero offset to null pointer in Zend/zend_opcode.c).
    Fixed bug GH-13942 (Align the behavior of zend-max-execution-timers with other timeout implementations).
    Fixed bug GH-14003 (Broken cleanup of unfinished calls with callable convert parameters).
    Fixed bug GH-14013 (Erroneous dnl appended in configure).
    Fixed bug GH-10232 (If autoloading occurs during constant resolution filename and lineno are identified incorrectly).
    Fixed bug GH-13727 (Missing void keyword).
    Fibers:
    Fixed bug GH-13903 (ASAN false positive underflow when executing copy()).
    Fileinfo:
    Fixed bug GH-13795 (Test failing in ext/fileinfo/tests/bug78987.phpt on big-endian PPC).
    FPM:
    Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
    Intl:
    Fixed build for icu 74 and onwards.
    MySQLnd:
    Fix shift out of bounds on 32-bit non-fast-path platforms.
    Opcache:
    Fixed bug GH-13433 (Segmentation Fault in zend_class_init_statics when using opcache.preload).
    Fixed incorrect assumptions across compilation units for static calls.
    OpenSSL:
    Fixed bug GH-10495 (feof on OpenSSL stream hangs indefinitely).
    PDO SQLite:
    Fix GH-13984 (Buffer size is now checked before memcmp).
    Fix GH-13998 (Manage refcount of agg_context-&gt;val correctly).
    Phar:
    Fixed bug GH-13836 (Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference).
    Fixed bug GH-13833 (Applying zero offset to null pointer in zend_hash.c).
    Fix potential NULL pointer dereference before calling EVP_SignInit.
    PHPDBG:
    Fixed bug GH-13827 (Null pointer access of type 'zval' in phpdbg_frame).
    Posix:
    Fix usage of reentrant functions in ext/posix.
    Session:
    Fixed bug GH-13856 (Member access within null pointer of type 'ps_files' in ext/session/mod_files.c).
    Fixed bug GH-13891 (memleak and segfault when using ini_set with session.trans_sid_hosts).
    Fixed buffer _read/_write size limit on windows for the file mode.
    Streams:
    Fixed file_get_contents() on Windows fails with "errno=22 Invalid argument".
    Fixed bug GH-13264 (Part 1 - Memory leak on stream filter failure).
    Fixed bug GH-13860 (Incorrect PHP_STREAM_OPTION_CHECK_LIVENESS case in ext/openssl/xp_ssl.c - causing use of dead socket).
    Fixed bug GH-11678 (Build fails on musl 1.2.4 - lfs64).
    Treewide:
    Fix gcc-14 Wcalloc-transposed-args warnings.</changelog>
  <changelog author="pgajdos@suse.com" date="1717761600">- version update to 8.3.8 [bsc#1226073]
    CGI:
    Fixed buffer limit on Windows, replacing read call usage by _read.
    Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577)
    CLI:
    Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.).
    Core:
    Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions).
    DOM:
    Fix crashes when entity declaration is removed while still having entity references.
    Fix references not handled correctly in C14N.
    Fix crash when calling childNodes next() when iterator is exhausted.
    Fix crash in ParentNode::append() when dealing with a fragment containing text nodes.
    Filter:
    Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458)
    FPM:
    Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status).
    Hash:
    ext/hash: Swap the checking order of `__has_builtin` and `__GNUC__` (Saki Takamachi)
    Intl:
    Fixed build regression on systems without C++17 compilers.
    MySQLnd:
    Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query).
    Opcache:
    Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm).
    OpenSSL:
    The openssl_private_decrypt function in PHP and Marvin attack.
    Standard:
    Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874). (CVE-2024-5585)
    XML:
    Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit).
    XMLReader:
    Fixed bug GH-14183 (XMLReader::open() can't be overridden).
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
</package>
<package pkgid="736d330d90d40d7a4b2f6d46f87c38f1567185b28093f1e345bcff046385056d22a85de0ea89085248c42f13e718018cdeb49ba0c70dc892912b2bcb4d5c3ce6" name="apache2-mod_php8" arch="x86_64">
  <version epoch="0" ver="8.3.8" rel="1.1"/>
  <changelog author="pgajdos@suse.com" date="1685016000">- repack the tarball temporarily [bsc#1211648]</changelog>
  <changelog author="pgajdos@suse.com" date="1685448000">- version update to 8.1.20
  * This is a security release.
  * https://www.php.net/ChangeLog-8.php#8.1.20
- force to repack tarball after update
  https://github.com/php/php-src/issues/11300
- session.save_path set to /var/lib/php8/sessions in mod_php8.conf
  and www.conf php-fpm pool example
- modified sources
  % mod_php8.conf
- added sources
  + repack.sh
  + php-unicode-allow-redistribution.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1687435200">- version update to 8.2.7
  * Readonly classes
  * Disjunctive Normal Form (DNF) Types
  * Allow null, false, and true as stand-alone types
  * New "Random" extension
  * Constants in traits
  * Deprecate dynamic properties
  * for details, see
    https://www.php.net/releases/8.2/en.php
    https://www.php.net/manual/en/migration82.php
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-date-regenerate-lexers.patch (refreshed)
  % php-ini.patch (refreshed)
  % php-systzdata-v23.patch (refreshed)
- CVE-2023-3247 [bsc#1212349]</changelog>
  <changelog author="pgajdos@suse.com" date="1689595200">- version update to 8.2.8
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.8
- modified patches
  % php-sort-filelist-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1692705600">- version update to 8.2.9
  * This is a security release.
  * Fixes CVE-2023-3824 [bsc#1214103] and CVE-2023-3823 [bsc#1214106]
  * https://www.php.net/ChangeLog-8.php#8.2.9
- deleted patches
  - php-unicode-allow-redistribution.patch (upstreamed)
- deleted sources
  - repack.sh (not needed)</changelog>
  <changelog author="pgajdos@suse.com" date="1693569600">- version update to 8.2.10
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.10</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1693569601">- Use %make_build macro</changelog>
  <changelog author="pgajdos@suse.com" date="1695729600">- add missing references to rpm changelog
- 15sp4 only:
  [bsc#1200772], [jsc#SLE-24723] add pecl, pear
  [jsc#SLE-23639] version update</changelog>
  <changelog author="pgajdos@suse.com" date="1695988800">- version update to 8.2.11
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.11</changelog>
  <changelog author="pgajdos@suse.com" date="1698321600">- version update to 8.2.12
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.12</changelog>
  <changelog author="pgajdos@suse.com" date="1700827200">- version update to 8.2.13
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.13</changelog>
  <changelog author="pgajdos@suse.com" date="1700827201">- version update to 8.3.0
  * https://www.php.net/releases/8.3/en.php
  * Typed class constants
  * Dynamic class constant fetch
  * New #[\Override] attribute
  * Deep-cloning of readonly properties
  * New json_validate() function
  * New Randomizer::getBytesFromString() method
  * New Randomizer::getFloat() and Randomizer::nextFloat() methods
  * New DOMElement::getAttributeNames(),
    DOMElement::insertAdjacentElement(),
    DOMElement::insertAdjacentText(),
    DOMElement::toggleAttribute(),
    DOMNode::contains(), DOMNode::getRootNode(),
    DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and
    DOMParentNode::replaceChildren() methods.
  * New IntlCalendar::setDate(),
    IntlCalendar::setDateTime(),
    IntlGregorianCalendar::createFromDate(), and
    IntlGregorianCalendar::createFromDateTime() methods.
  * New ldap_connect_wallet(), and ldap_exop_sync() functions.
  * New mb_str_pad() function.
  * New posix_sysconf(), posix_pathconf(), posix_fpathconf(),
    and posix_eaccess() functions.
  * New ReflectionMethod::createFromMethodName() method.
  * New socket_atmark() function.
  * New str_increment(), str_decrement(),
    and stream_context_set_options() functions.
  * New ZipArchive::getArchiveFlag() method.
  * Support for generation EC keys with custom EC parameters in
    OpenSSL extension.
  * New INI setting zend.max_allowed_stack_size to set the maximum
    allowed stack size.
  * php.ini now supports fallback/default value syntax.
  * Anonymous classes can now be readonly.
  * https://www.php.net/ChangeLog-8.php#PHP_8_3
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-ini.patch (refreshed)
- modified sources
  % php8.keyring
- deleted patches
  - php-systzdata-v23.patch
- added patches
  + php-systzdata-v24.patch</changelog>
  <changelog author="Manu Maier &lt;mmanu84@outlook.de&gt;" date="1703678400">- version update to 8.3.1
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.3.1</changelog>
  <changelog author="pgajdos@suse.com" date="1705579200">- version update to 8.3.2
  * This is a bug fix release.
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1708084800">- version update to 8.3.3
  * A bugfix release.
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1709726400">- Use the system default cipher list instead of hardcoded values
  by using crypto-policies. [bsc#1211301]
  * Use the --with-system-ciphers configure option.</changelog>
  <changelog author="pgajdos@suse.com" date="1710849600">- version update to 8.3.4
  * This is a bug fix release.</changelog>
  <changelog author="pgajdos@suse.com" date="1712923200">- version update to 8.3.6
    Core:
    Fixed GH-13569 (GC buffer unnecessarily grows up to GC_MAX_BUF_SIZE when scanning WeakMaps).
    Fixed bug GH-13612 (Corrupted memory in destructor with weak references).
    Fixed bug GH-13446 (Restore exception handler after it finishes).
    Fixed bug GH-13784 (AX_GCC_FUNC_ATTRIBUTE failure).
    Fixed bug GH-13670 (GC does not scale well with a lot of objects created in destructor).
    DOM:
    Add some missing ZPP checks.
    Fix potential memory leak in XPath evaluation results.
    FPM:
    Fixed GH-11086 (FPM: config test runs twice in daemonised mode).
    Fix incorrect check in fpm_shm_free().
    GD:
    Fixed bug GH-12019 (add GDLIB_CFLAGS in feature tests).
    Gettext:
    Fixed sigabrt raised with dcgettext/dcngettext calls with gettext 0.22.5 with category set to LC_ALL.
    MySQLnd:
    Fix GH-13452 (Fixed handshake response [mysqlnd]).
    Fix incorrect charset length in check_mb_eucjpms().
    Opcache:
    Fixed GH-13508 (JITed QM_ASSIGN may be optimized out when op1 is null).
    Fixed GH-13712 (Segmentation fault for enabled observers when calling trait method of internal trait when opcache is loaded).
    Random:
    Fixed bug GH-13544 (Pre-PHP 8.2 compatibility for mt_srand with unknown modes).
    Fixed bug GH-13690 (Global Mt19937 is not properly reset in-between requests when MT_RAND_PHP is used).
    Session:
    Fixed bug GH-13680 (Segfault with session_decode and compilation error).
    SPL:
    Fixed bug GH-13685 (Unexpected null pointer in zend_string.h).
    Standard:
    Fixed bug GH-11808 (Live filesystem modified by tests).
    Fixed GH-13402 (Added validation of `\n` in $additional_headers of mail()).
    Fixed bug GH-13203 (file_put_contents fail on strings over 4GB on Windows).
    Fixed bug GHSA-pc52-254m-w9w7 (Command injection via array-ish $command parameter of proc_open). (CVE-2024-1874)
    Fixed bug GHSA-wpj3-hf5j-x4v4 (__Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fix). (CVE-2024-2756)
    Fixed bug GHSA-h746-cjrr-wfmr (password_verify can erroneously return true, opening ATO risk). (CVE-2024-3096)
    Fixed bug GHSA-fjp9-9hwx-59fq (mb_encode_mimeheader runs endlessly for some inputs). (CVE-2024-2757)
    Fix bug GH-13932 (Attempt to fix mbstring on windows build) (msvc).</changelog>
  <changelog author="pgajdos@suse.com" date="1715256000">- version update to 8.3.7
    Core:
    Fixed zend_call_stack build with Linux/uclibc-ng without thread support.
    Fixed bug GH-13772 (Invalid execute_data-&gt;opline pointers in observer fcall handlers when JIT is enabled).
    Fixed bug GH-13931 (Applying zero offset to null pointer in Zend/zend_opcode.c).
    Fixed bug GH-13942 (Align the behavior of zend-max-execution-timers with other timeout implementations).
    Fixed bug GH-14003 (Broken cleanup of unfinished calls with callable convert parameters).
    Fixed bug GH-14013 (Erroneous dnl appended in configure).
    Fixed bug GH-10232 (If autoloading occurs during constant resolution filename and lineno are identified incorrectly).
    Fixed bug GH-13727 (Missing void keyword).
    Fibers:
    Fixed bug GH-13903 (ASAN false positive underflow when executing copy()).
    Fileinfo:
    Fixed bug GH-13795 (Test failing in ext/fileinfo/tests/bug78987.phpt on big-endian PPC).
    FPM:
    Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
    Intl:
    Fixed build for icu 74 and onwards.
    MySQLnd:
    Fix shift out of bounds on 32-bit non-fast-path platforms.
    Opcache:
    Fixed bug GH-13433 (Segmentation Fault in zend_class_init_statics when using opcache.preload).
    Fixed incorrect assumptions across compilation units for static calls.
    OpenSSL:
    Fixed bug GH-10495 (feof on OpenSSL stream hangs indefinitely).
    PDO SQLite:
    Fix GH-13984 (Buffer size is now checked before memcmp).
    Fix GH-13998 (Manage refcount of agg_context-&gt;val correctly).
    Phar:
    Fixed bug GH-13836 (Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference).
    Fixed bug GH-13833 (Applying zero offset to null pointer in zend_hash.c).
    Fix potential NULL pointer dereference before calling EVP_SignInit.
    PHPDBG:
    Fixed bug GH-13827 (Null pointer access of type 'zval' in phpdbg_frame).
    Posix:
    Fix usage of reentrant functions in ext/posix.
    Session:
    Fixed bug GH-13856 (Member access within null pointer of type 'ps_files' in ext/session/mod_files.c).
    Fixed bug GH-13891 (memleak and segfault when using ini_set with session.trans_sid_hosts).
    Fixed buffer _read/_write size limit on windows for the file mode.
    Streams:
    Fixed file_get_contents() on Windows fails with "errno=22 Invalid argument".
    Fixed bug GH-13264 (Part 1 - Memory leak on stream filter failure).
    Fixed bug GH-13860 (Incorrect PHP_STREAM_OPTION_CHECK_LIVENESS case in ext/openssl/xp_ssl.c - causing use of dead socket).
    Fixed bug GH-11678 (Build fails on musl 1.2.4 - lfs64).
    Treewide:
    Fix gcc-14 Wcalloc-transposed-args warnings.</changelog>
  <changelog author="pgajdos@suse.com" date="1717761600">- version update to 8.3.8 [bsc#1226073]
    CGI:
    Fixed buffer limit on Windows, replacing read call usage by _read.
    Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577)
    CLI:
    Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.).
    Core:
    Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions).
    DOM:
    Fix crashes when entity declaration is removed while still having entity references.
    Fix references not handled correctly in C14N.
    Fix crash when calling childNodes next() when iterator is exhausted.
    Fix crash in ParentNode::append() when dealing with a fragment containing text nodes.
    Filter:
    Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458)
    FPM:
    Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status).
    Hash:
    ext/hash: Swap the checking order of `__has_builtin` and `__GNUC__` (Saki Takamachi)
    Intl:
    Fixed build regression on systems without C++17 compilers.
    MySQLnd:
    Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query).
    Opcache:
    Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm).
    OpenSSL:
    The openssl_private_decrypt function in PHP and Marvin attack.
    Standard:
    Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874). (CVE-2024-5585)
    XML:
    Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit).
    XMLReader:
    Fixed bug GH-14183 (XMLReader::open() can't be overridden).
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
</package>
<package pkgid="fc9d207a3a1c4542c753f0aad5e035d701d271439a647dee4a3f0a998abed88ad20a002919663e41df84492e5fceedd080208c5e5657bab312b78091fb77b25d" name="apache2-mod_php8" arch="src">
  <version epoch="0" ver="8.3.8" rel="3.1"/>
  <changelog author="pgajdos@suse.com" date="1685448000">- version update to 8.1.20
  * This is a security release.
  * https://www.php.net/ChangeLog-8.php#8.1.20
- force to repack tarball after update
  https://github.com/php/php-src/issues/11300
- session.save_path set to /var/lib/php8/sessions in mod_php8.conf
  and www.conf php-fpm pool example
- modified sources
  % mod_php8.conf
- added sources
  + repack.sh
  + php-unicode-allow-redistribution.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1687435200">- version update to 8.2.7
  * Readonly classes
  * Disjunctive Normal Form (DNF) Types
  * Allow null, false, and true as stand-alone types
  * New "Random" extension
  * Constants in traits
  * Deprecate dynamic properties
  * for details, see
    https://www.php.net/releases/8.2/en.php
    https://www.php.net/manual/en/migration82.php
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-date-regenerate-lexers.patch (refreshed)
  % php-ini.patch (refreshed)
  % php-systzdata-v23.patch (refreshed)
- CVE-2023-3247 [bsc#1212349]</changelog>
  <changelog author="pgajdos@suse.com" date="1689595200">- version update to 8.2.8
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.8
- modified patches
  % php-sort-filelist-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1692705600">- version update to 8.2.9
  * This is a security release.
  * Fixes CVE-2023-3824 [bsc#1214103] and CVE-2023-3823 [bsc#1214106]
  * https://www.php.net/ChangeLog-8.php#8.2.9
- deleted patches
  - php-unicode-allow-redistribution.patch (upstreamed)
- deleted sources
  - repack.sh (not needed)</changelog>
  <changelog author="pgajdos@suse.com" date="1693569600">- version update to 8.2.10
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.10</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1693569601">- Use %make_build macro</changelog>
  <changelog author="pgajdos@suse.com" date="1695729600">- add missing references to rpm changelog
- 15sp4 only:
  [bsc#1200772], [jsc#SLE-24723] add pecl, pear
  [jsc#SLE-23639] version update</changelog>
  <changelog author="pgajdos@suse.com" date="1695988800">- version update to 8.2.11
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.11</changelog>
  <changelog author="pgajdos@suse.com" date="1698321600">- version update to 8.2.12
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.12</changelog>
  <changelog author="pgajdos@suse.com" date="1700827200">- version update to 8.2.13
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.13</changelog>
  <changelog author="pgajdos@suse.com" date="1700827201">- version update to 8.3.0
  * https://www.php.net/releases/8.3/en.php
  * Typed class constants
  * Dynamic class constant fetch
  * New #[\Override] attribute
  * Deep-cloning of readonly properties
  * New json_validate() function
  * New Randomizer::getBytesFromString() method
  * New Randomizer::getFloat() and Randomizer::nextFloat() methods
  * New DOMElement::getAttributeNames(),
    DOMElement::insertAdjacentElement(),
    DOMElement::insertAdjacentText(),
    DOMElement::toggleAttribute(),
    DOMNode::contains(), DOMNode::getRootNode(),
    DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and
    DOMParentNode::replaceChildren() methods.
  * New IntlCalendar::setDate(),
    IntlCalendar::setDateTime(),
    IntlGregorianCalendar::createFromDate(), and
    IntlGregorianCalendar::createFromDateTime() methods.
  * New ldap_connect_wallet(), and ldap_exop_sync() functions.
  * New mb_str_pad() function.
  * New posix_sysconf(), posix_pathconf(), posix_fpathconf(),
    and posix_eaccess() functions.
  * New ReflectionMethod::createFromMethodName() method.
  * New socket_atmark() function.
  * New str_increment(), str_decrement(),
    and stream_context_set_options() functions.
  * New ZipArchive::getArchiveFlag() method.
  * Support for generation EC keys with custom EC parameters in
    OpenSSL extension.
  * New INI setting zend.max_allowed_stack_size to set the maximum
    allowed stack size.
  * php.ini now supports fallback/default value syntax.
  * Anonymous classes can now be readonly.
  * https://www.php.net/ChangeLog-8.php#PHP_8_3
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-ini.patch (refreshed)
- modified sources
  % php8.keyring
- deleted patches
  - php-systzdata-v23.patch
- added patches
  + php-systzdata-v24.patch</changelog>
  <changelog author="Manu Maier &lt;mmanu84@outlook.de&gt;" date="1703678400">- version update to 8.3.1
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.3.1</changelog>
  <changelog author="pgajdos@suse.com" date="1705579200">- version update to 8.3.2
  * This is a bug fix release.
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1708084800">- version update to 8.3.3
  * A bugfix release.
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1709726400">- Use the system default cipher list instead of hardcoded values
  by using crypto-policies. [bsc#1211301]
  * Use the --with-system-ciphers configure option.</changelog>
  <changelog author="pgajdos@suse.com" date="1710849600">- version update to 8.3.4
  * This is a bug fix release.</changelog>
  <changelog author="pgajdos@suse.com" date="1712923200">- version update to 8.3.6 [bsc#1222857] [bsc#1222858]
    Core:
    Fixed GH-13569 (GC buffer unnecessarily grows up to GC_MAX_BUF_SIZE when scanning WeakMaps).
    Fixed bug GH-13612 (Corrupted memory in destructor with weak references).
    Fixed bug GH-13446 (Restore exception handler after it finishes).
    Fixed bug GH-13784 (AX_GCC_FUNC_ATTRIBUTE failure).
    Fixed bug GH-13670 (GC does not scale well with a lot of objects created in destructor).
    DOM:
    Add some missing ZPP checks.
    Fix potential memory leak in XPath evaluation results.
    FPM:
    Fixed GH-11086 (FPM: config test runs twice in daemonised mode).
    Fix incorrect check in fpm_shm_free().
    GD:
    Fixed bug GH-12019 (add GDLIB_CFLAGS in feature tests).
    Gettext:
    Fixed sigabrt raised with dcgettext/dcngettext calls with gettext 0.22.5 with category set to LC_ALL.
    MySQLnd:
    Fix GH-13452 (Fixed handshake response [mysqlnd]).
    Fix incorrect charset length in check_mb_eucjpms().
    Opcache:
    Fixed GH-13508 (JITed QM_ASSIGN may be optimized out when op1 is null).
    Fixed GH-13712 (Segmentation fault for enabled observers when calling trait method of internal trait when opcache is loaded).
    Random:
    Fixed bug GH-13544 (Pre-PHP 8.2 compatibility for mt_srand with unknown modes).
    Fixed bug GH-13690 (Global Mt19937 is not properly reset in-between requests when MT_RAND_PHP is used).
    Session:
    Fixed bug GH-13680 (Segfault with session_decode and compilation error).
    SPL:
    Fixed bug GH-13685 (Unexpected null pointer in zend_string.h).
    Standard:
    Fixed bug GH-11808 (Live filesystem modified by tests).
    Fixed GH-13402 (Added validation of `\n` in $additional_headers of mail()).
    Fixed bug GH-13203 (file_put_contents fail on strings over 4GB on Windows).
    Fixed bug GHSA-pc52-254m-w9w7 (Command injection via array-ish $command parameter of proc_open). (CVE-2024-1874)
    Fixed bug GHSA-wpj3-hf5j-x4v4 (__Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fix). (CVE-2024-2756)
    Fixed bug GHSA-h746-cjrr-wfmr (password_verify can erroneously return true, opening ATO risk). (CVE-2024-3096)
    Fixed bug GHSA-fjp9-9hwx-59fq (mb_encode_mimeheader runs endlessly for some inputs). (CVE-2024-2757)
    Fix bug GH-13932 (Attempt to fix mbstring on windows build) (msvc).</changelog>
  <changelog author="pgajdos@suse.com" date="1715256000">- version update to 8.3.7
    Core:
    Fixed zend_call_stack build with Linux/uclibc-ng without thread support.
    Fixed bug GH-13772 (Invalid execute_data-&gt;opline pointers in observer fcall handlers when JIT is enabled).
    Fixed bug GH-13931 (Applying zero offset to null pointer in Zend/zend_opcode.c).
    Fixed bug GH-13942 (Align the behavior of zend-max-execution-timers with other timeout implementations).
    Fixed bug GH-14003 (Broken cleanup of unfinished calls with callable convert parameters).
    Fixed bug GH-14013 (Erroneous dnl appended in configure).
    Fixed bug GH-10232 (If autoloading occurs during constant resolution filename and lineno are identified incorrectly).
    Fixed bug GH-13727 (Missing void keyword).
    Fibers:
    Fixed bug GH-13903 (ASAN false positive underflow when executing copy()).
    Fileinfo:
    Fixed bug GH-13795 (Test failing in ext/fileinfo/tests/bug78987.phpt on big-endian PPC).
    FPM:
    Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
    Intl:
    Fixed build for icu 74 and onwards.
    MySQLnd:
    Fix shift out of bounds on 32-bit non-fast-path platforms.
    Opcache:
    Fixed bug GH-13433 (Segmentation Fault in zend_class_init_statics when using opcache.preload).
    Fixed incorrect assumptions across compilation units for static calls.
    OpenSSL:
    Fixed bug GH-10495 (feof on OpenSSL stream hangs indefinitely).
    PDO SQLite:
    Fix GH-13984 (Buffer size is now checked before memcmp).
    Fix GH-13998 (Manage refcount of agg_context-&gt;val correctly).
    Phar:
    Fixed bug GH-13836 (Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference).
    Fixed bug GH-13833 (Applying zero offset to null pointer in zend_hash.c).
    Fix potential NULL pointer dereference before calling EVP_SignInit.
    PHPDBG:
    Fixed bug GH-13827 (Null pointer access of type 'zval' in phpdbg_frame).
    Posix:
    Fix usage of reentrant functions in ext/posix.
    Session:
    Fixed bug GH-13856 (Member access within null pointer of type 'ps_files' in ext/session/mod_files.c).
    Fixed bug GH-13891 (memleak and segfault when using ini_set with session.trans_sid_hosts).
    Fixed buffer _read/_write size limit on windows for the file mode.
    Streams:
    Fixed file_get_contents() on Windows fails with "errno=22 Invalid argument".
    Fixed bug GH-13264 (Part 1 - Memory leak on stream filter failure).
    Fixed bug GH-13860 (Incorrect PHP_STREAM_OPTION_CHECK_LIVENESS case in ext/openssl/xp_ssl.c - causing use of dead socket).
    Fixed bug GH-11678 (Build fails on musl 1.2.4 - lfs64).
    Treewide:
    Fix gcc-14 Wcalloc-transposed-args warnings.</changelog>
  <changelog author="pgajdos@suse.com" date="1717761600">- version update to 8.3.8 [bsc#1226073]
    CGI:
    Fixed buffer limit on Windows, replacing read call usage by _read.
    Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577)
    CLI:
    Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.).
    Core:
    Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions).
    DOM:
    Fix crashes when entity declaration is removed while still having entity references.
    Fix references not handled correctly in C14N.
    Fix crash when calling childNodes next() when iterator is exhausted.
    Fix crash in ParentNode::append() when dealing with a fragment containing text nodes.
    Filter:
    Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458)
    FPM:
    Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status).
    Hash:
    ext/hash: Swap the checking order of `__has_builtin` and `__GNUC__` (Saki Takamachi)
    Intl:
    Fixed build regression on systems without C++17 compilers.
    MySQLnd:
    Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query).
    Opcache:
    Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm).
    OpenSSL:
    The openssl_private_decrypt function in PHP and Marvin attack.
    Standard:
    Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874). (CVE-2024-5585)
    XML:
    Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit).
    XMLReader:
    Fixed bug GH-14183 (XMLReader::open() can't be overridden).
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="aff014a34b1295b0d5f66e8a68eb60ff986d5be5bb0a19a880d2cc9a201fe5495c477cae7b4a9ad7ee34b81b7fe5690df64e17b5f96dd1eac47fbd607bfe98b5" name="apache2-mod_php8" arch="x86_64">
  <version epoch="0" ver="8.3.8" rel="3.1"/>
  <changelog author="pgajdos@suse.com" date="1685448000">- version update to 8.1.20
  * This is a security release.
  * https://www.php.net/ChangeLog-8.php#8.1.20
- force to repack tarball after update
  https://github.com/php/php-src/issues/11300
- session.save_path set to /var/lib/php8/sessions in mod_php8.conf
  and www.conf php-fpm pool example
- modified sources
  % mod_php8.conf
- added sources
  + repack.sh
  + php-unicode-allow-redistribution.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1687435200">- version update to 8.2.7
  * Readonly classes
  * Disjunctive Normal Form (DNF) Types
  * Allow null, false, and true as stand-alone types
  * New "Random" extension
  * Constants in traits
  * Deprecate dynamic properties
  * for details, see
    https://www.php.net/releases/8.2/en.php
    https://www.php.net/manual/en/migration82.php
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-date-regenerate-lexers.patch (refreshed)
  % php-ini.patch (refreshed)
  % php-systzdata-v23.patch (refreshed)
- CVE-2023-3247 [bsc#1212349]</changelog>
  <changelog author="pgajdos@suse.com" date="1689595200">- version update to 8.2.8
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.8
- modified patches
  % php-sort-filelist-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1692705600">- version update to 8.2.9
  * This is a security release.
  * Fixes CVE-2023-3824 [bsc#1214103] and CVE-2023-3823 [bsc#1214106]
  * https://www.php.net/ChangeLog-8.php#8.2.9
- deleted patches
  - php-unicode-allow-redistribution.patch (upstreamed)
- deleted sources
  - repack.sh (not needed)</changelog>
  <changelog author="pgajdos@suse.com" date="1693569600">- version update to 8.2.10
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.10</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1693569601">- Use %make_build macro</changelog>
  <changelog author="pgajdos@suse.com" date="1695729600">- add missing references to rpm changelog
- 15sp4 only:
  [bsc#1200772], [jsc#SLE-24723] add pecl, pear
  [jsc#SLE-23639] version update</changelog>
  <changelog author="pgajdos@suse.com" date="1695988800">- version update to 8.2.11
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.11</changelog>
  <changelog author="pgajdos@suse.com" date="1698321600">- version update to 8.2.12
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.12</changelog>
  <changelog author="pgajdos@suse.com" date="1700827200">- version update to 8.2.13
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.13</changelog>
  <changelog author="pgajdos@suse.com" date="1700827201">- version update to 8.3.0
  * https://www.php.net/releases/8.3/en.php
  * Typed class constants
  * Dynamic class constant fetch
  * New #[\Override] attribute
  * Deep-cloning of readonly properties
  * New json_validate() function
  * New Randomizer::getBytesFromString() method
  * New Randomizer::getFloat() and Randomizer::nextFloat() methods
  * New DOMElement::getAttributeNames(),
    DOMElement::insertAdjacentElement(),
    DOMElement::insertAdjacentText(),
    DOMElement::toggleAttribute(),
    DOMNode::contains(), DOMNode::getRootNode(),
    DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and
    DOMParentNode::replaceChildren() methods.
  * New IntlCalendar::setDate(),
    IntlCalendar::setDateTime(),
    IntlGregorianCalendar::createFromDate(), and
    IntlGregorianCalendar::createFromDateTime() methods.
  * New ldap_connect_wallet(), and ldap_exop_sync() functions.
  * New mb_str_pad() function.
  * New posix_sysconf(), posix_pathconf(), posix_fpathconf(),
    and posix_eaccess() functions.
  * New ReflectionMethod::createFromMethodName() method.
  * New socket_atmark() function.
  * New str_increment(), str_decrement(),
    and stream_context_set_options() functions.
  * New ZipArchive::getArchiveFlag() method.
  * Support for generation EC keys with custom EC parameters in
    OpenSSL extension.
  * New INI setting zend.max_allowed_stack_size to set the maximum
    allowed stack size.
  * php.ini now supports fallback/default value syntax.
  * Anonymous classes can now be readonly.
  * https://www.php.net/ChangeLog-8.php#PHP_8_3
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-ini.patch (refreshed)
- modified sources
  % php8.keyring
- deleted patches
  - php-systzdata-v23.patch
- added patches
  + php-systzdata-v24.patch</changelog>
  <changelog author="Manu Maier &lt;mmanu84@outlook.de&gt;" date="1703678400">- version update to 8.3.1
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.3.1</changelog>
  <changelog author="pgajdos@suse.com" date="1705579200">- version update to 8.3.2
  * This is a bug fix release.
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1708084800">- version update to 8.3.3
  * A bugfix release.
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1709726400">- Use the system default cipher list instead of hardcoded values
  by using crypto-policies. [bsc#1211301]
  * Use the --with-system-ciphers configure option.</changelog>
  <changelog author="pgajdos@suse.com" date="1710849600">- version update to 8.3.4
  * This is a bug fix release.</changelog>
  <changelog author="pgajdos@suse.com" date="1712923200">- version update to 8.3.6 [bsc#1222857] [bsc#1222858]
    Core:
    Fixed GH-13569 (GC buffer unnecessarily grows up to GC_MAX_BUF_SIZE when scanning WeakMaps).
    Fixed bug GH-13612 (Corrupted memory in destructor with weak references).
    Fixed bug GH-13446 (Restore exception handler after it finishes).
    Fixed bug GH-13784 (AX_GCC_FUNC_ATTRIBUTE failure).
    Fixed bug GH-13670 (GC does not scale well with a lot of objects created in destructor).
    DOM:
    Add some missing ZPP checks.
    Fix potential memory leak in XPath evaluation results.
    FPM:
    Fixed GH-11086 (FPM: config test runs twice in daemonised mode).
    Fix incorrect check in fpm_shm_free().
    GD:
    Fixed bug GH-12019 (add GDLIB_CFLAGS in feature tests).
    Gettext:
    Fixed sigabrt raised with dcgettext/dcngettext calls with gettext 0.22.5 with category set to LC_ALL.
    MySQLnd:
    Fix GH-13452 (Fixed handshake response [mysqlnd]).
    Fix incorrect charset length in check_mb_eucjpms().
    Opcache:
    Fixed GH-13508 (JITed QM_ASSIGN may be optimized out when op1 is null).
    Fixed GH-13712 (Segmentation fault for enabled observers when calling trait method of internal trait when opcache is loaded).
    Random:
    Fixed bug GH-13544 (Pre-PHP 8.2 compatibility for mt_srand with unknown modes).
    Fixed bug GH-13690 (Global Mt19937 is not properly reset in-between requests when MT_RAND_PHP is used).
    Session:
    Fixed bug GH-13680 (Segfault with session_decode and compilation error).
    SPL:
    Fixed bug GH-13685 (Unexpected null pointer in zend_string.h).
    Standard:
    Fixed bug GH-11808 (Live filesystem modified by tests).
    Fixed GH-13402 (Added validation of `\n` in $additional_headers of mail()).
    Fixed bug GH-13203 (file_put_contents fail on strings over 4GB on Windows).
    Fixed bug GHSA-pc52-254m-w9w7 (Command injection via array-ish $command parameter of proc_open). (CVE-2024-1874)
    Fixed bug GHSA-wpj3-hf5j-x4v4 (__Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fix). (CVE-2024-2756)
    Fixed bug GHSA-h746-cjrr-wfmr (password_verify can erroneously return true, opening ATO risk). (CVE-2024-3096)
    Fixed bug GHSA-fjp9-9hwx-59fq (mb_encode_mimeheader runs endlessly for some inputs). (CVE-2024-2757)
    Fix bug GH-13932 (Attempt to fix mbstring on windows build) (msvc).</changelog>
  <changelog author="pgajdos@suse.com" date="1715256000">- version update to 8.3.7
    Core:
    Fixed zend_call_stack build with Linux/uclibc-ng without thread support.
    Fixed bug GH-13772 (Invalid execute_data-&gt;opline pointers in observer fcall handlers when JIT is enabled).
    Fixed bug GH-13931 (Applying zero offset to null pointer in Zend/zend_opcode.c).
    Fixed bug GH-13942 (Align the behavior of zend-max-execution-timers with other timeout implementations).
    Fixed bug GH-14003 (Broken cleanup of unfinished calls with callable convert parameters).
    Fixed bug GH-14013 (Erroneous dnl appended in configure).
    Fixed bug GH-10232 (If autoloading occurs during constant resolution filename and lineno are identified incorrectly).
    Fixed bug GH-13727 (Missing void keyword).
    Fibers:
    Fixed bug GH-13903 (ASAN false positive underflow when executing copy()).
    Fileinfo:
    Fixed bug GH-13795 (Test failing in ext/fileinfo/tests/bug78987.phpt on big-endian PPC).
    FPM:
    Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
    Intl:
    Fixed build for icu 74 and onwards.
    MySQLnd:
    Fix shift out of bounds on 32-bit non-fast-path platforms.
    Opcache:
    Fixed bug GH-13433 (Segmentation Fault in zend_class_init_statics when using opcache.preload).
    Fixed incorrect assumptions across compilation units for static calls.
    OpenSSL:
    Fixed bug GH-10495 (feof on OpenSSL stream hangs indefinitely).
    PDO SQLite:
    Fix GH-13984 (Buffer size is now checked before memcmp).
    Fix GH-13998 (Manage refcount of agg_context-&gt;val correctly).
    Phar:
    Fixed bug GH-13836 (Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference).
    Fixed bug GH-13833 (Applying zero offset to null pointer in zend_hash.c).
    Fix potential NULL pointer dereference before calling EVP_SignInit.
    PHPDBG:
    Fixed bug GH-13827 (Null pointer access of type 'zval' in phpdbg_frame).
    Posix:
    Fix usage of reentrant functions in ext/posix.
    Session:
    Fixed bug GH-13856 (Member access within null pointer of type 'ps_files' in ext/session/mod_files.c).
    Fixed bug GH-13891 (memleak and segfault when using ini_set with session.trans_sid_hosts).
    Fixed buffer _read/_write size limit on windows for the file mode.
    Streams:
    Fixed file_get_contents() on Windows fails with "errno=22 Invalid argument".
    Fixed bug GH-13264 (Part 1 - Memory leak on stream filter failure).
    Fixed bug GH-13860 (Incorrect PHP_STREAM_OPTION_CHECK_LIVENESS case in ext/openssl/xp_ssl.c - causing use of dead socket).
    Fixed bug GH-11678 (Build fails on musl 1.2.4 - lfs64).
    Treewide:
    Fix gcc-14 Wcalloc-transposed-args warnings.</changelog>
  <changelog author="pgajdos@suse.com" date="1717761600">- version update to 8.3.8 [bsc#1226073]
    CGI:
    Fixed buffer limit on Windows, replacing read call usage by _read.
    Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577)
    CLI:
    Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.).
    Core:
    Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions).
    DOM:
    Fix crashes when entity declaration is removed while still having entity references.
    Fix references not handled correctly in C14N.
    Fix crash when calling childNodes next() when iterator is exhausted.
    Fix crash in ParentNode::append() when dealing with a fragment containing text nodes.
    Filter:
    Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458)
    FPM:
    Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status).
    Hash:
    ext/hash: Swap the checking order of `__has_builtin` and `__GNUC__` (Saki Takamachi)
    Intl:
    Fixed build regression on systems without C++17 compilers.
    MySQLnd:
    Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query).
    Opcache:
    Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm).
    OpenSSL:
    The openssl_private_decrypt function in PHP and Marvin attack.
    Standard:
    Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874). (CVE-2024-5585)
    XML:
    Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit).
    XMLReader:
    Fixed bug GH-14183 (XMLReader::open() can't be overridden).
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="81715e656364e9f9c818143a87fbe174d22e1cb09dc9efc5a953e75b6c44d279a5028aa99c0a0d3ad17558305692bac10a781a2c6599390a20faa95bc61bdb88" name="apache2-mod_php8-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.3.8" rel="1.1"/>
  <changelog author="pgajdos@suse.com" date="1685016000">- repack the tarball temporarily [bsc#1211648]</changelog>
  <changelog author="pgajdos@suse.com" date="1685448000">- version update to 8.1.20
  * This is a security release.
  * https://www.php.net/ChangeLog-8.php#8.1.20
- force to repack tarball after update
  https://github.com/php/php-src/issues/11300
- session.save_path set to /var/lib/php8/sessions in mod_php8.conf
  and www.conf php-fpm pool example
- modified sources
  % mod_php8.conf
- added sources
  + repack.sh
  + php-unicode-allow-redistribution.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1687435200">- version update to 8.2.7
  * Readonly classes
  * Disjunctive Normal Form (DNF) Types
  * Allow null, false, and true as stand-alone types
  * New "Random" extension
  * Constants in traits
  * Deprecate dynamic properties
  * for details, see
    https://www.php.net/releases/8.2/en.php
    https://www.php.net/manual/en/migration82.php
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-date-regenerate-lexers.patch (refreshed)
  % php-ini.patch (refreshed)
  % php-systzdata-v23.patch (refreshed)
- CVE-2023-3247 [bsc#1212349]</changelog>
  <changelog author="pgajdos@suse.com" date="1689595200">- version update to 8.2.8
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.8
- modified patches
  % php-sort-filelist-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1692705600">- version update to 8.2.9
  * This is a security release.
  * Fixes CVE-2023-3824 [bsc#1214103] and CVE-2023-3823 [bsc#1214106]
  * https://www.php.net/ChangeLog-8.php#8.2.9
- deleted patches
  - php-unicode-allow-redistribution.patch (upstreamed)
- deleted sources
  - repack.sh (not needed)</changelog>
  <changelog author="pgajdos@suse.com" date="1693569600">- version update to 8.2.10
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.10</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1693569601">- Use %make_build macro</changelog>
  <changelog author="pgajdos@suse.com" date="1695729600">- add missing references to rpm changelog
- 15sp4 only:
  [bsc#1200772], [jsc#SLE-24723] add pecl, pear
  [jsc#SLE-23639] version update</changelog>
  <changelog author="pgajdos@suse.com" date="1695988800">- version update to 8.2.11
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.11</changelog>
  <changelog author="pgajdos@suse.com" date="1698321600">- version update to 8.2.12
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.12</changelog>
  <changelog author="pgajdos@suse.com" date="1700827200">- version update to 8.2.13
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.13</changelog>
  <changelog author="pgajdos@suse.com" date="1700827201">- version update to 8.3.0
  * https://www.php.net/releases/8.3/en.php
  * Typed class constants
  * Dynamic class constant fetch
  * New #[\Override] attribute
  * Deep-cloning of readonly properties
  * New json_validate() function
  * New Randomizer::getBytesFromString() method
  * New Randomizer::getFloat() and Randomizer::nextFloat() methods
  * New DOMElement::getAttributeNames(),
    DOMElement::insertAdjacentElement(),
    DOMElement::insertAdjacentText(),
    DOMElement::toggleAttribute(),
    DOMNode::contains(), DOMNode::getRootNode(),
    DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and
    DOMParentNode::replaceChildren() methods.
  * New IntlCalendar::setDate(),
    IntlCalendar::setDateTime(),
    IntlGregorianCalendar::createFromDate(), and
    IntlGregorianCalendar::createFromDateTime() methods.
  * New ldap_connect_wallet(), and ldap_exop_sync() functions.
  * New mb_str_pad() function.
  * New posix_sysconf(), posix_pathconf(), posix_fpathconf(),
    and posix_eaccess() functions.
  * New ReflectionMethod::createFromMethodName() method.
  * New socket_atmark() function.
  * New str_increment(), str_decrement(),
    and stream_context_set_options() functions.
  * New ZipArchive::getArchiveFlag() method.
  * Support for generation EC keys with custom EC parameters in
    OpenSSL extension.
  * New INI setting zend.max_allowed_stack_size to set the maximum
    allowed stack size.
  * php.ini now supports fallback/default value syntax.
  * Anonymous classes can now be readonly.
  * https://www.php.net/ChangeLog-8.php#PHP_8_3
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-ini.patch (refreshed)
- modified sources
  % php8.keyring
- deleted patches
  - php-systzdata-v23.patch
- added patches
  + php-systzdata-v24.patch</changelog>
  <changelog author="Manu Maier &lt;mmanu84@outlook.de&gt;" date="1703678400">- version update to 8.3.1
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.3.1</changelog>
  <changelog author="pgajdos@suse.com" date="1705579200">- version update to 8.3.2
  * This is a bug fix release.
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1708084800">- version update to 8.3.3
  * A bugfix release.
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1709726400">- Use the system default cipher list instead of hardcoded values
  by using crypto-policies. [bsc#1211301]
  * Use the --with-system-ciphers configure option.</changelog>
  <changelog author="pgajdos@suse.com" date="1710849600">- version update to 8.3.4
  * This is a bug fix release.</changelog>
  <changelog author="pgajdos@suse.com" date="1712923200">- version update to 8.3.6
    Core:
    Fixed GH-13569 (GC buffer unnecessarily grows up to GC_MAX_BUF_SIZE when scanning WeakMaps).
    Fixed bug GH-13612 (Corrupted memory in destructor with weak references).
    Fixed bug GH-13446 (Restore exception handler after it finishes).
    Fixed bug GH-13784 (AX_GCC_FUNC_ATTRIBUTE failure).
    Fixed bug GH-13670 (GC does not scale well with a lot of objects created in destructor).
    DOM:
    Add some missing ZPP checks.
    Fix potential memory leak in XPath evaluation results.
    FPM:
    Fixed GH-11086 (FPM: config test runs twice in daemonised mode).
    Fix incorrect check in fpm_shm_free().
    GD:
    Fixed bug GH-12019 (add GDLIB_CFLAGS in feature tests).
    Gettext:
    Fixed sigabrt raised with dcgettext/dcngettext calls with gettext 0.22.5 with category set to LC_ALL.
    MySQLnd:
    Fix GH-13452 (Fixed handshake response [mysqlnd]).
    Fix incorrect charset length in check_mb_eucjpms().
    Opcache:
    Fixed GH-13508 (JITed QM_ASSIGN may be optimized out when op1 is null).
    Fixed GH-13712 (Segmentation fault for enabled observers when calling trait method of internal trait when opcache is loaded).
    Random:
    Fixed bug GH-13544 (Pre-PHP 8.2 compatibility for mt_srand with unknown modes).
    Fixed bug GH-13690 (Global Mt19937 is not properly reset in-between requests when MT_RAND_PHP is used).
    Session:
    Fixed bug GH-13680 (Segfault with session_decode and compilation error).
    SPL:
    Fixed bug GH-13685 (Unexpected null pointer in zend_string.h).
    Standard:
    Fixed bug GH-11808 (Live filesystem modified by tests).
    Fixed GH-13402 (Added validation of `\n` in $additional_headers of mail()).
    Fixed bug GH-13203 (file_put_contents fail on strings over 4GB on Windows).
    Fixed bug GHSA-pc52-254m-w9w7 (Command injection via array-ish $command parameter of proc_open). (CVE-2024-1874)
    Fixed bug GHSA-wpj3-hf5j-x4v4 (__Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fix). (CVE-2024-2756)
    Fixed bug GHSA-h746-cjrr-wfmr (password_verify can erroneously return true, opening ATO risk). (CVE-2024-3096)
    Fixed bug GHSA-fjp9-9hwx-59fq (mb_encode_mimeheader runs endlessly for some inputs). (CVE-2024-2757)
    Fix bug GH-13932 (Attempt to fix mbstring on windows build) (msvc).</changelog>
  <changelog author="pgajdos@suse.com" date="1715256000">- version update to 8.3.7
    Core:
    Fixed zend_call_stack build with Linux/uclibc-ng without thread support.
    Fixed bug GH-13772 (Invalid execute_data-&gt;opline pointers in observer fcall handlers when JIT is enabled).
    Fixed bug GH-13931 (Applying zero offset to null pointer in Zend/zend_opcode.c).
    Fixed bug GH-13942 (Align the behavior of zend-max-execution-timers with other timeout implementations).
    Fixed bug GH-14003 (Broken cleanup of unfinished calls with callable convert parameters).
    Fixed bug GH-14013 (Erroneous dnl appended in configure).
    Fixed bug GH-10232 (If autoloading occurs during constant resolution filename and lineno are identified incorrectly).
    Fixed bug GH-13727 (Missing void keyword).
    Fibers:
    Fixed bug GH-13903 (ASAN false positive underflow when executing copy()).
    Fileinfo:
    Fixed bug GH-13795 (Test failing in ext/fileinfo/tests/bug78987.phpt on big-endian PPC).
    FPM:
    Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
    Intl:
    Fixed build for icu 74 and onwards.
    MySQLnd:
    Fix shift out of bounds on 32-bit non-fast-path platforms.
    Opcache:
    Fixed bug GH-13433 (Segmentation Fault in zend_class_init_statics when using opcache.preload).
    Fixed incorrect assumptions across compilation units for static calls.
    OpenSSL:
    Fixed bug GH-10495 (feof on OpenSSL stream hangs indefinitely).
    PDO SQLite:
    Fix GH-13984 (Buffer size is now checked before memcmp).
    Fix GH-13998 (Manage refcount of agg_context-&gt;val correctly).
    Phar:
    Fixed bug GH-13836 (Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference).
    Fixed bug GH-13833 (Applying zero offset to null pointer in zend_hash.c).
    Fix potential NULL pointer dereference before calling EVP_SignInit.
    PHPDBG:
    Fixed bug GH-13827 (Null pointer access of type 'zval' in phpdbg_frame).
    Posix:
    Fix usage of reentrant functions in ext/posix.
    Session:
    Fixed bug GH-13856 (Member access within null pointer of type 'ps_files' in ext/session/mod_files.c).
    Fixed bug GH-13891 (memleak and segfault when using ini_set with session.trans_sid_hosts).
    Fixed buffer _read/_write size limit on windows for the file mode.
    Streams:
    Fixed file_get_contents() on Windows fails with "errno=22 Invalid argument".
    Fixed bug GH-13264 (Part 1 - Memory leak on stream filter failure).
    Fixed bug GH-13860 (Incorrect PHP_STREAM_OPTION_CHECK_LIVENESS case in ext/openssl/xp_ssl.c - causing use of dead socket).
    Fixed bug GH-11678 (Build fails on musl 1.2.4 - lfs64).
    Treewide:
    Fix gcc-14 Wcalloc-transposed-args warnings.</changelog>
  <changelog author="pgajdos@suse.com" date="1717761600">- version update to 8.3.8 [bsc#1226073]
    CGI:
    Fixed buffer limit on Windows, replacing read call usage by _read.
    Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577)
    CLI:
    Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.).
    Core:
    Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions).
    DOM:
    Fix crashes when entity declaration is removed while still having entity references.
    Fix references not handled correctly in C14N.
    Fix crash when calling childNodes next() when iterator is exhausted.
    Fix crash in ParentNode::append() when dealing with a fragment containing text nodes.
    Filter:
    Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458)
    FPM:
    Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status).
    Hash:
    ext/hash: Swap the checking order of `__has_builtin` and `__GNUC__` (Saki Takamachi)
    Intl:
    Fixed build regression on systems without C++17 compilers.
    MySQLnd:
    Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query).
    Opcache:
    Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm).
    OpenSSL:
    The openssl_private_decrypt function in PHP and Marvin attack.
    Standard:
    Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874). (CVE-2024-5585)
    XML:
    Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit).
    XMLReader:
    Fixed bug GH-14183 (XMLReader::open() can't be overridden).
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
</package>
<package pkgid="cda171b79ab4aa348a2066b9340619c9c9554676591d6d5b17cd308dc07e56f66467b27525450085fec6a2095c6042ee340473767d9eb6b0792683f4176230db" name="apache2-mod_php8-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.3.8" rel="3.1"/>
  <changelog author="pgajdos@suse.com" date="1685448000">- version update to 8.1.20
  * This is a security release.
  * https://www.php.net/ChangeLog-8.php#8.1.20
- force to repack tarball after update
  https://github.com/php/php-src/issues/11300
- session.save_path set to /var/lib/php8/sessions in mod_php8.conf
  and www.conf php-fpm pool example
- modified sources
  % mod_php8.conf
- added sources
  + repack.sh
  + php-unicode-allow-redistribution.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1687435200">- version update to 8.2.7
  * Readonly classes
  * Disjunctive Normal Form (DNF) Types
  * Allow null, false, and true as stand-alone types
  * New "Random" extension
  * Constants in traits
  * Deprecate dynamic properties
  * for details, see
    https://www.php.net/releases/8.2/en.php
    https://www.php.net/manual/en/migration82.php
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-date-regenerate-lexers.patch (refreshed)
  % php-ini.patch (refreshed)
  % php-systzdata-v23.patch (refreshed)
- CVE-2023-3247 [bsc#1212349]</changelog>
  <changelog author="pgajdos@suse.com" date="1689595200">- version update to 8.2.8
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.8
- modified patches
  % php-sort-filelist-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1692705600">- version update to 8.2.9
  * This is a security release.
  * Fixes CVE-2023-3824 [bsc#1214103] and CVE-2023-3823 [bsc#1214106]
  * https://www.php.net/ChangeLog-8.php#8.2.9
- deleted patches
  - php-unicode-allow-redistribution.patch (upstreamed)
- deleted sources
  - repack.sh (not needed)</changelog>
  <changelog author="pgajdos@suse.com" date="1693569600">- version update to 8.2.10
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.10</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1693569601">- Use %make_build macro</changelog>
  <changelog author="pgajdos@suse.com" date="1695729600">- add missing references to rpm changelog
- 15sp4 only:
  [bsc#1200772], [jsc#SLE-24723] add pecl, pear
  [jsc#SLE-23639] version update</changelog>
  <changelog author="pgajdos@suse.com" date="1695988800">- version update to 8.2.11
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.11</changelog>
  <changelog author="pgajdos@suse.com" date="1698321600">- version update to 8.2.12
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.12</changelog>
  <changelog author="pgajdos@suse.com" date="1700827200">- version update to 8.2.13
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.13</changelog>
  <changelog author="pgajdos@suse.com" date="1700827201">- version update to 8.3.0
  * https://www.php.net/releases/8.3/en.php
  * Typed class constants
  * Dynamic class constant fetch
  * New #[\Override] attribute
  * Deep-cloning of readonly properties
  * New json_validate() function
  * New Randomizer::getBytesFromString() method
  * New Randomizer::getFloat() and Randomizer::nextFloat() methods
  * New DOMElement::getAttributeNames(),
    DOMElement::insertAdjacentElement(),
    DOMElement::insertAdjacentText(),
    DOMElement::toggleAttribute(),
    DOMNode::contains(), DOMNode::getRootNode(),
    DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and
    DOMParentNode::replaceChildren() methods.
  * New IntlCalendar::setDate(),
    IntlCalendar::setDateTime(),
    IntlGregorianCalendar::createFromDate(), and
    IntlGregorianCalendar::createFromDateTime() methods.
  * New ldap_connect_wallet(), and ldap_exop_sync() functions.
  * New mb_str_pad() function.
  * New posix_sysconf(), posix_pathconf(), posix_fpathconf(),
    and posix_eaccess() functions.
  * New ReflectionMethod::createFromMethodName() method.
  * New socket_atmark() function.
  * New str_increment(), str_decrement(),
    and stream_context_set_options() functions.
  * New ZipArchive::getArchiveFlag() method.
  * Support for generation EC keys with custom EC parameters in
    OpenSSL extension.
  * New INI setting zend.max_allowed_stack_size to set the maximum
    allowed stack size.
  * php.ini now supports fallback/default value syntax.
  * Anonymous classes can now be readonly.
  * https://www.php.net/ChangeLog-8.php#PHP_8_3
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-ini.patch (refreshed)
- modified sources
  % php8.keyring
- deleted patches
  - php-systzdata-v23.patch
- added patches
  + php-systzdata-v24.patch</changelog>
  <changelog author="Manu Maier &lt;mmanu84@outlook.de&gt;" date="1703678400">- version update to 8.3.1
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.3.1</changelog>
  <changelog author="pgajdos@suse.com" date="1705579200">- version update to 8.3.2
  * This is a bug fix release.
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1708084800">- version update to 8.3.3
  * A bugfix release.
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1709726400">- Use the system default cipher list instead of hardcoded values
  by using crypto-policies. [bsc#1211301]
  * Use the --with-system-ciphers configure option.</changelog>
  <changelog author="pgajdos@suse.com" date="1710849600">- version update to 8.3.4
  * This is a bug fix release.</changelog>
  <changelog author="pgajdos@suse.com" date="1712923200">- version update to 8.3.6 [bsc#1222857] [bsc#1222858]
    Core:
    Fixed GH-13569 (GC buffer unnecessarily grows up to GC_MAX_BUF_SIZE when scanning WeakMaps).
    Fixed bug GH-13612 (Corrupted memory in destructor with weak references).
    Fixed bug GH-13446 (Restore exception handler after it finishes).
    Fixed bug GH-13784 (AX_GCC_FUNC_ATTRIBUTE failure).
    Fixed bug GH-13670 (GC does not scale well with a lot of objects created in destructor).
    DOM:
    Add some missing ZPP checks.
    Fix potential memory leak in XPath evaluation results.
    FPM:
    Fixed GH-11086 (FPM: config test runs twice in daemonised mode).
    Fix incorrect check in fpm_shm_free().
    GD:
    Fixed bug GH-12019 (add GDLIB_CFLAGS in feature tests).
    Gettext:
    Fixed sigabrt raised with dcgettext/dcngettext calls with gettext 0.22.5 with category set to LC_ALL.
    MySQLnd:
    Fix GH-13452 (Fixed handshake response [mysqlnd]).
    Fix incorrect charset length in check_mb_eucjpms().
    Opcache:
    Fixed GH-13508 (JITed QM_ASSIGN may be optimized out when op1 is null).
    Fixed GH-13712 (Segmentation fault for enabled observers when calling trait method of internal trait when opcache is loaded).
    Random:
    Fixed bug GH-13544 (Pre-PHP 8.2 compatibility for mt_srand with unknown modes).
    Fixed bug GH-13690 (Global Mt19937 is not properly reset in-between requests when MT_RAND_PHP is used).
    Session:
    Fixed bug GH-13680 (Segfault with session_decode and compilation error).
    SPL:
    Fixed bug GH-13685 (Unexpected null pointer in zend_string.h).
    Standard:
    Fixed bug GH-11808 (Live filesystem modified by tests).
    Fixed GH-13402 (Added validation of `\n` in $additional_headers of mail()).
    Fixed bug GH-13203 (file_put_contents fail on strings over 4GB on Windows).
    Fixed bug GHSA-pc52-254m-w9w7 (Command injection via array-ish $command parameter of proc_open). (CVE-2024-1874)
    Fixed bug GHSA-wpj3-hf5j-x4v4 (__Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fix). (CVE-2024-2756)
    Fixed bug GHSA-h746-cjrr-wfmr (password_verify can erroneously return true, opening ATO risk). (CVE-2024-3096)
    Fixed bug GHSA-fjp9-9hwx-59fq (mb_encode_mimeheader runs endlessly for some inputs). (CVE-2024-2757)
    Fix bug GH-13932 (Attempt to fix mbstring on windows build) (msvc).</changelog>
  <changelog author="pgajdos@suse.com" date="1715256000">- version update to 8.3.7
    Core:
    Fixed zend_call_stack build with Linux/uclibc-ng without thread support.
    Fixed bug GH-13772 (Invalid execute_data-&gt;opline pointers in observer fcall handlers when JIT is enabled).
    Fixed bug GH-13931 (Applying zero offset to null pointer in Zend/zend_opcode.c).
    Fixed bug GH-13942 (Align the behavior of zend-max-execution-timers with other timeout implementations).
    Fixed bug GH-14003 (Broken cleanup of unfinished calls with callable convert parameters).
    Fixed bug GH-14013 (Erroneous dnl appended in configure).
    Fixed bug GH-10232 (If autoloading occurs during constant resolution filename and lineno are identified incorrectly).
    Fixed bug GH-13727 (Missing void keyword).
    Fibers:
    Fixed bug GH-13903 (ASAN false positive underflow when executing copy()).
    Fileinfo:
    Fixed bug GH-13795 (Test failing in ext/fileinfo/tests/bug78987.phpt on big-endian PPC).
    FPM:
    Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
    Intl:
    Fixed build for icu 74 and onwards.
    MySQLnd:
    Fix shift out of bounds on 32-bit non-fast-path platforms.
    Opcache:
    Fixed bug GH-13433 (Segmentation Fault in zend_class_init_statics when using opcache.preload).
    Fixed incorrect assumptions across compilation units for static calls.
    OpenSSL:
    Fixed bug GH-10495 (feof on OpenSSL stream hangs indefinitely).
    PDO SQLite:
    Fix GH-13984 (Buffer size is now checked before memcmp).
    Fix GH-13998 (Manage refcount of agg_context-&gt;val correctly).
    Phar:
    Fixed bug GH-13836 (Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference).
    Fixed bug GH-13833 (Applying zero offset to null pointer in zend_hash.c).
    Fix potential NULL pointer dereference before calling EVP_SignInit.
    PHPDBG:
    Fixed bug GH-13827 (Null pointer access of type 'zval' in phpdbg_frame).
    Posix:
    Fix usage of reentrant functions in ext/posix.
    Session:
    Fixed bug GH-13856 (Member access within null pointer of type 'ps_files' in ext/session/mod_files.c).
    Fixed bug GH-13891 (memleak and segfault when using ini_set with session.trans_sid_hosts).
    Fixed buffer _read/_write size limit on windows for the file mode.
    Streams:
    Fixed file_get_contents() on Windows fails with "errno=22 Invalid argument".
    Fixed bug GH-13264 (Part 1 - Memory leak on stream filter failure).
    Fixed bug GH-13860 (Incorrect PHP_STREAM_OPTION_CHECK_LIVENESS case in ext/openssl/xp_ssl.c - causing use of dead socket).
    Fixed bug GH-11678 (Build fails on musl 1.2.4 - lfs64).
    Treewide:
    Fix gcc-14 Wcalloc-transposed-args warnings.</changelog>
  <changelog author="pgajdos@suse.com" date="1717761600">- version update to 8.3.8 [bsc#1226073]
    CGI:
    Fixed buffer limit on Windows, replacing read call usage by _read.
    Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577)
    CLI:
    Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.).
    Core:
    Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions).
    DOM:
    Fix crashes when entity declaration is removed while still having entity references.
    Fix references not handled correctly in C14N.
    Fix crash when calling childNodes next() when iterator is exhausted.
    Fix crash in ParentNode::append() when dealing with a fragment containing text nodes.
    Filter:
    Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458)
    FPM:
    Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status).
    Hash:
    ext/hash: Swap the checking order of `__has_builtin` and `__GNUC__` (Saki Takamachi)
    Intl:
    Fixed build regression on systems without C++17 compilers.
    MySQLnd:
    Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query).
    Opcache:
    Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm).
    OpenSSL:
    The openssl_private_decrypt function in PHP and Marvin attack.
    Standard:
    Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874). (CVE-2024-5585)
    XML:
    Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit).
    XMLReader:
    Fixed bug GH-14183 (XMLReader::open() can't be overridden).
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="8c9ca70cceab1ed13375602eab5195685421670ceec88898778dfb381b0cc342d6cd1c36c81669d545aaa928011bd801d0fd19c323cf2b449301996064b0d69d" name="apache2-mod_php8-debugsource" arch="x86_64">
  <version epoch="0" ver="8.3.8" rel="1.1"/>
  <changelog author="pgajdos@suse.com" date="1685016000">- repack the tarball temporarily [bsc#1211648]</changelog>
  <changelog author="pgajdos@suse.com" date="1685448000">- version update to 8.1.20
  * This is a security release.
  * https://www.php.net/ChangeLog-8.php#8.1.20
- force to repack tarball after update
  https://github.com/php/php-src/issues/11300
- session.save_path set to /var/lib/php8/sessions in mod_php8.conf
  and www.conf php-fpm pool example
- modified sources
  % mod_php8.conf
- added sources
  + repack.sh
  + php-unicode-allow-redistribution.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1687435200">- version update to 8.2.7
  * Readonly classes
  * Disjunctive Normal Form (DNF) Types
  * Allow null, false, and true as stand-alone types
  * New "Random" extension
  * Constants in traits
  * Deprecate dynamic properties
  * for details, see
    https://www.php.net/releases/8.2/en.php
    https://www.php.net/manual/en/migration82.php
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-date-regenerate-lexers.patch (refreshed)
  % php-ini.patch (refreshed)
  % php-systzdata-v23.patch (refreshed)
- CVE-2023-3247 [bsc#1212349]</changelog>
  <changelog author="pgajdos@suse.com" date="1689595200">- version update to 8.2.8
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.8
- modified patches
  % php-sort-filelist-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1692705600">- version update to 8.2.9
  * This is a security release.
  * Fixes CVE-2023-3824 [bsc#1214103] and CVE-2023-3823 [bsc#1214106]
  * https://www.php.net/ChangeLog-8.php#8.2.9
- deleted patches
  - php-unicode-allow-redistribution.patch (upstreamed)
- deleted sources
  - repack.sh (not needed)</changelog>
  <changelog author="pgajdos@suse.com" date="1693569600">- version update to 8.2.10
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.10</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1693569601">- Use %make_build macro</changelog>
  <changelog author="pgajdos@suse.com" date="1695729600">- add missing references to rpm changelog
- 15sp4 only:
  [bsc#1200772], [jsc#SLE-24723] add pecl, pear
  [jsc#SLE-23639] version update</changelog>
  <changelog author="pgajdos@suse.com" date="1695988800">- version update to 8.2.11
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.11</changelog>
  <changelog author="pgajdos@suse.com" date="1698321600">- version update to 8.2.12
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.12</changelog>
  <changelog author="pgajdos@suse.com" date="1700827200">- version update to 8.2.13
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.13</changelog>
  <changelog author="pgajdos@suse.com" date="1700827201">- version update to 8.3.0
  * https://www.php.net/releases/8.3/en.php
  * Typed class constants
  * Dynamic class constant fetch
  * New #[\Override] attribute
  * Deep-cloning of readonly properties
  * New json_validate() function
  * New Randomizer::getBytesFromString() method
  * New Randomizer::getFloat() and Randomizer::nextFloat() methods
  * New DOMElement::getAttributeNames(),
    DOMElement::insertAdjacentElement(),
    DOMElement::insertAdjacentText(),
    DOMElement::toggleAttribute(),
    DOMNode::contains(), DOMNode::getRootNode(),
    DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and
    DOMParentNode::replaceChildren() methods.
  * New IntlCalendar::setDate(),
    IntlCalendar::setDateTime(),
    IntlGregorianCalendar::createFromDate(), and
    IntlGregorianCalendar::createFromDateTime() methods.
  * New ldap_connect_wallet(), and ldap_exop_sync() functions.
  * New mb_str_pad() function.
  * New posix_sysconf(), posix_pathconf(), posix_fpathconf(),
    and posix_eaccess() functions.
  * New ReflectionMethod::createFromMethodName() method.
  * New socket_atmark() function.
  * New str_increment(), str_decrement(),
    and stream_context_set_options() functions.
  * New ZipArchive::getArchiveFlag() method.
  * Support for generation EC keys with custom EC parameters in
    OpenSSL extension.
  * New INI setting zend.max_allowed_stack_size to set the maximum
    allowed stack size.
  * php.ini now supports fallback/default value syntax.
  * Anonymous classes can now be readonly.
  * https://www.php.net/ChangeLog-8.php#PHP_8_3
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-ini.patch (refreshed)
- modified sources
  % php8.keyring
- deleted patches
  - php-systzdata-v23.patch
- added patches
  + php-systzdata-v24.patch</changelog>
  <changelog author="Manu Maier &lt;mmanu84@outlook.de&gt;" date="1703678400">- version update to 8.3.1
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.3.1</changelog>
  <changelog author="pgajdos@suse.com" date="1705579200">- version update to 8.3.2
  * This is a bug fix release.
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1708084800">- version update to 8.3.3
  * A bugfix release.
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1709726400">- Use the system default cipher list instead of hardcoded values
  by using crypto-policies. [bsc#1211301]
  * Use the --with-system-ciphers configure option.</changelog>
  <changelog author="pgajdos@suse.com" date="1710849600">- version update to 8.3.4
  * This is a bug fix release.</changelog>
  <changelog author="pgajdos@suse.com" date="1712923200">- version update to 8.3.6
    Core:
    Fixed GH-13569 (GC buffer unnecessarily grows up to GC_MAX_BUF_SIZE when scanning WeakMaps).
    Fixed bug GH-13612 (Corrupted memory in destructor with weak references).
    Fixed bug GH-13446 (Restore exception handler after it finishes).
    Fixed bug GH-13784 (AX_GCC_FUNC_ATTRIBUTE failure).
    Fixed bug GH-13670 (GC does not scale well with a lot of objects created in destructor).
    DOM:
    Add some missing ZPP checks.
    Fix potential memory leak in XPath evaluation results.
    FPM:
    Fixed GH-11086 (FPM: config test runs twice in daemonised mode).
    Fix incorrect check in fpm_shm_free().
    GD:
    Fixed bug GH-12019 (add GDLIB_CFLAGS in feature tests).
    Gettext:
    Fixed sigabrt raised with dcgettext/dcngettext calls with gettext 0.22.5 with category set to LC_ALL.
    MySQLnd:
    Fix GH-13452 (Fixed handshake response [mysqlnd]).
    Fix incorrect charset length in check_mb_eucjpms().
    Opcache:
    Fixed GH-13508 (JITed QM_ASSIGN may be optimized out when op1 is null).
    Fixed GH-13712 (Segmentation fault for enabled observers when calling trait method of internal trait when opcache is loaded).
    Random:
    Fixed bug GH-13544 (Pre-PHP 8.2 compatibility for mt_srand with unknown modes).
    Fixed bug GH-13690 (Global Mt19937 is not properly reset in-between requests when MT_RAND_PHP is used).
    Session:
    Fixed bug GH-13680 (Segfault with session_decode and compilation error).
    SPL:
    Fixed bug GH-13685 (Unexpected null pointer in zend_string.h).
    Standard:
    Fixed bug GH-11808 (Live filesystem modified by tests).
    Fixed GH-13402 (Added validation of `\n` in $additional_headers of mail()).
    Fixed bug GH-13203 (file_put_contents fail on strings over 4GB on Windows).
    Fixed bug GHSA-pc52-254m-w9w7 (Command injection via array-ish $command parameter of proc_open). (CVE-2024-1874)
    Fixed bug GHSA-wpj3-hf5j-x4v4 (__Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fix). (CVE-2024-2756)
    Fixed bug GHSA-h746-cjrr-wfmr (password_verify can erroneously return true, opening ATO risk). (CVE-2024-3096)
    Fixed bug GHSA-fjp9-9hwx-59fq (mb_encode_mimeheader runs endlessly for some inputs). (CVE-2024-2757)
    Fix bug GH-13932 (Attempt to fix mbstring on windows build) (msvc).</changelog>
  <changelog author="pgajdos@suse.com" date="1715256000">- version update to 8.3.7
    Core:
    Fixed zend_call_stack build with Linux/uclibc-ng without thread support.
    Fixed bug GH-13772 (Invalid execute_data-&gt;opline pointers in observer fcall handlers when JIT is enabled).
    Fixed bug GH-13931 (Applying zero offset to null pointer in Zend/zend_opcode.c).
    Fixed bug GH-13942 (Align the behavior of zend-max-execution-timers with other timeout implementations).
    Fixed bug GH-14003 (Broken cleanup of unfinished calls with callable convert parameters).
    Fixed bug GH-14013 (Erroneous dnl appended in configure).
    Fixed bug GH-10232 (If autoloading occurs during constant resolution filename and lineno are identified incorrectly).
    Fixed bug GH-13727 (Missing void keyword).
    Fibers:
    Fixed bug GH-13903 (ASAN false positive underflow when executing copy()).
    Fileinfo:
    Fixed bug GH-13795 (Test failing in ext/fileinfo/tests/bug78987.phpt on big-endian PPC).
    FPM:
    Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
    Intl:
    Fixed build for icu 74 and onwards.
    MySQLnd:
    Fix shift out of bounds on 32-bit non-fast-path platforms.
    Opcache:
    Fixed bug GH-13433 (Segmentation Fault in zend_class_init_statics when using opcache.preload).
    Fixed incorrect assumptions across compilation units for static calls.
    OpenSSL:
    Fixed bug GH-10495 (feof on OpenSSL stream hangs indefinitely).
    PDO SQLite:
    Fix GH-13984 (Buffer size is now checked before memcmp).
    Fix GH-13998 (Manage refcount of agg_context-&gt;val correctly).
    Phar:
    Fixed bug GH-13836 (Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference).
    Fixed bug GH-13833 (Applying zero offset to null pointer in zend_hash.c).
    Fix potential NULL pointer dereference before calling EVP_SignInit.
    PHPDBG:
    Fixed bug GH-13827 (Null pointer access of type 'zval' in phpdbg_frame).
    Posix:
    Fix usage of reentrant functions in ext/posix.
    Session:
    Fixed bug GH-13856 (Member access within null pointer of type 'ps_files' in ext/session/mod_files.c).
    Fixed bug GH-13891 (memleak and segfault when using ini_set with session.trans_sid_hosts).
    Fixed buffer _read/_write size limit on windows for the file mode.
    Streams:
    Fixed file_get_contents() on Windows fails with "errno=22 Invalid argument".
    Fixed bug GH-13264 (Part 1 - Memory leak on stream filter failure).
    Fixed bug GH-13860 (Incorrect PHP_STREAM_OPTION_CHECK_LIVENESS case in ext/openssl/xp_ssl.c - causing use of dead socket).
    Fixed bug GH-11678 (Build fails on musl 1.2.4 - lfs64).
    Treewide:
    Fix gcc-14 Wcalloc-transposed-args warnings.</changelog>
  <changelog author="pgajdos@suse.com" date="1717761600">- version update to 8.3.8 [bsc#1226073]
    CGI:
    Fixed buffer limit on Windows, replacing read call usage by _read.
    Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577)
    CLI:
    Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.).
    Core:
    Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions).
    DOM:
    Fix crashes when entity declaration is removed while still having entity references.
    Fix references not handled correctly in C14N.
    Fix crash when calling childNodes next() when iterator is exhausted.
    Fix crash in ParentNode::append() when dealing with a fragment containing text nodes.
    Filter:
    Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458)
    FPM:
    Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status).
    Hash:
    ext/hash: Swap the checking order of `__has_builtin` and `__GNUC__` (Saki Takamachi)
    Intl:
    Fixed build regression on systems without C++17 compilers.
    MySQLnd:
    Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query).
    Opcache:
    Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm).
    OpenSSL:
    The openssl_private_decrypt function in PHP and Marvin attack.
    Standard:
    Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874). (CVE-2024-5585)
    XML:
    Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit).
    XMLReader:
    Fixed bug GH-14183 (XMLReader::open() can't be overridden).
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
</package>
<package pkgid="7d172a58d39add78d97dec9507356c0b57534d0616977227a0f8e4ea080a4622265cb59b1777b5a71b2cacb8594b98e8d8b74004ae56d8834b10d69378af23a6" name="apache2-mod_php8-debugsource" arch="x86_64">
  <version epoch="0" ver="8.3.8" rel="3.1"/>
  <changelog author="pgajdos@suse.com" date="1685448000">- version update to 8.1.20
  * This is a security release.
  * https://www.php.net/ChangeLog-8.php#8.1.20
- force to repack tarball after update
  https://github.com/php/php-src/issues/11300
- session.save_path set to /var/lib/php8/sessions in mod_php8.conf
  and www.conf php-fpm pool example
- modified sources
  % mod_php8.conf
- added sources
  + repack.sh
  + php-unicode-allow-redistribution.patch</changelog>
  <changelog author="pgajdos@suse.com" date="1687435200">- version update to 8.2.7
  * Readonly classes
  * Disjunctive Normal Form (DNF) Types
  * Allow null, false, and true as stand-alone types
  * New "Random" extension
  * Constants in traits
  * Deprecate dynamic properties
  * for details, see
    https://www.php.net/releases/8.2/en.php
    https://www.php.net/manual/en/migration82.php
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-date-regenerate-lexers.patch (refreshed)
  % php-ini.patch (refreshed)
  % php-systzdata-v23.patch (refreshed)
- CVE-2023-3247 [bsc#1212349]</changelog>
  <changelog author="pgajdos@suse.com" date="1689595200">- version update to 8.2.8
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.8
- modified patches
  % php-sort-filelist-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1692705600">- version update to 8.2.9
  * This is a security release.
  * Fixes CVE-2023-3824 [bsc#1214103] and CVE-2023-3823 [bsc#1214106]
  * https://www.php.net/ChangeLog-8.php#8.2.9
- deleted patches
  - php-unicode-allow-redistribution.patch (upstreamed)
- deleted sources
  - repack.sh (not needed)</changelog>
  <changelog author="pgajdos@suse.com" date="1693569600">- version update to 8.2.10
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.10</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1693569601">- Use %make_build macro</changelog>
  <changelog author="pgajdos@suse.com" date="1695729600">- add missing references to rpm changelog
- 15sp4 only:
  [bsc#1200772], [jsc#SLE-24723] add pecl, pear
  [jsc#SLE-23639] version update</changelog>
  <changelog author="pgajdos@suse.com" date="1695988800">- version update to 8.2.11
  * This is a bug fix release.
  * https://www.php.net/ChangeLog-8.php#8.2.11</changelog>
  <changelog author="pgajdos@suse.com" date="1698321600">- version update to 8.2.12
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.12</changelog>
  <changelog author="pgajdos@suse.com" date="1700827200">- version update to 8.2.13
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.2.13</changelog>
  <changelog author="pgajdos@suse.com" date="1700827201">- version update to 8.3.0
  * https://www.php.net/releases/8.3/en.php
  * Typed class constants
  * Dynamic class constant fetch
  * New #[\Override] attribute
  * Deep-cloning of readonly properties
  * New json_validate() function
  * New Randomizer::getBytesFromString() method
  * New Randomizer::getFloat() and Randomizer::nextFloat() methods
  * New DOMElement::getAttributeNames(),
    DOMElement::insertAdjacentElement(),
    DOMElement::insertAdjacentText(),
    DOMElement::toggleAttribute(),
    DOMNode::contains(), DOMNode::getRootNode(),
    DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and
    DOMParentNode::replaceChildren() methods.
  * New IntlCalendar::setDate(),
    IntlCalendar::setDateTime(),
    IntlGregorianCalendar::createFromDate(), and
    IntlGregorianCalendar::createFromDateTime() methods.
  * New ldap_connect_wallet(), and ldap_exop_sync() functions.
  * New mb_str_pad() function.
  * New posix_sysconf(), posix_pathconf(), posix_fpathconf(),
    and posix_eaccess() functions.
  * New ReflectionMethod::createFromMethodName() method.
  * New socket_atmark() function.
  * New str_increment(), str_decrement(),
    and stream_context_set_options() functions.
  * New ZipArchive::getArchiveFlag() method.
  * Support for generation EC keys with custom EC parameters in
    OpenSSL extension.
  * New INI setting zend.max_allowed_stack_size to set the maximum
    allowed stack size.
  * php.ini now supports fallback/default value syntax.
  * Anonymous classes can now be readonly.
  * https://www.php.net/ChangeLog-8.php#PHP_8_3
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)
  % php-ini.patch (refreshed)
- modified sources
  % php8.keyring
- deleted patches
  - php-systzdata-v23.patch
- added patches
  + php-systzdata-v24.patch</changelog>
  <changelog author="Manu Maier &lt;mmanu84@outlook.de&gt;" date="1703678400">- version update to 8.3.1
  * This is a bug fix release.
    https://www.php.net/ChangeLog-8.php#8.3.1</changelog>
  <changelog author="pgajdos@suse.com" date="1705579200">- version update to 8.3.2
  * This is a bug fix release.
- modified patches
  % php-ar-flags.patch (refreshed)
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1708084800">- version update to 8.3.3
  * A bugfix release.
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1709726400">- Use the system default cipher list instead of hardcoded values
  by using crypto-policies. [bsc#1211301]
  * Use the --with-system-ciphers configure option.</changelog>
  <changelog author="pgajdos@suse.com" date="1710849600">- version update to 8.3.4
  * This is a bug fix release.</changelog>
  <changelog author="pgajdos@suse.com" date="1712923200">- version update to 8.3.6 [bsc#1222857] [bsc#1222858]
    Core:
    Fixed GH-13569 (GC buffer unnecessarily grows up to GC_MAX_BUF_SIZE when scanning WeakMaps).
    Fixed bug GH-13612 (Corrupted memory in destructor with weak references).
    Fixed bug GH-13446 (Restore exception handler after it finishes).
    Fixed bug GH-13784 (AX_GCC_FUNC_ATTRIBUTE failure).
    Fixed bug GH-13670 (GC does not scale well with a lot of objects created in destructor).
    DOM:
    Add some missing ZPP checks.
    Fix potential memory leak in XPath evaluation results.
    FPM:
    Fixed GH-11086 (FPM: config test runs twice in daemonised mode).
    Fix incorrect check in fpm_shm_free().
    GD:
    Fixed bug GH-12019 (add GDLIB_CFLAGS in feature tests).
    Gettext:
    Fixed sigabrt raised with dcgettext/dcngettext calls with gettext 0.22.5 with category set to LC_ALL.
    MySQLnd:
    Fix GH-13452 (Fixed handshake response [mysqlnd]).
    Fix incorrect charset length in check_mb_eucjpms().
    Opcache:
    Fixed GH-13508 (JITed QM_ASSIGN may be optimized out when op1 is null).
    Fixed GH-13712 (Segmentation fault for enabled observers when calling trait method of internal trait when opcache is loaded).
    Random:
    Fixed bug GH-13544 (Pre-PHP 8.2 compatibility for mt_srand with unknown modes).
    Fixed bug GH-13690 (Global Mt19937 is not properly reset in-between requests when MT_RAND_PHP is used).
    Session:
    Fixed bug GH-13680 (Segfault with session_decode and compilation error).
    SPL:
    Fixed bug GH-13685 (Unexpected null pointer in zend_string.h).
    Standard:
    Fixed bug GH-11808 (Live filesystem modified by tests).
    Fixed GH-13402 (Added validation of `\n` in $additional_headers of mail()).
    Fixed bug GH-13203 (file_put_contents fail on strings over 4GB on Windows).
    Fixed bug GHSA-pc52-254m-w9w7 (Command injection via array-ish $command parameter of proc_open). (CVE-2024-1874)
    Fixed bug GHSA-wpj3-hf5j-x4v4 (__Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fix). (CVE-2024-2756)
    Fixed bug GHSA-h746-cjrr-wfmr (password_verify can erroneously return true, opening ATO risk). (CVE-2024-3096)
    Fixed bug GHSA-fjp9-9hwx-59fq (mb_encode_mimeheader runs endlessly for some inputs). (CVE-2024-2757)
    Fix bug GH-13932 (Attempt to fix mbstring on windows build) (msvc).</changelog>
  <changelog author="pgajdos@suse.com" date="1715256000">- version update to 8.3.7
    Core:
    Fixed zend_call_stack build with Linux/uclibc-ng without thread support.
    Fixed bug GH-13772 (Invalid execute_data-&gt;opline pointers in observer fcall handlers when JIT is enabled).
    Fixed bug GH-13931 (Applying zero offset to null pointer in Zend/zend_opcode.c).
    Fixed bug GH-13942 (Align the behavior of zend-max-execution-timers with other timeout implementations).
    Fixed bug GH-14003 (Broken cleanup of unfinished calls with callable convert parameters).
    Fixed bug GH-14013 (Erroneous dnl appended in configure).
    Fixed bug GH-10232 (If autoloading occurs during constant resolution filename and lineno are identified incorrectly).
    Fixed bug GH-13727 (Missing void keyword).
    Fibers:
    Fixed bug GH-13903 (ASAN false positive underflow when executing copy()).
    Fileinfo:
    Fixed bug GH-13795 (Test failing in ext/fileinfo/tests/bug78987.phpt on big-endian PPC).
    FPM:
    Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
    Intl:
    Fixed build for icu 74 and onwards.
    MySQLnd:
    Fix shift out of bounds on 32-bit non-fast-path platforms.
    Opcache:
    Fixed bug GH-13433 (Segmentation Fault in zend_class_init_statics when using opcache.preload).
    Fixed incorrect assumptions across compilation units for static calls.
    OpenSSL:
    Fixed bug GH-10495 (feof on OpenSSL stream hangs indefinitely).
    PDO SQLite:
    Fix GH-13984 (Buffer size is now checked before memcmp).
    Fix GH-13998 (Manage refcount of agg_context-&gt;val correctly).
    Phar:
    Fixed bug GH-13836 (Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference).
    Fixed bug GH-13833 (Applying zero offset to null pointer in zend_hash.c).
    Fix potential NULL pointer dereference before calling EVP_SignInit.
    PHPDBG:
    Fixed bug GH-13827 (Null pointer access of type 'zval' in phpdbg_frame).
    Posix:
    Fix usage of reentrant functions in ext/posix.
    Session:
    Fixed bug GH-13856 (Member access within null pointer of type 'ps_files' in ext/session/mod_files.c).
    Fixed bug GH-13891 (memleak and segfault when using ini_set with session.trans_sid_hosts).
    Fixed buffer _read/_write size limit on windows for the file mode.
    Streams:
    Fixed file_get_contents() on Windows fails with "errno=22 Invalid argument".
    Fixed bug GH-13264 (Part 1 - Memory leak on stream filter failure).
    Fixed bug GH-13860 (Incorrect PHP_STREAM_OPTION_CHECK_LIVENESS case in ext/openssl/xp_ssl.c - causing use of dead socket).
    Fixed bug GH-11678 (Build fails on musl 1.2.4 - lfs64).
    Treewide:
    Fix gcc-14 Wcalloc-transposed-args warnings.</changelog>
  <changelog author="pgajdos@suse.com" date="1717761600">- version update to 8.3.8 [bsc#1226073]
    CGI:
    Fixed buffer limit on Windows, replacing read call usage by _read.
    Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577)
    CLI:
    Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.).
    Core:
    Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions).
    DOM:
    Fix crashes when entity declaration is removed while still having entity references.
    Fix references not handled correctly in C14N.
    Fix crash when calling childNodes next() when iterator is exhausted.
    Fix crash in ParentNode::append() when dealing with a fragment containing text nodes.
    Filter:
    Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458)
    FPM:
    Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status).
    Hash:
    ext/hash: Swap the checking order of `__has_builtin` and `__GNUC__` (Saki Takamachi)
    Intl:
    Fixed build regression on systems without C++17 compilers.
    MySQLnd:
    Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query).
    Opcache:
    Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm).
    OpenSSL:
    The openssl_private_decrypt function in PHP and Marvin attack.
    Standard:
    Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874). (CVE-2024-5585)
    XML:
    Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit).
    XMLReader:
    Fixed bug GH-14183 (XMLReader::open() can't be overridden).
- modified patches
  % php-build-reproducible-phar.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="98f89aadf5680784549f079a1ec360fefdc5dbc693264da5a10c284ea67cc77efe531680c9e1dd33b111431926c074020117fbe4723c37e5e0659fa314841544" name="apache2-mod_wsgi" arch="src">
  <version epoch="0" ver="5.0.0" rel="2.1"/>
  <changelog author="mc@suse.de" date="1443441600">- update to 4.4.13
  * Upstream release notes:
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.13.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.12.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.11.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.10.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.9.html</changelog>
  <changelog author="bruno@ioda-net.ch" date="1455969600">- update to 4.4.22
  * Upstream release notes:
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.22.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.21.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.20.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.19.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.18.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.17.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.16.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.15.html
    + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.14.html</changelog>
  <changelog author="mrueckert@suse.de" date="1464955200">- update to 4.5.2
  * Upstream release notes:
    + http://modwsgi.readthedocs.io/en/latest/release-notes/version-4.5.2.html
    + http://modwsgi.readthedocs.io/en/latest/release-notes/version-4.5.1.html
    + http://modwsgi.readthedocs.io/en/latest/release-notes/version-4.5.0.html
    + http://modwsgi.readthedocs.io/en/latest/release-notes/version-4.4.23.html
- minimized delta between spec files
- use the #/ trick for the source url</changelog>
  <changelog author="bruno@ioda-net.ch" date="1505563200">- update to 4.5.18 see full changes bugfix and new features here:
  http://modwsgi.readthedocs.io/en/latest/release-notes
- specleanup</changelog>
  <changelog author="tbechtold@suse.com" date="1521460800">- Fix description (bsc#1084882)</changelog>
  <changelog author="dmueller@suse.com" date="1523016000">- update to 4.6.4:
  * see http://modwsgi.readthedocs.io/en/develop/release-notes/version-4.5.19.html
  * see http://modwsgi.readthedocs.io/en/develop/release-notes/version-4.5.20.html
  * see http://modwsgi.readthedocs.io/en/develop/release-notes/version-4.5.21.html
  * see http://modwsgi.readthedocs.io/en/develop/release-notes/version-4.5.22.html
  * see http://modwsgi.readthedocs.io/en/develop/release-notes/version-4.5.23.html
  * see http://modwsgi.readthedocs.io/en/develop/release-notes/version-4.5.24.html
  * see http://modwsgi.readthedocs.io/en/develop/release-notes/version-4.6.0.html
  * see http://modwsgi.readthedocs.io/en/develop/release-notes/version-4.6.1.html
  * see http://modwsgi.readthedocs.io/en/develop/release-notes/version-4.6.2.html
  * see http://modwsgi.readthedocs.io/en/develop/release-notes/version-4.6.3.html
  * see http://modwsgi.readthedocs.io/en/develop/release-notes/version-4.6.4.html</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1553342400">- update to 4.6.5:
  * When running mod_wsgi-express and serving up static files
  from the document root, and the WSGI application was mounted
  at a sub URL using --mount-point, the static files in the
  document root outside of the mount point for the WSGI
  application would no longer be accessible.
  * If no system mime types file can be found, fall
  back to /dev/null so that Apache can still at least
  start up.
  * Now possible to use mod_wsgi-express in an a zipapp
  created using shiv. This entailed a special workaround
  to detect when shiv was used, so that the unpacked
  site-packages directory could be added to the Python
  module search path for mod_wsgi-express.</changelog>
  <changelog author="pgajdos@suse.com" date="1575374400">- test with %apache_rex_check</changelog>
  <changelog author="pgajdos@suse.com" date="1575460800">- version update to 4.6.8
  * If no system mime types file can be found, fall back to ``/dev/null``
    so that Apache can still at least start up.
  * Fix compilation failures when using Python 3.8.
  * The Apache request ID is accessible in request events as ``request_id``.
  * The per request data dictionary accessible using ``mod_wsgi.request_data()``
    is now also accessible in events as ``request_data``.
  * When the queue timeout was triggered for requests sent to daemon mode
    processes, the error response wasn't being flushed out correctly resulting
    in the connection still being held up to the time of the socket timeout.</changelog>
  <changelog author="Petr Gajdos &lt;pgajdos@suse.com&gt;" date="1581336000">- add %apache_rex_deps</changelog>
  <changelog author="Neal Gompa &lt;ngompa13@gmail.com&gt;" date="1586433600">- Add Python-native build so Python metadata and wrapper is present
  (bsc#1189467).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1588766400">- Update to version 4.7.1:
  + Use Python 3 style print.
  + Mostly changes around distribtion from PyPi, where mod_wsgi is
    completented by a mod_wsgi-standalone with an own apache
    instance.
- Drop the python2 based package (py2 is EOL): Move the content of
  the former apache2-mod_wsgi-python3 package into apache-mod_wsgi.
  Provide/Obsolete the old -python3 package for ease of upgrade.</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use /usr/sbin/apxs for build, not -prefork</changelog>
  <changelog author="Matej Cepl &lt;mcepl@suse.com&gt;" date="1633089600">- Add missing bug reference to allow inclusion in SLE-15:SP4.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1655899200">- New version 4.9.2
  * see https://modwsgi.readthedocs.io/en/latest/release-notes/version-4.9.2.html
  * dropped wsgi_fixVersionCheck.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1669204800">- Update to version 4.9.4:
  + Apache 2.4.54 changed the default value for LimitRequestBody
    from 0, which indicates there is no limit, to 1Gi. If the
    Apache configuration supplied with a distribution wasn’t
    explicitly setting LimitRequestBody to 0 at global server scope
    for the purposes of documenting the default, and it was
    actually relying on the compiled in default, then when using
    mod_wsgi daemon mode, if a request body size greater than 1Gi
    was encountered the mod_wsgi daemon mode process would crash.
  + Fix ability to build mod_wsgi against Apache 2.2. Do note that
    in general only recent versions of Apache 2.4 are supported
- Changes from version 4.9.3 (CVE-2022-2255, boo#1201634):
  * See https://modwsgi.readthedocs.io/en/latest/release-notes/version-4.9.3.html</changelog>
  <changelog author="Marina Latini &lt;marina.latini@suse.com&gt;" date="1697716800">- Use %posttrans instead of %post while adding the wsgi keyword.
  (bsc#1216411)
  * In systems where the former apache2-mod_wsgi-python3 is
    installed, the removal of the obsoleted apache2-mod_wsgi-python3
    and the installation of the new apache2-mod_wsgi did not
    preserve the keyword wsgi in the APACHE_MODULES variable.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1697803200">- Do not generate empty postun/posttrans scriptlets in case of
  non-openSUSE: guard the entire script by the condition, not only
  the entire content of the script.</changelog>
  <changelog author="pgajdos@suse.com" date="1711368000">- version update to 5.0.0
  * Note that the major version 5.0 was introduced not because of any new major
    features but because from version 5.0 onwards compatability with Python 2.7 is
    no longer guaranteed. A minimum Python version of 3.8 will be enforced by the
    Python package installation configuration.*
  Features Changed
  - ---------------
  * The `setuptools` package is now required to be installed in order to use the
    `pip install` method to install mod_wsgi. This is because `distutils` has been
    removed in Python 3.12.
  Bugs Fixed
  - ---------
  * Fix ability to build mod_wsgi against Apache 2.2. Do note that in general only
    recent versions of Apache 2.4 are supported</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="6cdd17217d85f9fac0260053e522202e1383e772b3959b24975249a741aba023589b00888f8b64b170499d4f4a28c8fb5bbf8903b8768aea501d90ed25ba561a" name="apache2-mod_wsgi" arch="x86_64">
  <version epoch="0" ver="5.0.0" rel="2.1"/>
  <changelog author="Neal Gompa &lt;ngompa13@gmail.com&gt;" date="1586433600">- Add Python-native build so Python metadata and wrapper is present
  (bsc#1189467).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1588766400">- Update to version 4.7.1:
  + Use Python 3 style print.
  + Mostly changes around distribtion from PyPi, where mod_wsgi is
    completented by a mod_wsgi-standalone with an own apache
    instance.
- Drop the python2 based package (py2 is EOL): Move the content of
  the former apache2-mod_wsgi-python3 package into apache-mod_wsgi.
  Provide/Obsolete the old -python3 package for ease of upgrade.</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use /usr/sbin/apxs for build, not -prefork</changelog>
  <changelog author="Matej Cepl &lt;mcepl@suse.com&gt;" date="1633089600">- Add missing bug reference to allow inclusion in SLE-15:SP4.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1655899200">- New version 4.9.2
  * see https://modwsgi.readthedocs.io/en/latest/release-notes/version-4.9.2.html
  * dropped wsgi_fixVersionCheck.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1669204800">- Update to version 4.9.4:
  + Apache 2.4.54 changed the default value for LimitRequestBody
    from 0, which indicates there is no limit, to 1Gi. If the
    Apache configuration supplied with a distribution wasn’t
    explicitly setting LimitRequestBody to 0 at global server scope
    for the purposes of documenting the default, and it was
    actually relying on the compiled in default, then when using
    mod_wsgi daemon mode, if a request body size greater than 1Gi
    was encountered the mod_wsgi daemon mode process would crash.
  + Fix ability to build mod_wsgi against Apache 2.2. Do note that
    in general only recent versions of Apache 2.4 are supported
- Changes from version 4.9.3 (CVE-2022-2255, boo#1201634):
  * See https://modwsgi.readthedocs.io/en/latest/release-notes/version-4.9.3.html</changelog>
  <changelog author="Marina Latini &lt;marina.latini@suse.com&gt;" date="1697716800">- Use %posttrans instead of %post while adding the wsgi keyword.
  (bsc#1216411)
  * In systems where the former apache2-mod_wsgi-python3 is
    installed, the removal of the obsoleted apache2-mod_wsgi-python3
    and the installation of the new apache2-mod_wsgi did not
    preserve the keyword wsgi in the APACHE_MODULES variable.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1697803200">- Do not generate empty postun/posttrans scriptlets in case of
  non-openSUSE: guard the entire script by the condition, not only
  the entire content of the script.</changelog>
  <changelog author="pgajdos@suse.com" date="1711368000">- version update to 5.0.0
  * Note that the major version 5.0 was introduced not because of any new major
    features but because from version 5.0 onwards compatability with Python 2.7 is
    no longer guaranteed. A minimum Python version of 3.8 will be enforced by the
    Python package installation configuration.*
  Features Changed
  - ---------------
  * The `setuptools` package is now required to be installed in order to use the
    `pip install` method to install mod_wsgi. This is because `distutils` has been
    removed in Python 3.12.
  Bugs Fixed
  - ---------
  * Fix ability to build mod_wsgi against Apache 2.2. Do note that in general only
    recent versions of Apache 2.4 are supported</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="f50866edfbecc1f94d832144af1cc2eb65aca5410968b18e3029710bb9a7e97c70c85477c202600729a2444dbe27d21a6f0747f604823a0a96dc23cdddf474b3" name="apache2-mod_wsgi-debuginfo" arch="x86_64">
  <version epoch="0" ver="5.0.0" rel="2.1"/>
  <changelog author="Neal Gompa &lt;ngompa13@gmail.com&gt;" date="1586433600">- Add Python-native build so Python metadata and wrapper is present
  (bsc#1189467).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1588766400">- Update to version 4.7.1:
  + Use Python 3 style print.
  + Mostly changes around distribtion from PyPi, where mod_wsgi is
    completented by a mod_wsgi-standalone with an own apache
    instance.
- Drop the python2 based package (py2 is EOL): Move the content of
  the former apache2-mod_wsgi-python3 package into apache-mod_wsgi.
  Provide/Obsolete the old -python3 package for ease of upgrade.</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use /usr/sbin/apxs for build, not -prefork</changelog>
  <changelog author="Matej Cepl &lt;mcepl@suse.com&gt;" date="1633089600">- Add missing bug reference to allow inclusion in SLE-15:SP4.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1655899200">- New version 4.9.2
  * see https://modwsgi.readthedocs.io/en/latest/release-notes/version-4.9.2.html
  * dropped wsgi_fixVersionCheck.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1669204800">- Update to version 4.9.4:
  + Apache 2.4.54 changed the default value for LimitRequestBody
    from 0, which indicates there is no limit, to 1Gi. If the
    Apache configuration supplied with a distribution wasn’t
    explicitly setting LimitRequestBody to 0 at global server scope
    for the purposes of documenting the default, and it was
    actually relying on the compiled in default, then when using
    mod_wsgi daemon mode, if a request body size greater than 1Gi
    was encountered the mod_wsgi daemon mode process would crash.
  + Fix ability to build mod_wsgi against Apache 2.2. Do note that
    in general only recent versions of Apache 2.4 are supported
- Changes from version 4.9.3 (CVE-2022-2255, boo#1201634):
  * See https://modwsgi.readthedocs.io/en/latest/release-notes/version-4.9.3.html</changelog>
  <changelog author="Marina Latini &lt;marina.latini@suse.com&gt;" date="1697716800">- Use %posttrans instead of %post while adding the wsgi keyword.
  (bsc#1216411)
  * In systems where the former apache2-mod_wsgi-python3 is
    installed, the removal of the obsoleted apache2-mod_wsgi-python3
    and the installation of the new apache2-mod_wsgi did not
    preserve the keyword wsgi in the APACHE_MODULES variable.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1697803200">- Do not generate empty postun/posttrans scriptlets in case of
  non-openSUSE: guard the entire script by the condition, not only
  the entire content of the script.</changelog>
  <changelog author="pgajdos@suse.com" date="1711368000">- version update to 5.0.0
  * Note that the major version 5.0 was introduced not because of any new major
    features but because from version 5.0 onwards compatability with Python 2.7 is
    no longer guaranteed. A minimum Python version of 3.8 will be enforced by the
    Python package installation configuration.*
  Features Changed
  - ---------------
  * The `setuptools` package is now required to be installed in order to use the
    `pip install` method to install mod_wsgi. This is because `distutils` has been
    removed in Python 3.12.
  Bugs Fixed
  - ---------
  * Fix ability to build mod_wsgi against Apache 2.2. Do note that in general only
    recent versions of Apache 2.4 are supported</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="4cfa3be2de496cc86856dc1efa2ed4a5a1cfdd5aa8e2b304f2c41385854a545ab0c6f2e6912fbab132291ef3fe72e30469163f5b268ac2fb7ea44fef6b37bb1f" name="apache2-mod_wsgi-debugsource" arch="x86_64">
  <version epoch="0" ver="5.0.0" rel="2.1"/>
  <changelog author="Neal Gompa &lt;ngompa13@gmail.com&gt;" date="1586433600">- Add Python-native build so Python metadata and wrapper is present
  (bsc#1189467).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1588766400">- Update to version 4.7.1:
  + Use Python 3 style print.
  + Mostly changes around distribtion from PyPi, where mod_wsgi is
    completented by a mod_wsgi-standalone with an own apache
    instance.
- Drop the python2 based package (py2 is EOL): Move the content of
  the former apache2-mod_wsgi-python3 package into apache-mod_wsgi.
  Provide/Obsolete the old -python3 package for ease of upgrade.</changelog>
  <changelog author="pgajdos@suse.com" date="1606305600">- use /usr/sbin/apxs for build, not -prefork</changelog>
  <changelog author="Matej Cepl &lt;mcepl@suse.com&gt;" date="1633089600">- Add missing bug reference to allow inclusion in SLE-15:SP4.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1655899200">- New version 4.9.2
  * see https://modwsgi.readthedocs.io/en/latest/release-notes/version-4.9.2.html
  * dropped wsgi_fixVersionCheck.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1669204800">- Update to version 4.9.4:
  + Apache 2.4.54 changed the default value for LimitRequestBody
    from 0, which indicates there is no limit, to 1Gi. If the
    Apache configuration supplied with a distribution wasn’t
    explicitly setting LimitRequestBody to 0 at global server scope
    for the purposes of documenting the default, and it was
    actually relying on the compiled in default, then when using
    mod_wsgi daemon mode, if a request body size greater than 1Gi
    was encountered the mod_wsgi daemon mode process would crash.
  + Fix ability to build mod_wsgi against Apache 2.2. Do note that
    in general only recent versions of Apache 2.4 are supported
- Changes from version 4.9.3 (CVE-2022-2255, boo#1201634):
  * See https://modwsgi.readthedocs.io/en/latest/release-notes/version-4.9.3.html</changelog>
  <changelog author="Marina Latini &lt;marina.latini@suse.com&gt;" date="1697716800">- Use %posttrans instead of %post while adding the wsgi keyword.
  (bsc#1216411)
  * In systems where the former apache2-mod_wsgi-python3 is
    installed, the removal of the obsoleted apache2-mod_wsgi-python3
    and the installation of the new apache2-mod_wsgi did not
    preserve the keyword wsgi in the APACHE_MODULES variable.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1697803200">- Do not generate empty postun/posttrans scriptlets in case of
  non-openSUSE: guard the entire script by the condition, not only
  the entire content of the script.</changelog>
  <changelog author="pgajdos@suse.com" date="1711368000">- version update to 5.0.0
  * Note that the major version 5.0 was introduced not because of any new major
    features but because from version 5.0 onwards compatability with Python 2.7 is
    no longer guaranteed. A minimum Python version of 3.8 will be enforced by the
    Python package installation configuration.*
  Features Changed
  - ---------------
  * The `setuptools` package is now required to be installed in order to use the
    `pip install` method to install mod_wsgi. This is because `distutils` has been
    removed in Python 3.12.
  Bugs Fixed
  - ---------
  * Fix ability to build mod_wsgi against Apache 2.2. Do note that in general only
    recent versions of Apache 2.4 are supported</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">- drop unmaintained apache-rex usage</changelog>
</package>
<package pkgid="e0ddba96445cf563494a21adb541ba227a1a81ead23a5ec9ef6a6a05aa283149bbb7cc0fa611fabd59f643a985b88b3291f638e57735bca5e283a8c48cb09525" name="apache2-prefork" arch="i586">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="9c7977abf7647293821f56742ca266ea47f2c3afaf1f4551235ef21a3f23088b3273a66fdea4acd456222a8aedbc945e0aa44627264116b1a8f110fa9e520118" name="apache2-prefork" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="ce101d35af122c975f01d51cd9a6e8191a77e59fb1c6422fb5398ba282bf5f87a2f7c156ec7ff3ce0355fc5a303f1e871c508a660bd2dd67240901252bc77c5b" name="apache2-prefork" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="ca2ab8908be1ca22f03be8eb488ef979576d5590ecb643ab8d330cc054052564aad15a2a8525a2062f46d0df34bb443927424cc0f79f3c4617bf7302fdfba968" name="apache2-prefork-debuginfo" arch="i586">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="16f40ca0baf703e319e464126df1a492df471a9497f5298ea180a2e71a2bd5e209084cafb62ae88e0717ad7ee4a900ba4eb4cb20499d20fd849c826198563339" name="apache2-prefork-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="e84d1d4701666b2e6f0b11f80152311660e05223d54c15f746ca6d1bbd438d103bb79f5df6f34427c6af976f73661c795eea336896faf03d9339b0fc04a9fa69" name="apache2-prefork-debugsource" arch="i586">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="aa8f5b3b57f0f259f6876e69558929358fb474cd42e2349aaf8e487b012a3b7e1d16b00b20411613668097fd734823386db3892781f178f034bb73fc584f6c3f" name="apache2-prefork-debugsource" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="a97565a1a91e4c7fb28bd75a14b4b86e7563114c09802bcad3ae82be6e1a22b2cf533397e4e64ce5630e33c8846a215d4260ba98f5964c7d210c77fe7ea6ea49" name="apache2-test_devel" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="60db4078eb4d4918d7eea60152f9a06e8740372b9aa58cb03a33355880ee1c4704998cab7085e656783e98e38867243c5be21e2501d8238b2879ce5d8eb5fc57" name="apache2-test_event" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="2f813d28ebfd33ccb7dcf3172f4dadf1873d2b3c46b0d88ff2a4e711d755834a35f44bf0588d9ab8eaa09784e6d13e939ed7e0131c386794607de55c86a9226b" name="apache2-test_main" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="96ddb9568c4b462adb4e96bae6b265ab05a01404c4c9fb8282cdf342544d4d834d32920b27a8168550ab37dcca6321c1c9347ac438e4c18a475260aab1dd25c1" name="apache2-test_prefork" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="384da0f9da84d3a18a57086e590fb624d914d46719e4a028ba64dcce2b1f50ac1af66d1610b613268c20d18f4f5caeac3f467c257d0699e28f53b9f5b5eb9107" name="apache2-test_worker" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="1c92666f865e59e285ec73886a96419cd5d430725b295f1a5cc43693e0cdb63dae1691e8541a158d654ebc2ff2228c44e40563e74f98791f6a0df266f0f22352" name="apache2-utils" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="15289e78a14d24311f4d46d9600930666675faa0d314e0753d7d6f789f4406a7437eef1d9e20b850e8e4093ab5fc65262ee922b69ae27e8ca229047f224ad497" name="apache2-utils" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="207d15d232b1d6f28d875dd1e1f05a56b28a5ee5088ad0c4877017763059363fef7e88c72582a6fbe46a9c17c46522862f767f9db199040c8e76188ae138cb52" name="apache2-utils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="0827dc0a9d87a19adff89bcc2db0c8c975ab61f4e17d9c8663a4d2071caad059d6d285db0ea90a0a30f011196e280d2faf36f974c4cf98e096d4f906d9e202d5" name="apache2-utils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="f08d3fa284182293149a8cc3b8c0f123f4f1debc2e5ac9afede1ba61f505a47578a9ba3d29857395375f9e3aaf2e75ba0e00298a143b34ad45cbee3397ede62f" name="apache2-worker" arch="src">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="94fe9be819080b51f4717030dabc55cbd77fff6b490d41f267333d6b63cf245686141d1af0f75a9eee6bc5464eb213efa4e0655c449671e5e2651fdc8d3ee96b" name="apache2-worker" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="04ed7919b4fbc13a769e8aa363623a64e99759478922e895260b04486d99f78a0e2924464706b5f81ee14c5fdab50af9930e692a3a9d90839b7a29566b256fd8" name="apache2-worker-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="41660b80ef7a28d6f2e91372e41bee6505dff2fcab9f17f3e44bdaa90c3c5eaf9492c4655afba7a040bb012e1a301d061dfa420e320aad9a38716503b79fcf0d" name="apache2-worker-debugsource" arch="x86_64">
  <version epoch="0" ver="2.4.59" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1641902400">- Align some defaults in apache2-server-tuning.conf to upstream
  defaults:
  * Updated MaxRequestWorkers and ServerLimit to 256. [bsc#1194062]
- The old name MaxRequestsPerChild is changed to MaxConnectionsPerChild.
  * See https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild</changelog>
  <changelog author="pgajdos@suse.com" date="1643284800">- ssl-global.conf: set SSLCipherSuite to PROFILE=SYSTEM instead of
  DEFAULT_SUSE [jsc#SLE-22561]
- set also SSLProxyCipherSuite to PROFILE=SYSTEM
- modified sources
  % apache2-ssl-global.conf</changelog>
  <changelog author="pgajdos@suse.com" date="1647259200">- version update to 2.4.53
  * ) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds
    (cve.mitre.org)
    Out-of-bounds Write vulnerability in mod_sed of Apache HTTP
    Server allows an attacker to overwrite heap memory with possibly
    attacker provided data.
    This issue affects Apache HTTP Server 2.4 version 2.4.52 and
    prior versions.
    Credits: Ronald Crane (Zippenhop LLC)
  * ) SECURITY: CVE-2022-22721: core: Possible buffer overflow with
    very large or unlimited LimitXMLRequestBody (cve.mitre.org)
    If LimitXMLRequestBody is set to allow request bodies larger
    than 350MB (defaults to 1M) on 32 bit systems an integer
    overflow happens which later causes out of bounds writes.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Anonymous working with Trend Micro Zero Day Initiative
  * ) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability
    in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org)
    Apache HTTP Server 2.4.52 and earlier fails to close inbound
    connection when errors are encountered discarding the request
    body, exposing the server to HTTP Request Smuggling
    Credits: James Kettle &lt;james.kettle portswigger.net&gt;
  * ) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of
    in r:parsebody (cve.mitre.org)
    A carefully crafted request body can cause a read to a random
    memory area which could cause the process to crash.
    This issue affects Apache HTTP Server 2.4.52 and earlier.
    Credits: Chamal De Silva
  * ) core: Make sure and check that LimitXMLRequestBody fits in system memory.
    [Ruediger Pluem, Yann Ylavic]
  * ) core: Simpler connection close logic if discarding the request body fails.
    [Yann Ylavic, Ruediger Pluem]
  * ) mod_http2: preserve the port number given in a HTTP/1.1
    request that was Upgraded to HTTP/2. Fixes PR65881.
    [Stefan Eissing]
  * ) mod_proxy: Allow for larger worker name.  PR 53218.  [Yann Ylavic]
  * ) dbm: Split the loading of a dbm driver from the opening of a dbm file. When
    an attempt to load a dbm driver fails, log clearly which driver triggered
    the error (not "default"), and what the error was. [Graham Leggett]
  * ) mod_proxy: Use the maxium of front end and backend timeouts instead of the
    minimum when tunneling requests (websockets, CONNECT requests).
    Backend timeouts can be configured more selectively (per worker if needed)
    as front end timeouts and typically the backend timeouts reflect the
    application requirements better.  PR 65886 [Ruediger Pluem]
  * ) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers
    when an efficient TLS implementation is available. [Yann Ylavic]
  * ) core, mod_info: Add compiled and loaded PCRE versions to version
    number display.  [Rainer Jung]
  * ) mod_md: do not interfere with requests to /.well-known/acme-challenge/
    resources if challenge type 'http-01' is not configured for a domain.
    Fixes &lt;https://github.com/icing/mod_md/issues/279&gt;.
    [Stefan Eissing]
  * ) mod_dav: Fix regression when gathering properties which could lead to huge
    memory consumption proportional to the number of resources.
    [Evgeny Kotkov, Ruediger Pluem]
  * ) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x)
    for regular expression evaluation. This depends on locating pcre2-config.
    [William Rowe, Petr Pisar &lt;ppisar redhat.com&gt;, Rainer Jung]
  * ) Add the ldap function to the expression API, allowing LDAP filters and
    distinguished names based on expressions to be escaped correctly to
    guard against LDAP injection. [Graham Leggett]
  * ) mod_md: the status description in MDomain's JSON, exposed in the
    md-status handler (if configured) did sometimes not carry the correct
    message when certificates needed renew.
    [Stefan Eissing]
  * ) mpm_event: Fix a possible listener deadlock on heavy load when restarting
    and/or reaching MaxConnectionsPerChild.  PR 65769.  [Yann Ylavic]</changelog>
  <changelog author="pgajdos@suse.com" date="1647259201">- httpd-framework updated to svn1898917
- deleted patches
  - apache-test-DirectorySlash-NotFound-logic.patch (upstreamed)
  - apache2-perl-io-socket.patch (upstreamed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689600">- version update to 2.4.54
  Changes with Apache 2.4.54
  * ) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by
    hop-by-hop mechanism (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may not send the
    X-Forwarded-* headers to the origin server based on client side
    Connection header hop-by-hop mechanism.
    This may be used to bypass IP based authentication on the origin
    server/application.
    Credits: The Apache HTTP Server project would like to thank
    Gaetan Ferry (Synacktiv) for reporting this issue
  * ) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with
    websockets (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may return lengths to
    applications calling r:wsread() that point past the end of the
    storage allocated for the buffer.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-30522: mod_sed denial of service
    (cve.mitre.org)
    If Apache HTTP Server 2.4.53 is configured to do transformations
    with mod_sed in contexts where the input to mod_sed may be very
    large, mod_sed may make excessively large memory allocations and
    trigger an abort.
    Credits: This issue was found by Brian Moussalli from the JFrog
    Security Research team
  * ) SECURITY: CVE-2022-29404: Denial of service in mod_lua
    r:parsebody (cve.mitre.org)
    In Apache HTTP Server 2.4.53 and earlier, a malicious request to
    a lua script that calls r:parsebody(0) may cause a denial of
    service due to no default limit on possible input size.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28615: Read beyond bounds in
    ap_strcmp_match() (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier may crash or disclose
    information due to a read beyond bounds in ap_strcmp_match()
    when provided with an extremely large input buffer.  While no
    code distributed with the server can be coerced into such a
    call, third-party modules or lua scripts that use
    ap_strcmp_match() may hypothetically be affected.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite()
    (cve.mitre.org)
    The ap_rwrite() function in Apache HTTP Server 2.4.53 and
    earlier may read unintended memory if an attacker can cause the
    server to reflect very large input using ap_rwrite() or
    ap_rputs(), such as with mod_luas r:puts() function.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi
    (cve.mitre.org)
    Apache HTTP Server 2.4.53 and earlier on Windows may read beyond
    bounds when configured to process requests with the mod_isapi
    module.
    Credits: The Apache HTTP Server project would like to thank
    Ronald Crane (Zippenhop LLC) for reporting this issue
  * ) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request
    smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.53 and prior versions.
    Credits: Ricter Z @ 360 Noah Lab
  * ) mod_ssl: SSLFIPS compatible with OpenSSL 3.0.  PR 66063.
    [Petr Sumbera &lt;petr.sumbera oracle.com&gt;, Yann Ylavic]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) mod_md:  a bug was fixed that caused very large MDomains
    with the combined DNS names exceeding ~7k to fail, as
    request bodies would contain partially wrong data from
    uninitialized memory. This would have appeared as failure
    in signing-up/renewing such configurations.
    [Stefan Eissing, Ronald Crane (Zippenhop LLC)]
  * ) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
    PR 65666.  [Yann Ylavic]
  * ) MPM event: Restart children processes killed before idle maintenance.
    PR 65769.  [Yann Ylavic, Ruediger Pluem]
  * ) ab: Allow for TLSv1.3 when the SSL library supports it.
    [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic]
  * ) core: Disable TCP_NOPUSH optimization on OSX since it might introduce
    transmission delays.  PR 66019.  [Yann Ylavic]
  * ) MPM event: Fix accounting of active/total processes on ungraceful restart,
    PR 66004 (follow up to PR 65626 from 2.4.52).  [Yann Ylavic]
  * ) core: make ap_escape_quotes() work correctly on strings
    with more than MAX_INT/2 characters, counting quotes double.
    Credit to &lt;generalbugs@zippenhop.com&gt; for finding this.
    [Stefan Eissing]
  * ) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of
    an ACME CA. This gives a failover for renewals when several consecutive attempts
    to get a certificate failed.
    A new directive was added: `MDRetryDelay` sets the delay of retries.
    A new directive was added: `MDRetryFailover` sets the number of errored
    attempts before an alternate CA is selected for certificate renewals.
    [Stefan Eissing]
  * ) mod_http2: remove unused and insecure code. Fixes PR66037.
    Thanks to Ronald Crane (Zippenhop LLC) for reporting this.
    [Stefan Eissing]
  * ) mod_proxy: Add backend port to log messages to
    ease identification of involved service.  [Rainer Jung]
  * ) mod_http2: removing unscheduling of ongoing tasks when
    connection shows potential abuse by a client. This proved
    counter-productive and the abuse detection can false flag
    requests using server-side-events.
    Fixes &lt;https://github.com/icing/mod_h2/issues/231&gt;.
    [Stefan Eissing]
  * ) mod_md: Implement full auto status ("key: value" type status output).
    Especially not only status summary counts for certificates and
    OCSP stapling but also lists. Auto status format is similar to
    what was used for mod_proxy_balancer.
    [Rainer Jung]
  * ) mod_md: fixed a bug leading to failed transfers for OCSP
    stapling information when more than 6 certificates needed
    updates in the same run.  [Stefan Eissing]
  * ) mod_proxy: Set a status code of 502 in case the backend just closed the
    connection in reply to our forwarded request.  [Ruediger Pluem]
  * ) mod_md: a possible NULL pointer deref was fixed in
    the JSON code for persisting time periods (start+end).
    Fixes #282 on mod_md's github.
    Thanks to @marcstern for finding this.  [Stefan Eissing]
  * ) mod_heartmonitor: Set the documented default value
    "10" for HeartbeatMaxServers instead of "0". With "0"
    no shared memory slotmem was initialized.  [Rainer Jung]
  * ) mod_md: added support for managing certificates via a
    local tailscale daemon for users of that secure networking.
    This gives trusted certificates for tailscale assigned
    domain names in the *.ts.net space.
    [Stefan Eissing]
- modified patches
  % apache-test-application-xml-type.patch (refreshed)
  % apache-test-turn-off-variables-in-ssl-var-lookup.patch (refreshed)
  % apache2-HttpContentLengthHeadZero-HttpExpectStrict.patch (refreshed)</changelog>
  <changelog author="pgajdos@suse.com" date="1654689601">- update httpd-framework to svn revision 1898917</changelog>
  <changelog author="Stefan Schubert &lt;schubi@intern&gt;" date="1656417600">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1662033600">- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1663675200">- Remove references to README.QUICKSTART and point them to
  https://en.opensuse.org/SDB:Apache_installation (bsc#1203573)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1663934400">- The 2.4.54 release brought support for PCRE2, but for that we also
  need to change buildrequires to pcre2-devel</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670846400">- switch to pkgconfig(zlib) so that alternative providers can be
  used</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1674043200">- This update fixes the following security issues:
  * CVE-2022-37436 [bsc#1207251], mod_proxy backend HTTP response splitting
  * CVE-2022-36760 [bsc#1207250], mod_proxy_ajp Possible request smuggling
  * CVE-2006-20001 [bsc#1207247], mod_dav out of bounds read, or write of zero byte
- Update to 2.4.55:
  * ) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to
    2.4.55 allows a backend to trigger HTTP response splitting
    (cve.mitre.org)
    Prior to Apache HTTP Server 2.4.55, a malicious backend can
    cause the response headers to be truncated early, resulting in
    some headers being incorporated into the response body. If the
    later headers have any security purpose, they will not be
    interpreted by the client.
    Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer)
  * ) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp
    Possible request smuggling (cve.mitre.org)
    Inconsistent Interpretation of HTTP Requests ('HTTP Request
    Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server
    allows an attacker to smuggle requests to the AJP server it
    forwards requests to.  This issue affects Apache HTTP Server
    Apache HTTP Server 2.4 version 2.4.54 and prior versions.
    Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec
    at Qi'anxin Group
  * ) SECURITY: CVE-2006-20001: mod_dav out of  bounds read, or write
    of zero byte (cve.mitre.org)
    A carefully crafted If: request header can cause a memory read,
    or write of a single zero byte, in a pool (heap) memory location
    beyond the header value sent. This could cause the process to
    crash.
    This issue affects Apache HTTP Server 2.4.54 and earlier.
  * ) mod_dav: Open the lock database read-only when possible.
    PR 36636 [Wilson Felipe &lt;wfelipe gmail.com&gt;, manu]
  * ) mod_proxy_http2: apply the standard httpd content type handling
    to responses from the backend, as other proxy modules do. Fixes PR 66391.
    Thanks to Jérôme Billiras for providing the patch.
    [Stefan Eissing]
  * ) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
    [Basant Kumar Kukreja &lt;basant.kukreja sun.com&gt;, Alejandro Alvarez
    &lt;alejandro.alvarez.ayllon cern.ch&gt;]
  * ) mod_proxy_hcheck: Honor worker timeout settings.  [Yann Ylavic]
  * ) mod_http2: version 2.0.10 of the module, synchronizing changes
    with the gitgub version. This is a partial rewrite of how connections
    and streams are handled.
  - an APR pollset and pipes (where supported) are used to monitor
    the main connection and react to IO for request/response handling.
    This replaces the stuttered timed waits of earlier versions.
  - H2SerializeHeaders directive still exists, but has no longer an effect.
  - Clients that seemingly misbehave still get less resources allocated,
    but ongoing requests are no longer disrupted.
  - Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]
  - A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  - Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    &lt;https://bz.apache.org/bugzilla/show_bug.cgi?id=65731&gt;.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.
  - :scheme pseudo-header values, not matching the
    connection scheme, are forwarded via absolute uris to the
    http protocol processing to preserve semantics of the request.
    Checks on combinations of pseudo-headers values/absence
    have been added as described in RFC 7540. Fixes #230.
  - A bug that prevented trailers (e.g. HEADER frame at the end) to be
    generated in certain cases was fixed. See #233 where it prevented
    gRPC responses to be properly generated.
  - Request and response header values are automatically stripped of leading
    and trialing space/tab characters. This is equivalent behaviour to what
    Apache httpd's http/1.1 parser does.
    The checks for this in nghttp2 v1.50.0+ are disabled.
  - Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  * ) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when
    request ':authority' is known. Improved test case that did not catch that
    the previous 'fix' was incorrect.
  * ) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests
    using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski]
  * ) mod_proxy: The AH03408 warning for a forcibly closed backend
    connection is now logged at INFO level.  [Yann Ylavic]
  * ) mod_ssl: When dumping the configuration, the existence of
    certificate/key files is no longer tested.  [Joe Orton]
  * ) mod_authn_core: Add expression support to AuthName and AuthType.
    [Graham Leggett]
  * ) mod_ssl: when a proxy connection had handled a request using SSL, an
    error was logged when "SSLProxyEngine" was only configured in the
    location/proxy section and not the overall server. The connection
    continued to work, the error log was in error. Fixed PR66190.
    [Stefan Eissing]
  * ) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
    [Alessandro Cavaliere &lt;alessandro.cavalier7 unibo.it&gt;]
  * ) mod_http2: Export mod_http2.h as public header. [Stefan Eissing]
  * ) mod_md: a new directive `MDStoreLocks` can be used on cluster
    setups with a shared file system for `MDStoreDir` to order
    activation of renewed certificates when several cluster nodes are
    restarted at the same time. Store locks are not enabled by default.
    Restored curl_easy cleanup behaviour from v2.4.14 and refactored
    the use of curl_multi for OCSP requests to work with that.
    Fixes &lt;https://github.com/icing/mod_md/issues/293&gt;.
  * ) core: Avoid an overflow on large inputs in ap_is_matchexp.  PR 66033
    [Ruediger Pluem]
  * ) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based
    storage instead of slotmem. Needed after setting
    HeartbeatMaxServers default to the documented value 10 in 2.4.54.
    PR 66131.  [Jérôme Billiras]
  * ) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery
    This is a game changer for performances if client use PROPFIND a lot,
    PR 66313. [Emmanuel Dreyfus]</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1678276800">- This update fixes the following security issues:
  * CVE-2023-27522 [bsc#1209049]: mod_proxy_uwsgi HTTP response splitting
  * CVE-2023-25690 [bsc#1209047]: HTTP request splitting with mod_rewrite and mod_proxy
- Update to 2.4.56:
  * ) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be
    truncated without the initial logfile being truncated.  [Eric Covener]
  * ) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to
    allow connections of any age to be reused. Up to now, a negative value
    was handled as an error when parsing the configuration file.  PR 66421.
    [nailyk &lt;bzapache nailyk.fr&gt;, Christophe Jaillet]
  * ) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number
    of headers. [Ruediger Pluem]
  * ) mod_md:
  - Enabling ED25519 support and certificate transparency information when
    building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis.
  - MDChallengeDns01 can now be configured for individual domains.
    Thanks to Jérôme Billiras (@bilhackmac) for the initial PR.
  - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
    [Stefan Eissing]
  * ) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
    [Stefan Eissing]
  * ) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation.
    [Yann Ylavic]</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1680868800">- Update to 2.4.57:
  * ) mod_proxy: Check before forwarding that a nocanon path has not been
    rewritten with spaces during processing.  [Yann Ylavic]
  * ) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not
    double encode encoded slashes in the URL sent by the reverse proxy to the
    backend. [Ruediger Pluem]
  * ) mod_http2: fixed a crash during connection termination. See PR 66539.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a 2.4.56 regression for substitutions ending
    in a question mark. PR66547. [Eric Covener]
  * ) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded
    characters on redirections without the "NE" flag.
    [Yann Ylavic, Eric Covener]
  * ) mod_proxy: Fix double encoding of the uri-path of the request forwarded
    to the origin server, when using mapping=encoded|servlet.  [Yann Ylavic]
  * ) mod_mime: Do not match the extention against possible query string
    parameters in case ProxyPass was used with the nocanon option.
    [Ruediger Pluem]</changelog>
  <changelog author="Dirk Stoecker &lt;opensuse@dstoecker.de&gt;" date="1691236800">- Enable building of mod_md</changelog>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1697716800">- Update to 2.4.58:
  * ) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream
    memory not reclaimed right away on RST (cve.mitre.org)
    When a HTTP/2 stream was reset (RST frame) by a client, there
    was a time window were the request's memory resources were not
    reclaimed immediately. Instead, de-allocation was deferred to
    connection close. A client could send new requests and resets,
    keeping the connection busy and open and causing the memory
    footprint to keep on growing. On connection close, all resources
    were reclaimed, but the process might run out of memory before
    that.
    This was found by the reporter during testing of CVE-2023-44487
    (HTTP/2 Rapid Reset Exploit) with their own test client. During
    "normal" HTTP/2 use, the probability to hit this bug is very
    low. The kept memory would not become noticeable before the
    connection closes or times out.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Will Dormann of Vul Labs
  * ) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with
    initial windows size 0 (cve.mitre.org)
    An attacker, opening a HTTP/2 connection with an initial window
    size of 0, was able to block handling of that connection
    indefinitely in Apache HTTP Server. This could be used to
    exhaust worker resources in the server, similar to the well
    known "slow loris" attack pattern.
    This has been fixed in version 2.4.58, so that such connection
    are terminated properly after the configured connection timeout.
    This issue affects Apache HTTP Server: from 2.4.55 through
    2.4.57.
    Users are recommended to upgrade to version 2.4.58, which fixes
    the issue.
    Credits: Prof. Sven Dietrich (City University of New York)
  * ) SECURITY: CVE-2023-31122: mod_macro buffer over-read
    (cve.mitre.org)
    Out-of-bounds Read vulnerability in mod_macro of Apache HTTP
    Server.This issue affects Apache HTTP Server: through 2.4.57.
    Credits: David Shoon (github/davidshoon)
  * ) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
    SSL routines::unexpected eof while reading" when using
    OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
    available. [Rainer Jung]
  * ) mod_http2: improved early cleanup of streams.
    [Stefan Eissing]
  * ) mod_proxy_http2: improved error handling on connection errors while
    response is already underway.
    [Stefan Eissing]
  * ) mod_http2: fixed a bug that could lead to a crash in main connection
    output handling. This occured only when the last request on a HTTP/2
    connection had been processed and the session decided to shut down.
    This could lead to an attempt to send a final GOAWAY while the previous
    write was still in progress. See PR 66646.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
    Fixes PR66752.
    [Stefan Eissing]
  * ) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
    described in RFC 8441. A new directive 'H2WebSockets on|off' has been
    added. The feature is by default not enabled.
    As also discussed in the manual, this feature should work for setups
    using "ProxyPass backend-url upgrade=websocket" without further changes.
    Special server modules for WebSockets will have to be adapted,
    most likely, as the handling if IO events is different with HTTP/2.
    HTTP/2 WebSockets are supported on platforms with native pipes. This
    excludes Windows.
    [Stefan Eissing]
  * ) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
    in OCSP stapling. PR 66672. [Frank Meier &lt;frank.meier ergon.ch&gt;, covener]
  * ) mod_http2: fixed a bug in flushing pending data on an already closed
    connection that could lead to a busy loop, preventing the HTTP/2 session
    to close down successfully. Fixed PR 66624.
    [Stefan Eissing]
  * ) mod_http2: v2.0.15 with the following fixes and improvements
  - New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  - Fixed an issue where requests were not logged and accounted in a timely
    fashion when the connection returns to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  - Accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.
    [Stefan Eissing]
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
    [Stefan Eissing]
  * ) mod_rewrite: Add server directory to include path as mod_rewrite requires
    test_char.h. PR 66571 [Valeria Petrov &lt;valeria.petrov@spinetix.com&gt;]
  * ) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
    of HTTP/2 requests in a forward proxy configuration.
    General forward proxying is enabled via `ProxyRequests`. If the
    HTTP/2 protocol is also enabled for such a server/host, this new
    directive is needed in addition.
    [Stefan Eissing]
  * ) core: Updated conf/mime.types:
  - .js moved from 'application/javascript' to 'text/javascript'
  - .mjs was added as 'text/javascript'
  - add .opus ('audio/ogg')
  - add 'application/vnd.geogebra.slides'
  - add WebAssembly MIME types and extension
    [Mathias Bynens &lt;@mathiasbynens&gt; via PR 318,
    Richard de Boer &lt;richard tubul.net&gt;, Dave Hodder &lt;dmh dmh.org.uk&gt;,
    Zbynek Konecny &lt;zbynek1729 gmail.com&gt;]
  * ) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  * ) mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.
  * ) mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  * ) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.
    [Stefan Eissing]
  * ) mod_http2: avoid double chunked-encoding on internal redirects.
    PR 66597 [Yann Ylavic, Stefan Eissing]
  * ) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
    HTTP/2 requests twice. Fixes PR 66801.
    [Stefan Eissing]
  * ) mod_ssl: Fix handling of Certificate Revoked messages
    in OCSP stapling. PR 66626. [&lt;gmoniker gmail.com&gt;]
  * ) mod_http2: fixed a bug in handling of stream timeouts.
    [Stefan Eissing]
  * ) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
    Checking in configure for proper version installed. Code
    fixes for changed clienthello member name.
    [Stefan Eissing]
  * ) mod_md:
  - New directive `MDMatchNames all|servernames` to allow more control over how
    MDomains are matched to VirtualHosts.
  - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
    the command also with the challenge value on `teardown` invocation. In version
    1, the default, only the `setup` invocation gets this parameter.
    Refs #312. Thanks to @domrim for the idea.
  - For Managed Domain in "manual" mode, the checks if all used ServerName and
    ServerAlias are part of the MDomain now reports a warning instead of an error
    (AH10040) when not all names are present.
  - MDChallengeDns01 can now be configured for individual domains.
    Using PR from JÃ©rÃ´me Billiras (@bilhackmac) and adding test case and fixing proper working
  - Fixed a bug found by JÃ©rÃ´me Billiras (@bilhackmac) that caused the challenge
    teardown not being invoked as it should.
  * ) mod_ldap: Avoid performance overhead of APR-util rebind cache for
    OpenLDAP 2.2+.  PR 64414.  [Joe Orton]
  * ) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
    amount of response body bytes put into a single HTTP/2 DATA frame.
    Setting this to 0 places no limit (but the max size allowed by the
    protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB. This sets the maximum. When less response data is
    available, smaller frames will be sent.
  * ) mod_md: fixed passing of the server environment variables to programs
    started via MDMessageCmd and MDChallengeDns01 on *nix system.
    See &lt;https://github.com/icing/mod_md/issues/319&gt;.
    [Stefan Eissing]
  * ) mod_dav: Add DavBasePath directive to configure the repository root
    path.  PR 35077.  [Joe Orton]
  * ) mod_alias: Add AliasPreservePath directive to map the full
    path after the alias in a location. [Graham Leggett]
  * ) mod_alias: Add RedirectRelative to allow relative redirect targets to be
    issued as-is. [Eric Covener, Graham Leggett]
  * ) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
    sure that if the format is configured early enough it applies to every log
    line.  PR 62161.  [Yann Ylavic]
  * ) mod_deflate: Add DeflateAlterETag to control how the ETag
    is modified. The 'NoChange' parameter mimics 2.2.x behavior.
    PR 45023, PR 39727. [Eric Covener]
  * ) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]
  * ) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
    Resolve inconsistency between the previous two occurrences by
    counting workers in state SERVER_GRACEFUL no longer as busy,
    but instead in a new counter "GracefulWorkers" (or on HTML
    view as "workers gracefully restarting"). Also add the graceful
    counter as a new column to the existing HTML per process table
    for async MPMs. PR 63300. [Rainer Jung]</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706529600">- use grep -E for egrep</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="Arjen de Korte &lt;suse+build@de-korte.org&gt;" date="1712232000">- Update to 2.4.59:
  * ) mod_deflate: Fixes and better logging for handling various
    error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton,
    Eric Norris &lt;enorris etsy.com&gt;]
  * ) Add CGIScriptTimeout to mod_cgi. [Eric Covener]
  * ) mod_xml2enc: Tolerate libxml2 2.12.0 and later.  PR 68610
    [ttachi &lt;tachihara AT hotmail.com&gt;]
  * ) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable.
    [Jean-Frederic Clere]
  * ) mod_ssl: Use OpenSSL-standard functions to assemble CA
    name lists for SSLCACertificatePath/SSLCADNRequestPath.
    Names will now be consistently sorted. PR 61574.
    [Joe Orton]
  * ) mod_xml2enc: Update check to accept any text/ media type
    or any XML media type per RFC 7303, avoiding
    corruption of Microsoft OOXML formats.  PR 64339.
    [Joseph Heenan &lt;joseph.heenan fintechlabs.io&gt;, Joe Orton]
  * ) mod_http2: v2.0.26 with the following fixes:
  - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
    &lt;https://github.com/icing/mod_h2/issues/272&gt;.
  - Fixed small memory leak in h2 header bucket free. Thanks to
    Michael Kaufmann for finding this and providing the fix.
  * ) htcacheclean: In -a/-A mode, list all files per subdirectory
    rather than only one. PR 65091.
    [Artem Egorenkov &lt;aegorenkov.91 gmail.com&gt;]
  * ) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files
    which include CA certificates; those CA certs are treated as if
    configured with SSLProxyMachineCertificateChainFile.  [Joe Orton]
  * ) htpasswd, htdbm, dbmmanage: Update help&amp;docs to refer to
    "hashing", rather than "encrypting" passwords.
    [Michele Preziuso &lt;mpreziuso kaosdynamics.com&gt;]
  * ) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047.
    [Giovanni Bechis, Yann Ylavic]
  * ) htpasswd: Add support for passwords using SHA-2.  [Joe Orton,
    Yann Ylavic]
  * ) core: Allow mod_env to override system environment vars. [Joe Orton]
  * ) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
    operation which removes a directory/file between apr_dir_read() and
    apr_stat(). Current behaviour is to abort the connection which seems
    inferior to tolerating (and logging) the error. [Joe Orton]
  * ) mod_ldap: HTML-escape data in the ldap-status handler.
    [Eric Covener, Chamal De Silva]
  * ) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set.
    Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available,
    notably with OpenSSL &gt;= 3.  PR 68080.  [Yann Ylavic, Joe Orton]
  * ) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about
    deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting
    to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice).
    [Yann Ylavic]
  * ) mod_ssl: release memory to the OS when needed. [Giovanni Bechis]
  * ) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
    some dollar substitution (backreference) happens in the hostname or port
    part of the URL.  [Yann Ylavic]
  * ) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend
    systems are cached. [Yann Ylavic]
  * ) mod_proxy: Add optional third argument for ProxyRemote, which
    configures Basic authentication credentials to pass to the remote
    proxy.  PR 37355.  [Joe Orton]</changelog>
  <changelog author="pgajdos@suse.com" date="1718280000">- added patches [bsc#1226217]
  https://github.com/apache/httpd/pull/444/commits/c2fffd29b0f58bdc9caaaff4fec68e17a676f182
  + apache2-issue-444.patch</changelog>
</package>
<package pkgid="b44c056f3f5f5d3af442b7d892b689c5068081c4e1bbd21328646cd405430deb114412c54ff6e2fd7f351198bdcae943083bd7245f845b22f33cb9c90fe15906" name="apparmor" arch="src">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="ea75f608ebe28b47e8278c861becfbfa2d356b970a0b274a6d88e738af26f2173bd0a685bca4121c85fed7cc4571d5b8f83febaeda997a0c2f92302fb732b10e" name="apparmor" arch="src">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="0a043e8058f694dc5c35c073b9e2b8c476cf735bff5b62163b31fd35d96a5954f8c9f0010961706c5fbfed890c9f209cf0d32f5767ea73c34865f3d9bef87d8d" name="apparmor-abstractions" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="63138b517454e0922ae6785c9f61ffbeaf4449f7f8d9edd8fabdec92cdbd65954c6aeb204af30e36c9513bf93273b2a3c90af8f8853714bccfbdbd5bc962445b" name="apparmor-abstractions" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="c380f6e971cb2c3fb3238402067d34c870c31912a5d43ce19277a82d61d10c3e1af4c774f0762ef5dfaf6ac6e750f6ac3398cf52c77ef11b64c18b7955cc87fd" name="apparmor-debugsource" arch="i586">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="c4ca591d714149592dadf12a808b959d65210248957fb548db19b7423fd5bae24f5c31de0d2134e008c47e14917aba311699058fc0ca07da36922b7d0ca75a19" name="apparmor-debugsource" arch="x86_64">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="da95f73b9d40964acae55a5399b93cedf5ee6bc6525c298b5e5747202954edd82d1abc6b1482ad9c5e930b14a71e394aad43eb71a8b61eea54062bb2caabab3f" name="apparmor-debugsource" arch="i586">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="8023c42c2a8e56b7f7b015a41091c564caed1e687a04ca10061b402c29e4c0c134d82f3b0dcea949ae3044aa6d4f13d386baedc10d45c50860e6c7d3ed28394b" name="apparmor-debugsource" arch="x86_64">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="757bf83ecb2119bc131522f4a0767ec795b10680ccc57c4f07444730b3cbfd20dea088e81597a1a97b3fab1e7776ea8caeca1c4ef35b6eef6f2a82bee2692a75" name="apparmor-docs" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="ebc5bd15f4e327b80db735cb5769bc882ff476aa8abfef120af788c5bcf90b2a07ddb06f461d62bd93f52f6e1a62c8b9e99ca8aff49e8d72971fdb47d4b1eab7" name="apparmor-docs" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="0501dc7e5a49d331d543ba10db501aceac2f88ae165b1e9adaf7df0826dc7e8608d67e0766b636c6130123128ceea80cd131a270878ecc6ddabb4b54c5665715" name="apparmor-parser" arch="i586">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="afb9a66d5222a5f82212d3213455800f8cf49cddfcfd13086f9951e4e420d72b3fe5d9583cfea981a835752540f4e1999b861cf3f9c9f07bcb1f22c7440145bd" name="apparmor-parser" arch="x86_64">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="1ca27117904dbb0fd107736f50ce9c5c25536d7efc771159b4c9a26d5df374a20cf99eee7f5f25bc538f872b0e1712cbafaf87776599f088a8a715143bde4367" name="apparmor-parser" arch="i586">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="060428083026e662cf7369f48d108b9fc256adeefa52deca14a01ce0413d0035c7cee81f3e8f2ed44697f03b0a9141da5c9340443fdf50e4f4b8e1535c299836" name="apparmor-parser" arch="x86_64">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="c654a53442c4528a5b291ecd35e27756852f49ab783ce546f9801e3d9c6d0e8e7dd0e2cbbb954c0367f532b808cb50a2c9dc8a9ddb129b43736251f81e4e2cf7" name="apparmor-parser-debuginfo" arch="i586">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="860abe8de738be8b39dea980d64ca814f698b602cd0d321a58c4e1b18d70e22e089cd83541f295fbd07b2ee4055d75451795396b5b0e8956c2e7b607467f5310" name="apparmor-parser-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="d0991147cd4298392a062225196e879afadac5ed31ae871172c0279b8662360d016d85b396e3b9ada5df9cb8dec5a2aa1ea707ce76676529da200deb26cbd18e" name="apparmor-parser-debuginfo" arch="i586">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="a16162f4095c47e4cadf4df340ff600edbea10ec5879e7b864917e054325783d4d2cf058fcd6da6a7c7d472f782facf31eeb522c9e6a71a558ff657b2b84217b" name="apparmor-parser-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="1562affcafccf51631c06f232d16c3549a6fc3157bf5c5a1011e92d386b651a9102fb2ac01b38fb1219c7e22455193bce714ab59af6cd4f41deba5d68c37fef5" name="apparmor-parser-lang" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="5b5d019a098c522aac875bede1e00fc02b6d09d71363e4489ddaedcb70fca45b755d3a4344b436e636b7cee93f8765dff5a7608af35cc0517814db984ce5c7b6" name="apparmor-parser-lang" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="e0c22ad74ff1fd504a59fc7f74125be781eafe7618fecf8f8e9778e73c9ec2a5282f4df35d90faa666950ebfacaa40eaedf914da6f556c20251662ba6ec6a312" name="apparmor-profiles" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="4832a5fbe786a64889539f0618fa404cb62086cc6137c29151f553014d28370cd4046015042867cbc4d70a87418a7cf02eebe3c4b06d3ce39866e0a9524fd6a9" name="apparmor-profiles" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="25ce03914f6776e5f62b7ac55401c0dc822f7fe75f73405990ce94d9d3ab22196f05bf24d52d4e95e4cc4d8bdfa777a8c3b464573cafd57642918a754584adf2" name="apparmor-utils" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="fc2423ed1b1a0099d4fd2d806afd671ba4f8683ffef4dac83d060b1da948e3829cf0c07c48d9c4f02b3e1121c8515116fecf8aee71cd690261dd7a74c3e56a75" name="apparmor-utils" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="d96bd4403d2b84e5d18fd50fea776357c0fc403a3255d6425712af0311278759f06a7de5d1625028d286b7617bd93b2cdefbe9d43d402803bc47de3d489c77ba" name="apparmor-utils-lang" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="6.1"/>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1695643200">- Fix pam_apparmor %post and %postun scripts to handle pam-config errors
  (bsc#1215596)</changelog>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
</package>
<package pkgid="d82fae96c76ed59f61b8e4248881b013c673a473a7b4a5b715953c8a14492b94c1c6afd93da2cc12a15ee10eb375039eb7794de8c32bed8d1f359b6340374796" name="apparmor-utils-lang" arch="noarch">
  <version epoch="0" ver="4.0.1" rel="7.1"/>
  <changelog author="Julio Gonzalez Gil &lt;julio@juliogonzalez.es&gt;" date="1699444800">- Add apparmor-systemd-sessions.patch to allow read access to
  /run/systemd/sessions/ (bsc#1216878)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1699444801">- Actually apply the previously added patch for bsc#1216878</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1706529600">- Add dovecot-unix_chkpwd.diff to allow dovecot-auth to execute
  unix_chkpwd, and add a profile for unix_chkpwd. This is needed
  for PAM 1.6 (boo#1219139)
- Refresh apparmor.keyring - the key was renewed</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1707134400">- Update to AppArmor 3.1.7
  - aa-logprof: don't skip exec events in hats
  - fix aa-cleanprof to work with named profiles
  - add permissions in various abstractions
  - see https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.7
    for the full list of changes
- drop upstreamed apparmor-systemd-sessions.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707393600">- Add apparmor-abstractions-openssl-allow-version-specific-en.patch to
  allow version specific engdef &amp; engines openssl paths (boo#1219571)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1708430400">- Only run utils and profiles make check if kernel LSM is enabled
  (bsc#1220084)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430401">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1708948800">- Fix systemd userdb access in unix-chkpwd</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1709035200">- Add smbd-unix_chkpwd.diff to allow smbd to execute
  unix_chkpwd and fix other pam related denies; (boo#1220032).</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1709294400">- Remove workaround for boo#853019 in %postun parser -
  apparmor.service contains a more safe workaround.
  This also fixes boo#1220708 (missing daemon-reload).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1712318400">- Use full URLs for source tarball and signature.</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1714910400">- Update to AppArmor 4.0.1
  Too many changes to list them here. See
  https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1
  for the detailed upstream release notes
- add tools-fix-redefinition.diff: fix redefinition of _ in tools
- add test-aa-notify.diff: relax test-aa-notify to avoid a mismatch
  with argparse on Leap 15.5
- drop upstreamed patches:
  - apparmor-abstractions-openssl-allow-version-specific-en.patch
  - dovecot-unix_chkpwd.diff
  - smbd-unix_chkpwd.diff
- apparmor-lessopen-profile.patch: update lessopen profile to
  abi/4.0
- mark local/* as %ghost so that these dummy files don't get
  installed anymore (changed existing local/files will be kept,
  unchanged files will be deleted)
- switch to gitlab tarballs (without pregenerated libapparmor
  configure script and prebuilt techdoc.pdf)
  - run libapparmor autogen.sh (needs additional BuildRequires
    autoconf, autoconf-archive, automake and libtool)
  - no longer package techdoc.pdf - old documentation, not worth
    the texlive BuildRequires we would need to build it
- drop old (up to 2.12) cache location /var/lib/apparmor/ and the
  /etc/apparmor.d/cache symlink pointing to it
- drop apparmor-samba-include-permissions-for-shares.diff - no
  longer needed, update-apparmor-samba-profile in Tumbleweed works
  without a pre-existing local/usr.sbin.smbd-shares file
- drop ruby-2_0-mkmf-destdir.patch - this ancient patch doesn't
  change a single bit in the resulting build (anymore?)
- drop apparmor-lessopen-nfs-workaround.diff - no longer needed
  since Kernel 6.0 (see https://bugs.launchpad.net/bugs/1784499)
- drop ancient, unused update-trans.sh</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716552000">- fix bashism in %post profiles</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716638400">- add aa-remove-unknown-fix-unconfined.diff to fix
  aa-remove-unknown for 'unconfined' profiles (boo#1225457)
- set permissions for %ghost files (boo#1223578)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897600">- exclude runc profile until updated runc packages (including
  updated profile with "signal peer=runc") have arrived</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1716897601">- add utils-relax-mount-rules.diff and utils-relax-mount-rules-2.diff:
  Relax handling of mount rules in utils to avoid errors when
  parsing valid profiles
- add teardown-unconfined.diff to fix aa-teardown for 'unconfined'
  profiles (boo#1225457)</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1716984000">- Exclude the crun profile in addition to runc</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1717070400">- Also exclude podman profile - boo#1225608</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1717502400">- add sddm-xauth.diff - sddm uses a new path for xauth (boo#1223900)
- add plasmashell.diff - fix QtWebEngineProcess path to prevent a
  crash in plasmashell (boo#1225961)</changelog>
  <changelog author="Christian Boltz &lt;suse-beta@cboltz.de&gt;" date="1718107200">- add logprof-mount-empty-source.diff: add support for mount rules
  with quoted paths and empty source (boo#1226031)</changelog>
</package>
<package pkgid="97d5433decde0164d3a4f2180080fc7a21bdfce5e3621fa280bb4463287ffc063c5fd8e39849893ab496dd7c52fd4e029409cf264d0d105c980957770399d2a3" name="appres" arch="src">
  <version epoch="0" ver="1.0.7" rel="1.1"/>
  <changelog author="vuntz@opensuse.org" date="1334318400">- Split appres from xorg-x11. Initial version: 1.0.3.</changelog>
  <changelog author="zaitor@opensuse.org" date="1369051200">- Update to version 1.0.4:
  + Add -V option to print command version.
  + Combine usage message into a single string.
  + Mark usage() as _X_NORETURN to satisfy -Wmissing-noreturn
    warning.
  + config: move man pages into their own directory.
  + man: replace hard coded man page section with substitution
    strings.
  + man: remove trailing spaces and tabs.
- Add pkgconfig(xproto), configure now checks for it.</changelog>
  <changelog author="sndirsch@suse.com" date="1391688000">- fixed license to X11 in specfile</changelog>
  <changelog author="sndirsch@suse.com" date="1520251200">- Update to version 1.0.5
  * Print which option was in error along with usage message
  * configure: Drop AM_MAINTAINER_MODE
  * autogen.sh: Honor NOCONFIGURE=1
  * autogen.sh: use quoted string variables
  * autogen: add default patch prefix
  * autogen.sh: use exec instead of waiting for configure to finish</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1648987200">- Update to version 1.0.6
  * bugfix release</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1718539200">- Update to version 1.0.7
  * This release includes support for building with meson as well as autoconf.
    Please test building with meson and report any issues you hit to our
    gitlab issue tracker at:
    https://gitlab.freedesktop.org/xorg/app/appres/-/issues
    as we plan on removing the autoconf build support in a future release.
- switched to meson build</changelog>
</package>
<package pkgid="bb618dc76205bf55674bde4964f9328181bb3633dc0d146d1a6f4bf70216c78e795641c255f8fe7e30edbe8511e9d8cf76a0fe679a79c6fb432d9b5f62fc4907" name="appres" arch="x86_64">
  <version epoch="0" ver="1.0.7" rel="1.1"/>
  <changelog author="vuntz@opensuse.org" date="1334318400">- Split appres from xorg-x11. Initial version: 1.0.3.</changelog>
  <changelog author="zaitor@opensuse.org" date="1369051200">- Update to version 1.0.4:
  + Add -V option to print command version.
  + Combine usage message into a single string.
  + Mark usage() as _X_NORETURN to satisfy -Wmissing-noreturn
    warning.
  + config: move man pages into their own directory.
  + man: replace hard coded man page section with substitution
    strings.
  + man: remove trailing spaces and tabs.
- Add pkgconfig(xproto), configure now checks for it.</changelog>
  <changelog author="sndirsch@suse.com" date="1391688000">- fixed license to X11 in specfile</changelog>
  <changelog author="sndirsch@suse.com" date="1520251200">- Update to version 1.0.5
  * Print which option was in error along with usage message
  * configure: Drop AM_MAINTAINER_MODE
  * autogen.sh: Honor NOCONFIGURE=1
  * autogen.sh: use quoted string variables
  * autogen: add default patch prefix
  * autogen.sh: use exec instead of waiting for configure to finish</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1648987200">- Update to version 1.0.6
  * bugfix release</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1718539200">- Update to version 1.0.7
  * This release includes support for building with meson as well as autoconf.
    Please test building with meson and report any issues you hit to our
    gitlab issue tracker at:
    https://gitlab.freedesktop.org/xorg/app/appres/-/issues
    as we plan on removing the autoconf build support in a future release.
- switched to meson build</changelog>
</package>
<package pkgid="b872ef4c0f620d05a58106b7fef7a49807637058df1f25a7a93a6d65476eb775a806dd1963abc88dbebc2e0bd1932f0cd97e4650b7bf28abe402569a213880f9" name="appres-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.0.7" rel="1.1"/>
  <changelog author="vuntz@opensuse.org" date="1334318400">- Split appres from xorg-x11. Initial version: 1.0.3.</changelog>
  <changelog author="zaitor@opensuse.org" date="1369051200">- Update to version 1.0.4:
  + Add -V option to print command version.
  + Combine usage message into a single string.
  + Mark usage() as _X_NORETURN to satisfy -Wmissing-noreturn
    warning.
  + config: move man pages into their own directory.
  + man: replace hard coded man page section with substitution
    strings.
  + man: remove trailing spaces and tabs.
- Add pkgconfig(xproto), configure now checks for it.</changelog>
  <changelog author="sndirsch@suse.com" date="1391688000">- fixed license to X11 in specfile</changelog>
  <changelog author="sndirsch@suse.com" date="1520251200">- Update to version 1.0.5
  * Print which option was in error along with usage message
  * configure: Drop AM_MAINTAINER_MODE
  * autogen.sh: Honor NOCONFIGURE=1
  * autogen.sh: use quoted string variables
  * autogen: add default patch prefix
  * autogen.sh: use exec instead of waiting for configure to finish</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1648987200">- Update to version 1.0.6
  * bugfix release</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1718539200">- Update to version 1.0.7
  * This release includes support for building with meson as well as autoconf.
    Please test building with meson and report any issues you hit to our
    gitlab issue tracker at:
    https://gitlab.freedesktop.org/xorg/app/appres/-/issues
    as we plan on removing the autoconf build support in a future release.
- switched to meson build</changelog>
</package>
<package pkgid="e6d254ee90f852aeab2a5f0213e693e165499a30d860b9a90440aa4b0e78a4ed0ef89fc391cf7d114081fe67ac9e713b2fc4d6cc24eab507933a181eaa843a97" name="appres-debugsource" arch="x86_64">
  <version epoch="0" ver="1.0.7" rel="1.1"/>
  <changelog author="vuntz@opensuse.org" date="1334318400">- Split appres from xorg-x11. Initial version: 1.0.3.</changelog>
  <changelog author="zaitor@opensuse.org" date="1369051200">- Update to version 1.0.4:
  + Add -V option to print command version.
  + Combine usage message into a single string.
  + Mark usage() as _X_NORETURN to satisfy -Wmissing-noreturn
    warning.
  + config: move man pages into their own directory.
  + man: replace hard coded man page section with substitution
    strings.
  + man: remove trailing spaces and tabs.
- Add pkgconfig(xproto), configure now checks for it.</changelog>
  <changelog author="sndirsch@suse.com" date="1391688000">- fixed license to X11 in specfile</changelog>
  <changelog author="sndirsch@suse.com" date="1520251200">- Update to version 1.0.5
  * Print which option was in error along with usage message
  * configure: Drop AM_MAINTAINER_MODE
  * autogen.sh: Honor NOCONFIGURE=1
  * autogen.sh: use quoted string variables
  * autogen: add default patch prefix
  * autogen.sh: use exec instead of waiting for configure to finish</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1648987200">- Update to version 1.0.6
  * bugfix release</changelog>
  <changelog author="Stefan Dirsch &lt;sndirsch@suse.com&gt;" date="1718539200">- Update to version 1.0.7
  * This release includes support for building with meson as well as autoconf.
    Please test building with meson and report any issues you hit to our
    gitlab issue tracker at:
    https://gitlab.freedesktop.org/xorg/app/appres/-/issues
    as we plan on removing the autoconf build support in a future release.
- switched to meson build</changelog>
</package>
<package pkgid="24511c98e98322b4201a35be40dfaf988b8abed8e4d4e48c697e6ba1773650abe6afa382ecbc91392131b0969d58dd05515118c851988cb0482fd664fdacaa23" name="argocd-cli" arch="src">
  <version epoch="0" ver="2.11.3" rel="1.0.2.1.sr20240605"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1700222400">- new package argocd-cli: CLI for the ArgoCD declarative continuous
  deployment tool</changelog>
  <changelog author="kastl@b1-systems.de" date="1700568000">- Update to version 2.9.2:
  * Bump version to 2.9.2 (#16405)
  * feat: add support for ALL_PROXY (#10451) (#16401)
  * fix: set max for max cookie number to `math.MaxInt` (#16388)
    (#16397)
  * docs: fix documentation of ignoreApplicationDifferences
    (#16365) (#16380)
  * bump helm 3.13.2 (#16344)
  * fix: check for double definition (#16335)
  * docs: fix upgrade instructions (#16327)</changelog>
  <changelog author="kastl@b1-systems.de" date="1701604800">- Update to version 2.9.3:
  * Bump version to 2.9.3 (#16510)
  * fix(repo-server): excess git requests, resolveReferencedSources
    and runManifestGenAsync not using cache (Issue #14725) (#16410)
    (#16494)
  * fix(controller): Address diff cache miss issues (#16458)
    (#16485)
  * fix: cherry-pick fixed cli admin dashboard cmd (#16457)
  * fix(ui): Issues with overlapping content in the app details
    view on smaller screens (#16268) (#16407)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705752000">- Update to version 2.9.4:
  * Bump version to 2.9.4 (#16917)
  * chore(deps): bump github.com/go-git/go-git/v5 from 5.8.1 to
    5.11.0 (#16912)
  * fix: enforce content type header for API requests (#16860)
    (Cherry-pick release-2.9 ) (#16878)
  * fix: add list permission deployments (#16785) (#16804)
  * fix(ui):Fixed log horizontal scroll for issue #16411 (#16727)
    (#16761)
  * fix(action): Add missing owner refs and annotation to
    create-job action (#16607) (#16608)
  * Added missing 'alias:' prefix for repository name as described
    here: (#15902) (#16535)
  * fix(grpcproxy): add missing GRPCKeepAliveEnforcementMinimum
    (#15708) (#16576)
  * fix(appset): don't emit k8s events for unchanged apps, log at
    debug (#16562)
  * docs: Fix format issue in rbac.md (#16521) (#16538)
  * chore: upgrade k8s client from v0.24.2 to v0.24.17 (#16554)
  * fix(appset): Don't use revision cache when reconciling after
    webhook (#16062) (#16241) (#16536)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705752001">- Update to version 2.9.5:
  * Bump version to 2.9.5 (#16937)
  * fix(ui): set content-type for certain UI requests (#16923)
    (#16930) (#16933)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706961600">- Update to version 2.9.6:
  * Bump version to 2.9.6 (#17078)
  * chore(deps): rm go-jose Cxb6dee8d5-b814 high vuln (#16947)
    (#16970) (#17056)
  * fix(redis): go-redis v9 regression missing metrics and
    reconnect hook (#13415) (#15275) (#17024)
  * fix(ui): Badge for apps in any namespace (#16739) (#17008)
  * fix(server): allow disabling content-type check (#16959)
    (#16977)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1707912000">- Update to version 2.10.0:
  * Known Issues
  - 2.10.0 has a major issue in application controller running in
    HA mode. A fix will be in 2.10.1.
  * Changes
  - feat(controller): add sync jitter(#14241) (#16820) (#16960)
  - feat(ui): add status panel extensions (#15780)
  - feat: Implement Server-Side Diff (#13663)
  - feat(ui): Show prompt when every resource requires pruning
    (#16603)
  - feat: PostDelete hook support (#16595)
  - feat(security): log user when access is blocked (#16558)
  - feat(ui): Add sourceNamespaces in Projects UI and only show
    it if AppsInAnyNamespaceEnabled flag is set (#16249)
  - feat(appset): Advanced Templating using templatePatch
    (#14893)
  - feat: Argocd notification self service (#16488)
  - feat(cli): Added example to admin-cluster.go and
    projectwindow.go files (#16128)
  - feat(server): log app Spec along with event (#16416)
  - feat(opentelemetry): ✨ support for secured OTLP endpoint and
    headers (#15573)
  - feat(oidc): optionally query OIDC UserInfo to gather group
    claims (#12062)
  - feat(app): Support app sync --dry-run --revision
    some-revision with arbitrary revisions(#12592) (#16387)
  - feat: add support for ALL_PROXY (#10451)
  - feat(appset): Added 'slugify' sprig function (#15188)
  - feat: Support for Kustomize Components (#16230)
  - feat: add retry logic for k8s client #7692 (#16154)
  - feat: grace period for repo errors to prevent aggressive
    unknown sync state (#16085)
  - feat: add examples to --help output for admin.go file
    (#16030)
  - feat: add examples to --help ouput for argocd_server.go file
    (#16032)
  - feat: Allow 'both' option for uibannerposition (#14623)
  - feat: PKCE authentication flow for web logins #9890 (#15889)
  - feat(cli): example for generate-allow-list (#16136)
  - feat(cli): Add examples to --help output for get KEYID
    (#16019)
  - feat(cli): Add examples to --help output for "gpg_list"
    (#16017)
  - feat: Add examples to --help output for remaining "create
    PROJECT ROLE-NAME" (#15983)
  - feat(cli): Add examples to argocd proj role cli family
    (#15875)
  - feat(cli): add admin-app-example (#15690) (#15861)
  - feat(cli): add project flag to avoid permission denied errors
    on 404 (#16040)
  - feat: expose notification secrets for request payload
    templating (#16055)
  - feat: make git requests configurable (#15646)
  - feat: add write back to application informer (#15987)
  - feat(cli): Add examples to --help output for "list PROJECT"
    (#16033)
  - feat(cli): Add examples to --help output for "gpg add"
    (#16020)
  - feat(ui): Recursive Helm Values files detection (#15935)
    (#15936)
  - feat: use rate limited queue (#15480)
  - feat: Add examples to --help output for remaining "get
    APPNAME" (#15862)
  - feat(cli): add the repocred-list-example (#15690) (#15869)
  - feat(cli): add the cluster-list-example (#15690) (#15866)
  - feat: Add examples to --help output for "delete PROJECT
    ROLE-NAME" (#15986)
  - feat(cli): Add examples to projectwindows.go (#15860)
  - feat(health): add iammanager.keikoproj.io/Iamrole health
    check (#15899)
  - feat: Add examples to --help output for "generate-spec
    PROJECT" (#15871)
  - feat(cli): add the repo-example (#15690) (#15865)
  - feat(cli): Add examples to --help output for "set APPNAME"
    (#15872)
  - feat(cli): Add examples to --help output for "logs APPNAME"
    (#15873)
  - feat(cli): Add example to argocd relogin command (#15839)
  - feat: Add examples to --help output for all "argocd proj"
    cmds (#15824)
  - feat(cli): Added example to --help output for bcrypt (#15838)
  - feat(cli): Add example to --help output for app actions
    (#15822)
  - feat(cli): Add examples to --help output for remaining
    "argocd account" (#15814)
  - feat(cli): Add examples to --help output for remaining
    "argocd repocreds" cmds (#15846)
  - feat(cli): Add example to --help output 1 (#15782)
  - feat(cli): Added example to --help output for context
    (#15809)
  - feat(ci): retry individual e2e tests (#15696)
  * Bug fixes (47)
  - fix(ci): correct helm checksum path (#17081) (#17083)
  - fix(controller): fix application controller deployment
    crashing (#16984) (#17093)
  - fix(server): allow disabling content-type check (#16959)
    (#16976)
  - fix(appcontroller): Uptake fix in gitops engine which fixes
    application sync with auto create ns and server side apply
    (#16942) (#16963)
  - fix: Use the cache for sharding (#15237) (#16902)
  - fix: enforce content type header for API requests (#16860)
    (#16877)
  - fix(appset): Use case insensitive comparison of repo details
    in appset webhook handler (#16503) (#16504)
  - fix(cli): argocd admin settings resource-overrides health to
    not ignore wildard customizations (#16461)
  - fix(repo-server): excess git requests, short-circuit
    GenerateManifests ref only (#16501)
  - fix(appset): Always remove ownerReferences when appset policy
    doesn't allow app's deletion (#12172) (#16506)
  - fix(ui): use background delete to match k8s terminology
    (#15579)
  - fix: Use math.MaxInt (instead of math.MaxInt64) to fix builds
    on 32bit platforms (#16065)
  - fix: cert-manager.io/certificate health.lua for consistent
    issuing (Issue #16523) (#16520)
  - fix(doc): Fix documentation templatePatch (#16522)
  - fix: Tooltips point in wrong direction#11935 (#12578)
  - fix(ui): add exec check to avoid API calls (#16168)
  - fix PerconaXtraDBCluster health (#16434)
  - fix(controller): Address diff cache miss issues (#16458)
  - fix(cli): pass redis compression to cluster stats and shards
    commands (#16060) (#16421)
  - fix: upgrade notifications-engine (#16354)
  - fix(ui): User Info blob is too far to the right relative to
    Applications/Settings/Documentation (#12016)
  - fix: fixed cli admin dashboard cmd (#16430)
  - fix(appset): use topics for Gitlab SCM Provider (#13169)
    (#13170)
  - fix(appset): prevent app deletion according to appset policy
    (#12172) (#15903)
  - fix: failing lint and unit test (#16275)
  - fix(appset): Fix name conflict in appset controller (#16207)
    (#16222)
  - fix(ui): summary: fix sync options block layout (#16152)
  - fix api docs (#16186)
  - fix(ui): Improve apps tiles view (#16140)
  - fix(appset): ignoreApplicationDifferences not working
    (#15965)
  - fix: rbac validate command can now take either namespace or
    policy-file (#15543)
  - fix: Add timezone to projectwindows list (#15929)
  - fix(banzai/KafkaCluster): Update health.lua (#15962)
  - fix(docs): proj role list example (#16074)
  - fix: list manually provided external urls before generated
    ones (#13296)
  - fix: Add ENV variable to configure GRPC Keep Alive Time
    (#15656) (#15806)
  - fix: delete event cache deadlock test flakiness (#15964)
  - fix(ci): unstable integration test (#15976)
  - fix: update docs for ApplicationService.Get to reflect
    reality (#15927)
  - fix: Replace antonmedv/expr with expr-lang/expr (#15879)
  - fix(notifications): Allow notifications controller to notify
    on all namespaces (#15702)
  - fix(cli): Do not error out with no errors (#15688)
  - fix: codeowners syntax error (#15781)
  - fix(appset): add option to disable SCM providers entirely
    (#14246) (#15248)
  - fix(applicationset): git generator ignores empty files
    (#15661)
  - fix(ci): misplaced config option (#15698)
  - fix(ci): do not fail fast on e2e test failures (#15694)
  * Documentation (39)
  - docs(hooks): add postdelete to table (#17048) (#17051)
  - docs(kustomize): add components yaml example (#17043)
    (#17046)
  - docs(argocd-cm): add timeout.reconciliation.jitter example
    (#17044) (#17047)
  - docs(applicationset): explain impact of empty spec in
    templatePatch (#17042) (#17045)
  - docs: add context to configmap example (#16763) (#16764)
  - docs: configmap items are strings (#16737) (#16738)
  - docs: add documentation for the argocd cluster commands
    (#16555)
  - docs: update telepresence quickstart link (#16616)
  - docs: callout the need to restart pods to pickup service
    accounts (#16610)
  - docs: fix indentation for preserve file mode (#16598)
  - docs(monitoring): add new ServiceMonitors for redis, dex,
    notifications (#16534)
  - docs: fix broken link in secret-management.md (#16588)
  - docs: Add Kong Inc. as a user (#16582)
  - docs: Fix minor typo in Declarative Setup (#16550)
  - docs: fix kustomize patches example (#16353)
  - docs: Katie as Release Champion for 2.10 and Added a column
    for Release Approver (#16341)
  - docs: update release doc and issue template (#16329)
  - docs: fix upgrade instructions (#16326)
  - docs: Add @gdsoumya to approvers in OWNERS (#16331)
  - docs: Document ApplyOutOfSyncOnly in application spec
    (#16282)
  - docs: add Axians ACSP to users (#16226)
  - docs: Ensure consistent proper case of Kubernetes (#16205)
  - docs: Add Semgrep as a user (#16185)
  - docs(cmp): Document ConfigManagementPlugin.spec.version more
    clearly (#15974)
  - docs(appset): ApplicationSets generators docs to use go
    templates (#16109) (#16127)
  - docs: added identity-center.md doc for AWS SSO (#15689)
  - docs(bounty): proposal for feature to hide anno...</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590400">- Update to version 2.10.1:
  * Bump version to 2.10.1 (#17211)
  * fix(controller): add missing workqueue metrics (#16315)
    (#17013) (#17209)
  * fix: infer correct shard in statefulset setup (#17124, #17016)
    (#17167) (#17204)
  * fix: stop initializing deployment informer if dynamic sharding
    is disabled (#17097) (#17202)
  * fix(kustomize): set build dir (#15057) #16229 #16652 (#16653)
    (#17129)
  * fix(manifests): applicationset-controller dir is not added to
    cluster-rbac/kustomization.yaml. (#16810) (#17120)
  * chore(manifests): add ClsuterRole/ClusterRoleBinding for
    applicationset controller. (#16699) (#17119)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590401">- Update to version 2.10.2:
  * chore(ci): free up disk space for goreleaser (#17373) (#17374)
  * Bump version to 2.10.2 (#17370)
  * fix(ui): The tiles in Applications List are too wide #17220
    (#17340) (#17351)
  * fix: The argocd server api-content-type flag does not allow
    empty content-type header (#17331) (#17346)
  * chore(deps): upgrade helm to 3.14.2 (#17330) (#17333)
  * Corrected certificate managment for OCI helm charts (#16656)
    (#17320)
  * chore(deps): upgrade helm to 3.14.1 (#17213) (#17216)
  * chore(deps): Upgrade aws-sdk-go to support eks pod identity
    (#17063) (#17225)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590402">- Update to version 2.10.3:
  * Bump version to 2.10.3 (#17513)
  * Merge pull request from GHSA-g623-jcgg-mhmm
  * Merge pull request from GHSA-jwv5-8mqv-g387
  * fix: multi-source app breaks application parameters UI (#16910)
    (#17033) (#17332)
  * fix!: disable rate limiting completely by default (#17355)
    (#17393)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710763200">- Update to version 2.10.4:
  * Bump version to 2.10.4 (#17557)
  * Merge pull request from GHSA-6v85-wr92-q4p7
  * Merge pull request from GHSA-2vgg-9h6w-m454
  * fix(notifications): Helm.GetParameterValueByName should take
    helm.parametes first (#17472) (#17512)
  * fix: registry argument to be only the host instead full URL
    (#17381) (#17534)
  * fix(ui): add confirmation box in resource summary delete action
    (#17485) (#17545)
  * chore(deps): upgrade helm to 3.14.3 (#17531) (#17533)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1711800000">- Update to version 2.10.5:
  * fix cosign (#17656)
  * Bump version to 2.10.5 (#17654)
  * Merge pull request from GHSA-jhwx-mhww-rgc3
  * fix: elements should be optional (#17424) (#17510)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712318400">- Update to version 2.10.6:
  * Bump version to 2.10.6 (#17744)
  * fix(security): use Chainguard fork of git-urls (#17732)
    (#17735)
  * fix: fix calculating patch for respect ignore diff feature
    (#17693)
  * fix(ui): Fix color generation for pod name in logs viewer.
    Fixes #17704 (#17706) (#17710)
  * chore(deps): bump webpack-dev-middleware from 5.3.1 to 5.3.4 in
    /ui (#17598) (#17686)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1713182400">- Update to version 2.10.7:
  * fix: docker build fails due to "The repository
    'http://deb.debian.org/debian buster-backports Release' does
    not have a Release file."
  * Bump version to 2.10.7 (#17831)
  * Merge pull request from GHSA-2gvw-w6fj-7m3c</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714132800">- Update to version 2.10.8:
  * Bump version to 2.10.8 (#17990)
  * fix: codegen after security fix - 2.10 (#17985)
  * Merge pull request from GHSA-9m6p-x4h2-6frq
  * Merge pull request from GHSA-9m6p-x4h2-6frq
  * chore: upgrade redis to 7.0.15 (#17666)
  * fix: codegen and e2e tests in release-2.10 (#17844)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714478400">- Update to version 2.10.9:
  * Bump version to 2.10.9 (#18033)
  * fix: enable sha256 and sha512 for git ssh (#18028) (#18029)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1715169600">- Update to version 2.11.0:
  Major Upgrade, please read the documentation:
  https://argo-cd.readthedocs.io/en/stable/operator-manual/upgrading/overview/</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716292800">- Update to version 2.11.1:
  * Bump version to 2.11.1 (#18319)
  * Merge pull request from GHSA-9766-5277-j5hr
  * Merge pull request from GHSA-9766-5277-j5hr
  * fix: UI MultiSource - Helm Chart with values.yaml (#18188)
    (#18200)
  * fix: copy visited map #11699 (#12667) (#18219)
  * update resolveRevision to use the correct source for
    multi-source app (#18194) (#18202)
  * Fix logging hash with multiple sources (#18189) (#18193)
  * chore(deps): upgrade helm to 3.14.4 (#18255) (#18286)
  * chore(deps): cherry-pick bump protobuf #17788 (#18284)
  * chore: update gitops engine for force sync option (#5882) -
    2.11 (#18125)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716465600">- Update to version 2.11.2:
  * Bump version to 2.11.2 (#18384)
  * fix: remove Egress NetworkPolicy for argocd-redis and
    argocd-redis-ha-haproxy (#18367) (#18372)
  * fix: revert registry change (#18328)
  * fix(deps): upgrade otel dependency (#18285) (#18324)
  * docs: add v2.11 notes to upgrading page (#18333)
  * chore(ci): fix release notes (#18132) (#18330)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1717761600">- Update to version 2.11.3:
  * Bump version to 2.11.3 (#18520)
  * Merge pull request from GHSA-3cqf-953p-h5cp
  * Merge pull request from GHSA-87p9-x75h-p4j2
  * fix: app names with non-alphanumeric characters in position 63
    break syncs (issue #18237) (#18256) (#18439)
  * fix source ordering issue in manifest generation for
    multi-source app while using manifests and diff commands
    (#18395) (#18408)</changelog>
</package>
<package pkgid="0f7595bac955a0fdea164c050ef6a03050bf35aef020d05b17e0d4b725af8a12d400720bf58cf08039ea974072fb01e19452eaccc7d4e08f5a266927276028f5" name="argocd-cli" arch="x86_64">
  <version epoch="0" ver="2.11.3" rel="1.0.2.1.sr20240605"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1700222400">- new package argocd-cli: CLI for the ArgoCD declarative continuous
  deployment tool</changelog>
  <changelog author="kastl@b1-systems.de" date="1700568000">- Update to version 2.9.2:
  * Bump version to 2.9.2 (#16405)
  * feat: add support for ALL_PROXY (#10451) (#16401)
  * fix: set max for max cookie number to `math.MaxInt` (#16388)
    (#16397)
  * docs: fix documentation of ignoreApplicationDifferences
    (#16365) (#16380)
  * bump helm 3.13.2 (#16344)
  * fix: check for double definition (#16335)
  * docs: fix upgrade instructions (#16327)</changelog>
  <changelog author="kastl@b1-systems.de" date="1701604800">- Update to version 2.9.3:
  * Bump version to 2.9.3 (#16510)
  * fix(repo-server): excess git requests, resolveReferencedSources
    and runManifestGenAsync not using cache (Issue #14725) (#16410)
    (#16494)
  * fix(controller): Address diff cache miss issues (#16458)
    (#16485)
  * fix: cherry-pick fixed cli admin dashboard cmd (#16457)
  * fix(ui): Issues with overlapping content in the app details
    view on smaller screens (#16268) (#16407)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705752000">- Update to version 2.9.4:
  * Bump version to 2.9.4 (#16917)
  * chore(deps): bump github.com/go-git/go-git/v5 from 5.8.1 to
    5.11.0 (#16912)
  * fix: enforce content type header for API requests (#16860)
    (Cherry-pick release-2.9 ) (#16878)
  * fix: add list permission deployments (#16785) (#16804)
  * fix(ui):Fixed log horizontal scroll for issue #16411 (#16727)
    (#16761)
  * fix(action): Add missing owner refs and annotation to
    create-job action (#16607) (#16608)
  * Added missing 'alias:' prefix for repository name as described
    here: (#15902) (#16535)
  * fix(grpcproxy): add missing GRPCKeepAliveEnforcementMinimum
    (#15708) (#16576)
  * fix(appset): don't emit k8s events for unchanged apps, log at
    debug (#16562)
  * docs: Fix format issue in rbac.md (#16521) (#16538)
  * chore: upgrade k8s client from v0.24.2 to v0.24.17 (#16554)
  * fix(appset): Don't use revision cache when reconciling after
    webhook (#16062) (#16241) (#16536)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705752001">- Update to version 2.9.5:
  * Bump version to 2.9.5 (#16937)
  * fix(ui): set content-type for certain UI requests (#16923)
    (#16930) (#16933)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706961600">- Update to version 2.9.6:
  * Bump version to 2.9.6 (#17078)
  * chore(deps): rm go-jose Cxb6dee8d5-b814 high vuln (#16947)
    (#16970) (#17056)
  * fix(redis): go-redis v9 regression missing metrics and
    reconnect hook (#13415) (#15275) (#17024)
  * fix(ui): Badge for apps in any namespace (#16739) (#17008)
  * fix(server): allow disabling content-type check (#16959)
    (#16977)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1707912000">- Update to version 2.10.0:
  * Known Issues
  - 2.10.0 has a major issue in application controller running in
    HA mode. A fix will be in 2.10.1.
  * Changes
  - feat(controller): add sync jitter(#14241) (#16820) (#16960)
  - feat(ui): add status panel extensions (#15780)
  - feat: Implement Server-Side Diff (#13663)
  - feat(ui): Show prompt when every resource requires pruning
    (#16603)
  - feat: PostDelete hook support (#16595)
  - feat(security): log user when access is blocked (#16558)
  - feat(ui): Add sourceNamespaces in Projects UI and only show
    it if AppsInAnyNamespaceEnabled flag is set (#16249)
  - feat(appset): Advanced Templating using templatePatch
    (#14893)
  - feat: Argocd notification self service (#16488)
  - feat(cli): Added example to admin-cluster.go and
    projectwindow.go files (#16128)
  - feat(server): log app Spec along with event (#16416)
  - feat(opentelemetry): ✨ support for secured OTLP endpoint and
    headers (#15573)
  - feat(oidc): optionally query OIDC UserInfo to gather group
    claims (#12062)
  - feat(app): Support app sync --dry-run --revision
    some-revision with arbitrary revisions(#12592) (#16387)
  - feat: add support for ALL_PROXY (#10451)
  - feat(appset): Added 'slugify' sprig function (#15188)
  - feat: Support for Kustomize Components (#16230)
  - feat: add retry logic for k8s client #7692 (#16154)
  - feat: grace period for repo errors to prevent aggressive
    unknown sync state (#16085)
  - feat: add examples to --help output for admin.go file
    (#16030)
  - feat: add examples to --help ouput for argocd_server.go file
    (#16032)
  - feat: Allow 'both' option for uibannerposition (#14623)
  - feat: PKCE authentication flow for web logins #9890 (#15889)
  - feat(cli): example for generate-allow-list (#16136)
  - feat(cli): Add examples to --help output for get KEYID
    (#16019)
  - feat(cli): Add examples to --help output for "gpg_list"
    (#16017)
  - feat: Add examples to --help output for remaining "create
    PROJECT ROLE-NAME" (#15983)
  - feat(cli): Add examples to argocd proj role cli family
    (#15875)
  - feat(cli): add admin-app-example (#15690) (#15861)
  - feat(cli): add project flag to avoid permission denied errors
    on 404 (#16040)
  - feat: expose notification secrets for request payload
    templating (#16055)
  - feat: make git requests configurable (#15646)
  - feat: add write back to application informer (#15987)
  - feat(cli): Add examples to --help output for "list PROJECT"
    (#16033)
  - feat(cli): Add examples to --help output for "gpg add"
    (#16020)
  - feat(ui): Recursive Helm Values files detection (#15935)
    (#15936)
  - feat: use rate limited queue (#15480)
  - feat: Add examples to --help output for remaining "get
    APPNAME" (#15862)
  - feat(cli): add the repocred-list-example (#15690) (#15869)
  - feat(cli): add the cluster-list-example (#15690) (#15866)
  - feat: Add examples to --help output for "delete PROJECT
    ROLE-NAME" (#15986)
  - feat(cli): Add examples to projectwindows.go (#15860)
  - feat(health): add iammanager.keikoproj.io/Iamrole health
    check (#15899)
  - feat: Add examples to --help output for "generate-spec
    PROJECT" (#15871)
  - feat(cli): add the repo-example (#15690) (#15865)
  - feat(cli): Add examples to --help output for "set APPNAME"
    (#15872)
  - feat(cli): Add examples to --help output for "logs APPNAME"
    (#15873)
  - feat(cli): Add example to argocd relogin command (#15839)
  - feat: Add examples to --help output for all "argocd proj"
    cmds (#15824)
  - feat(cli): Added example to --help output for bcrypt (#15838)
  - feat(cli): Add example to --help output for app actions
    (#15822)
  - feat(cli): Add examples to --help output for remaining
    "argocd account" (#15814)
  - feat(cli): Add examples to --help output for remaining
    "argocd repocreds" cmds (#15846)
  - feat(cli): Add example to --help output 1 (#15782)
  - feat(cli): Added example to --help output for context
    (#15809)
  - feat(ci): retry individual e2e tests (#15696)
  * Bug fixes (47)
  - fix(ci): correct helm checksum path (#17081) (#17083)
  - fix(controller): fix application controller deployment
    crashing (#16984) (#17093)
  - fix(server): allow disabling content-type check (#16959)
    (#16976)
  - fix(appcontroller): Uptake fix in gitops engine which fixes
    application sync with auto create ns and server side apply
    (#16942) (#16963)
  - fix: Use the cache for sharding (#15237) (#16902)
  - fix: enforce content type header for API requests (#16860)
    (#16877)
  - fix(appset): Use case insensitive comparison of repo details
    in appset webhook handler (#16503) (#16504)
  - fix(cli): argocd admin settings resource-overrides health to
    not ignore wildard customizations (#16461)
  - fix(repo-server): excess git requests, short-circuit
    GenerateManifests ref only (#16501)
  - fix(appset): Always remove ownerReferences when appset policy
    doesn't allow app's deletion (#12172) (#16506)
  - fix(ui): use background delete to match k8s terminology
    (#15579)
  - fix: Use math.MaxInt (instead of math.MaxInt64) to fix builds
    on 32bit platforms (#16065)
  - fix: cert-manager.io/certificate health.lua for consistent
    issuing (Issue #16523) (#16520)
  - fix(doc): Fix documentation templatePatch (#16522)
  - fix: Tooltips point in wrong direction#11935 (#12578)
  - fix(ui): add exec check to avoid API calls (#16168)
  - fix PerconaXtraDBCluster health (#16434)
  - fix(controller): Address diff cache miss issues (#16458)
  - fix(cli): pass redis compression to cluster stats and shards
    commands (#16060) (#16421)
  - fix: upgrade notifications-engine (#16354)
  - fix(ui): User Info blob is too far to the right relative to
    Applications/Settings/Documentation (#12016)
  - fix: fixed cli admin dashboard cmd (#16430)
  - fix(appset): use topics for Gitlab SCM Provider (#13169)
    (#13170)
  - fix(appset): prevent app deletion according to appset policy
    (#12172) (#15903)
  - fix: failing lint and unit test (#16275)
  - fix(appset): Fix name conflict in appset controller (#16207)
    (#16222)
  - fix(ui): summary: fix sync options block layout (#16152)
  - fix api docs (#16186)
  - fix(ui): Improve apps tiles view (#16140)
  - fix(appset): ignoreApplicationDifferences not working
    (#15965)
  - fix: rbac validate command can now take either namespace or
    policy-file (#15543)
  - fix: Add timezone to projectwindows list (#15929)
  - fix(banzai/KafkaCluster): Update health.lua (#15962)
  - fix(docs): proj role list example (#16074)
  - fix: list manually provided external urls before generated
    ones (#13296)
  - fix: Add ENV variable to configure GRPC Keep Alive Time
    (#15656) (#15806)
  - fix: delete event cache deadlock test flakiness (#15964)
  - fix(ci): unstable integration test (#15976)
  - fix: update docs for ApplicationService.Get to reflect
    reality (#15927)
  - fix: Replace antonmedv/expr with expr-lang/expr (#15879)
  - fix(notifications): Allow notifications controller to notify
    on all namespaces (#15702)
  - fix(cli): Do not error out with no errors (#15688)
  - fix: codeowners syntax error (#15781)
  - fix(appset): add option to disable SCM providers entirely
    (#14246) (#15248)
  - fix(applicationset): git generator ignores empty files
    (#15661)
  - fix(ci): misplaced config option (#15698)
  - fix(ci): do not fail fast on e2e test failures (#15694)
  * Documentation (39)
  - docs(hooks): add postdelete to table (#17048) (#17051)
  - docs(kustomize): add components yaml example (#17043)
    (#17046)
  - docs(argocd-cm): add timeout.reconciliation.jitter example
    (#17044) (#17047)
  - docs(applicationset): explain impact of empty spec in
    templatePatch (#17042) (#17045)
  - docs: add context to configmap example (#16763) (#16764)
  - docs: configmap items are strings (#16737) (#16738)
  - docs: add documentation for the argocd cluster commands
    (#16555)
  - docs: update telepresence quickstart link (#16616)
  - docs: callout the need to restart pods to pickup service
    accounts (#16610)
  - docs: fix indentation for preserve file mode (#16598)
  - docs(monitoring): add new ServiceMonitors for redis, dex,
    notifications (#16534)
  - docs: fix broken link in secret-management.md (#16588)
  - docs: Add Kong Inc. as a user (#16582)
  - docs: Fix minor typo in Declarative Setup (#16550)
  - docs: fix kustomize patches example (#16353)
  - docs: Katie as Release Champion for 2.10 and Added a column
    for Release Approver (#16341)
  - docs: update release doc and issue template (#16329)
  - docs: fix upgrade instructions (#16326)
  - docs: Add @gdsoumya to approvers in OWNERS (#16331)
  - docs: Document ApplyOutOfSyncOnly in application spec
    (#16282)
  - docs: add Axians ACSP to users (#16226)
  - docs: Ensure consistent proper case of Kubernetes (#16205)
  - docs: Add Semgrep as a user (#16185)
  - docs(cmp): Document ConfigManagementPlugin.spec.version more
    clearly (#15974)
  - docs(appset): ApplicationSets generators docs to use go
    templates (#16109) (#16127)
  - docs: added identity-center.md doc for AWS SSO (#15689)
  - docs(bounty): proposal for feature to hide anno...</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590400">- Update to version 2.10.1:
  * Bump version to 2.10.1 (#17211)
  * fix(controller): add missing workqueue metrics (#16315)
    (#17013) (#17209)
  * fix: infer correct shard in statefulset setup (#17124, #17016)
    (#17167) (#17204)
  * fix: stop initializing deployment informer if dynamic sharding
    is disabled (#17097) (#17202)
  * fix(kustomize): set build dir (#15057) #16229 #16652 (#16653)
    (#17129)
  * fix(manifests): applicationset-controller dir is not added to
    cluster-rbac/kustomization.yaml. (#16810) (#17120)
  * chore(manifests): add ClsuterRole/ClusterRoleBinding for
    applicationset controller. (#16699) (#17119)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590401">- Update to version 2.10.2:
  * chore(ci): free up disk space for goreleaser (#17373) (#17374)
  * Bump version to 2.10.2 (#17370)
  * fix(ui): The tiles in Applications List are too wide #17220
    (#17340) (#17351)
  * fix: The argocd server api-content-type flag does not allow
    empty content-type header (#17331) (#17346)
  * chore(deps): upgrade helm to 3.14.2 (#17330) (#17333)
  * Corrected certificate managment for OCI helm charts (#16656)
    (#17320)
  * chore(deps): upgrade helm to 3.14.1 (#17213) (#17216)
  * chore(deps): Upgrade aws-sdk-go to support eks pod identity
    (#17063) (#17225)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590402">- Update to version 2.10.3:
  * Bump version to 2.10.3 (#17513)
  * Merge pull request from GHSA-g623-jcgg-mhmm
  * Merge pull request from GHSA-jwv5-8mqv-g387
  * fix: multi-source app breaks application parameters UI (#16910)
    (#17033) (#17332)
  * fix!: disable rate limiting completely by default (#17355)
    (#17393)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710763200">- Update to version 2.10.4:
  * Bump version to 2.10.4 (#17557)
  * Merge pull request from GHSA-6v85-wr92-q4p7
  * Merge pull request from GHSA-2vgg-9h6w-m454
  * fix(notifications): Helm.GetParameterValueByName should take
    helm.parametes first (#17472) (#17512)
  * fix: registry argument to be only the host instead full URL
    (#17381) (#17534)
  * fix(ui): add confirmation box in resource summary delete action
    (#17485) (#17545)
  * chore(deps): upgrade helm to 3.14.3 (#17531) (#17533)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1711800000">- Update to version 2.10.5:
  * fix cosign (#17656)
  * Bump version to 2.10.5 (#17654)
  * Merge pull request from GHSA-jhwx-mhww-rgc3
  * fix: elements should be optional (#17424) (#17510)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712318400">- Update to version 2.10.6:
  * Bump version to 2.10.6 (#17744)
  * fix(security): use Chainguard fork of git-urls (#17732)
    (#17735)
  * fix: fix calculating patch for respect ignore diff feature
    (#17693)
  * fix(ui): Fix color generation for pod name in logs viewer.
    Fixes #17704 (#17706) (#17710)
  * chore(deps): bump webpack-dev-middleware from 5.3.1 to 5.3.4 in
    /ui (#17598) (#17686)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1713182400">- Update to version 2.10.7:
  * fix: docker build fails due to "The repository
    'http://deb.debian.org/debian buster-backports Release' does
    not have a Release file."
  * Bump version to 2.10.7 (#17831)
  * Merge pull request from GHSA-2gvw-w6fj-7m3c</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714132800">- Update to version 2.10.8:
  * Bump version to 2.10.8 (#17990)
  * fix: codegen after security fix - 2.10 (#17985)
  * Merge pull request from GHSA-9m6p-x4h2-6frq
  * Merge pull request from GHSA-9m6p-x4h2-6frq
  * chore: upgrade redis to 7.0.15 (#17666)
  * fix: codegen and e2e tests in release-2.10 (#17844)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714478400">- Update to version 2.10.9:
  * Bump version to 2.10.9 (#18033)
  * fix: enable sha256 and sha512 for git ssh (#18028) (#18029)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1715169600">- Update to version 2.11.0:
  Major Upgrade, please read the documentation:
  https://argo-cd.readthedocs.io/en/stable/operator-manual/upgrading/overview/</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716292800">- Update to version 2.11.1:
  * Bump version to 2.11.1 (#18319)
  * Merge pull request from GHSA-9766-5277-j5hr
  * Merge pull request from GHSA-9766-5277-j5hr
  * fix: UI MultiSource - Helm Chart with values.yaml (#18188)
    (#18200)
  * fix: copy visited map #11699 (#12667) (#18219)
  * update resolveRevision to use the correct source for
    multi-source app (#18194) (#18202)
  * Fix logging hash with multiple sources (#18189) (#18193)
  * chore(deps): upgrade helm to 3.14.4 (#18255) (#18286)
  * chore(deps): cherry-pick bump protobuf #17788 (#18284)
  * chore: update gitops engine for force sync option (#5882) -
    2.11 (#18125)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716465600">- Update to version 2.11.2:
  * Bump version to 2.11.2 (#18384)
  * fix: remove Egress NetworkPolicy for argocd-redis and
    argocd-redis-ha-haproxy (#18367) (#18372)
  * fix: revert registry change (#18328)
  * fix(deps): upgrade otel dependency (#18285) (#18324)
  * docs: add v2.11 notes to upgrading page (#18333)
  * chore(ci): fix release notes (#18132) (#18330)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1717761600">- Update to version 2.11.3:
  * Bump version to 2.11.3 (#18520)
  * Merge pull request from GHSA-3cqf-953p-h5cp
  * Merge pull request from GHSA-87p9-x75h-p4j2
  * fix: app names with non-alphanumeric characters in position 63
    break syncs (issue #18237) (#18256) (#18439)
  * fix source ordering issue in manifest generation for
    multi-source app while using manifests and diff commands
    (#18395) (#18408)</changelog>
</package>
<package pkgid="41b0b8931f4ad2a929bad9a270b98f6e217ee95530bd5f47033bfdadf9d821b6b4fd94b35b0fe6dc6171091ba6e199ac32da9f0d40895958488b873ccb99f415" name="argocd-cli-bash-completion" arch="noarch">
  <version epoch="0" ver="2.11.3" rel="1.0.2.1.sr20240605"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1700222400">- new package argocd-cli: CLI for the ArgoCD declarative continuous
  deployment tool</changelog>
  <changelog author="kastl@b1-systems.de" date="1700568000">- Update to version 2.9.2:
  * Bump version to 2.9.2 (#16405)
  * feat: add support for ALL_PROXY (#10451) (#16401)
  * fix: set max for max cookie number to `math.MaxInt` (#16388)
    (#16397)
  * docs: fix documentation of ignoreApplicationDifferences
    (#16365) (#16380)
  * bump helm 3.13.2 (#16344)
  * fix: check for double definition (#16335)
  * docs: fix upgrade instructions (#16327)</changelog>
  <changelog author="kastl@b1-systems.de" date="1701604800">- Update to version 2.9.3:
  * Bump version to 2.9.3 (#16510)
  * fix(repo-server): excess git requests, resolveReferencedSources
    and runManifestGenAsync not using cache (Issue #14725) (#16410)
    (#16494)
  * fix(controller): Address diff cache miss issues (#16458)
    (#16485)
  * fix: cherry-pick fixed cli admin dashboard cmd (#16457)
  * fix(ui): Issues with overlapping content in the app details
    view on smaller screens (#16268) (#16407)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705752000">- Update to version 2.9.4:
  * Bump version to 2.9.4 (#16917)
  * chore(deps): bump github.com/go-git/go-git/v5 from 5.8.1 to
    5.11.0 (#16912)
  * fix: enforce content type header for API requests (#16860)
    (Cherry-pick release-2.9 ) (#16878)
  * fix: add list permission deployments (#16785) (#16804)
  * fix(ui):Fixed log horizontal scroll for issue #16411 (#16727)
    (#16761)
  * fix(action): Add missing owner refs and annotation to
    create-job action (#16607) (#16608)
  * Added missing 'alias:' prefix for repository name as described
    here: (#15902) (#16535)
  * fix(grpcproxy): add missing GRPCKeepAliveEnforcementMinimum
    (#15708) (#16576)
  * fix(appset): don't emit k8s events for unchanged apps, log at
    debug (#16562)
  * docs: Fix format issue in rbac.md (#16521) (#16538)
  * chore: upgrade k8s client from v0.24.2 to v0.24.17 (#16554)
  * fix(appset): Don't use revision cache when reconciling after
    webhook (#16062) (#16241) (#16536)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705752001">- Update to version 2.9.5:
  * Bump version to 2.9.5 (#16937)
  * fix(ui): set content-type for certain UI requests (#16923)
    (#16930) (#16933)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706961600">- Update to version 2.9.6:
  * Bump version to 2.9.6 (#17078)
  * chore(deps): rm go-jose Cxb6dee8d5-b814 high vuln (#16947)
    (#16970) (#17056)
  * fix(redis): go-redis v9 regression missing metrics and
    reconnect hook (#13415) (#15275) (#17024)
  * fix(ui): Badge for apps in any namespace (#16739) (#17008)
  * fix(server): allow disabling content-type check (#16959)
    (#16977)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1707912000">- Update to version 2.10.0:
  * Known Issues
  - 2.10.0 has a major issue in application controller running in
    HA mode. A fix will be in 2.10.1.
  * Changes
  - feat(controller): add sync jitter(#14241) (#16820) (#16960)
  - feat(ui): add status panel extensions (#15780)
  - feat: Implement Server-Side Diff (#13663)
  - feat(ui): Show prompt when every resource requires pruning
    (#16603)
  - feat: PostDelete hook support (#16595)
  - feat(security): log user when access is blocked (#16558)
  - feat(ui): Add sourceNamespaces in Projects UI and only show
    it if AppsInAnyNamespaceEnabled flag is set (#16249)
  - feat(appset): Advanced Templating using templatePatch
    (#14893)
  - feat: Argocd notification self service (#16488)
  - feat(cli): Added example to admin-cluster.go and
    projectwindow.go files (#16128)
  - feat(server): log app Spec along with event (#16416)
  - feat(opentelemetry): ✨ support for secured OTLP endpoint and
    headers (#15573)
  - feat(oidc): optionally query OIDC UserInfo to gather group
    claims (#12062)
  - feat(app): Support app sync --dry-run --revision
    some-revision with arbitrary revisions(#12592) (#16387)
  - feat: add support for ALL_PROXY (#10451)
  - feat(appset): Added 'slugify' sprig function (#15188)
  - feat: Support for Kustomize Components (#16230)
  - feat: add retry logic for k8s client #7692 (#16154)
  - feat: grace period for repo errors to prevent aggressive
    unknown sync state (#16085)
  - feat: add examples to --help output for admin.go file
    (#16030)
  - feat: add examples to --help ouput for argocd_server.go file
    (#16032)
  - feat: Allow 'both' option for uibannerposition (#14623)
  - feat: PKCE authentication flow for web logins #9890 (#15889)
  - feat(cli): example for generate-allow-list (#16136)
  - feat(cli): Add examples to --help output for get KEYID
    (#16019)
  - feat(cli): Add examples to --help output for "gpg_list"
    (#16017)
  - feat: Add examples to --help output for remaining "create
    PROJECT ROLE-NAME" (#15983)
  - feat(cli): Add examples to argocd proj role cli family
    (#15875)
  - feat(cli): add admin-app-example (#15690) (#15861)
  - feat(cli): add project flag to avoid permission denied errors
    on 404 (#16040)
  - feat: expose notification secrets for request payload
    templating (#16055)
  - feat: make git requests configurable (#15646)
  - feat: add write back to application informer (#15987)
  - feat(cli): Add examples to --help output for "list PROJECT"
    (#16033)
  - feat(cli): Add examples to --help output for "gpg add"
    (#16020)
  - feat(ui): Recursive Helm Values files detection (#15935)
    (#15936)
  - feat: use rate limited queue (#15480)
  - feat: Add examples to --help output for remaining "get
    APPNAME" (#15862)
  - feat(cli): add the repocred-list-example (#15690) (#15869)
  - feat(cli): add the cluster-list-example (#15690) (#15866)
  - feat: Add examples to --help output for "delete PROJECT
    ROLE-NAME" (#15986)
  - feat(cli): Add examples to projectwindows.go (#15860)
  - feat(health): add iammanager.keikoproj.io/Iamrole health
    check (#15899)
  - feat: Add examples to --help output for "generate-spec
    PROJECT" (#15871)
  - feat(cli): add the repo-example (#15690) (#15865)
  - feat(cli): Add examples to --help output for "set APPNAME"
    (#15872)
  - feat(cli): Add examples to --help output for "logs APPNAME"
    (#15873)
  - feat(cli): Add example to argocd relogin command (#15839)
  - feat: Add examples to --help output for all "argocd proj"
    cmds (#15824)
  - feat(cli): Added example to --help output for bcrypt (#15838)
  - feat(cli): Add example to --help output for app actions
    (#15822)
  - feat(cli): Add examples to --help output for remaining
    "argocd account" (#15814)
  - feat(cli): Add examples to --help output for remaining
    "argocd repocreds" cmds (#15846)
  - feat(cli): Add example to --help output 1 (#15782)
  - feat(cli): Added example to --help output for context
    (#15809)
  - feat(ci): retry individual e2e tests (#15696)
  * Bug fixes (47)
  - fix(ci): correct helm checksum path (#17081) (#17083)
  - fix(controller): fix application controller deployment
    crashing (#16984) (#17093)
  - fix(server): allow disabling content-type check (#16959)
    (#16976)
  - fix(appcontroller): Uptake fix in gitops engine which fixes
    application sync with auto create ns and server side apply
    (#16942) (#16963)
  - fix: Use the cache for sharding (#15237) (#16902)
  - fix: enforce content type header for API requests (#16860)
    (#16877)
  - fix(appset): Use case insensitive comparison of repo details
    in appset webhook handler (#16503) (#16504)
  - fix(cli): argocd admin settings resource-overrides health to
    not ignore wildard customizations (#16461)
  - fix(repo-server): excess git requests, short-circuit
    GenerateManifests ref only (#16501)
  - fix(appset): Always remove ownerReferences when appset policy
    doesn't allow app's deletion (#12172) (#16506)
  - fix(ui): use background delete to match k8s terminology
    (#15579)
  - fix: Use math.MaxInt (instead of math.MaxInt64) to fix builds
    on 32bit platforms (#16065)
  - fix: cert-manager.io/certificate health.lua for consistent
    issuing (Issue #16523) (#16520)
  - fix(doc): Fix documentation templatePatch (#16522)
  - fix: Tooltips point in wrong direction#11935 (#12578)
  - fix(ui): add exec check to avoid API calls (#16168)
  - fix PerconaXtraDBCluster health (#16434)
  - fix(controller): Address diff cache miss issues (#16458)
  - fix(cli): pass redis compression to cluster stats and shards
    commands (#16060) (#16421)
  - fix: upgrade notifications-engine (#16354)
  - fix(ui): User Info blob is too far to the right relative to
    Applications/Settings/Documentation (#12016)
  - fix: fixed cli admin dashboard cmd (#16430)
  - fix(appset): use topics for Gitlab SCM Provider (#13169)
    (#13170)
  - fix(appset): prevent app deletion according to appset policy
    (#12172) (#15903)
  - fix: failing lint and unit test (#16275)
  - fix(appset): Fix name conflict in appset controller (#16207)
    (#16222)
  - fix(ui): summary: fix sync options block layout (#16152)
  - fix api docs (#16186)
  - fix(ui): Improve apps tiles view (#16140)
  - fix(appset): ignoreApplicationDifferences not working
    (#15965)
  - fix: rbac validate command can now take either namespace or
    policy-file (#15543)
  - fix: Add timezone to projectwindows list (#15929)
  - fix(banzai/KafkaCluster): Update health.lua (#15962)
  - fix(docs): proj role list example (#16074)
  - fix: list manually provided external urls before generated
    ones (#13296)
  - fix: Add ENV variable to configure GRPC Keep Alive Time
    (#15656) (#15806)
  - fix: delete event cache deadlock test flakiness (#15964)
  - fix(ci): unstable integration test (#15976)
  - fix: update docs for ApplicationService.Get to reflect
    reality (#15927)
  - fix: Replace antonmedv/expr with expr-lang/expr (#15879)
  - fix(notifications): Allow notifications controller to notify
    on all namespaces (#15702)
  - fix(cli): Do not error out with no errors (#15688)
  - fix: codeowners syntax error (#15781)
  - fix(appset): add option to disable SCM providers entirely
    (#14246) (#15248)
  - fix(applicationset): git generator ignores empty files
    (#15661)
  - fix(ci): misplaced config option (#15698)
  - fix(ci): do not fail fast on e2e test failures (#15694)
  * Documentation (39)
  - docs(hooks): add postdelete to table (#17048) (#17051)
  - docs(kustomize): add components yaml example (#17043)
    (#17046)
  - docs(argocd-cm): add timeout.reconciliation.jitter example
    (#17044) (#17047)
  - docs(applicationset): explain impact of empty spec in
    templatePatch (#17042) (#17045)
  - docs: add context to configmap example (#16763) (#16764)
  - docs: configmap items are strings (#16737) (#16738)
  - docs: add documentation for the argocd cluster commands
    (#16555)
  - docs: update telepresence quickstart link (#16616)
  - docs: callout the need to restart pods to pickup service
    accounts (#16610)
  - docs: fix indentation for preserve file mode (#16598)
  - docs(monitoring): add new ServiceMonitors for redis, dex,
    notifications (#16534)
  - docs: fix broken link in secret-management.md (#16588)
  - docs: Add Kong Inc. as a user (#16582)
  - docs: Fix minor typo in Declarative Setup (#16550)
  - docs: fix kustomize patches example (#16353)
  - docs: Katie as Release Champion for 2.10 and Added a column
    for Release Approver (#16341)
  - docs: update release doc and issue template (#16329)
  - docs: fix upgrade instructions (#16326)
  - docs: Add @gdsoumya to approvers in OWNERS (#16331)
  - docs: Document ApplyOutOfSyncOnly in application spec
    (#16282)
  - docs: add Axians ACSP to users (#16226)
  - docs: Ensure consistent proper case of Kubernetes (#16205)
  - docs: Add Semgrep as a user (#16185)
  - docs(cmp): Document ConfigManagementPlugin.spec.version more
    clearly (#15974)
  - docs(appset): ApplicationSets generators docs to use go
    templates (#16109) (#16127)
  - docs: added identity-center.md doc for AWS SSO (#15689)
  - docs(bounty): proposal for feature to hide anno...</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590400">- Update to version 2.10.1:
  * Bump version to 2.10.1 (#17211)
  * fix(controller): add missing workqueue metrics (#16315)
    (#17013) (#17209)
  * fix: infer correct shard in statefulset setup (#17124, #17016)
    (#17167) (#17204)
  * fix: stop initializing deployment informer if dynamic sharding
    is disabled (#17097) (#17202)
  * fix(kustomize): set build dir (#15057) #16229 #16652 (#16653)
    (#17129)
  * fix(manifests): applicationset-controller dir is not added to
    cluster-rbac/kustomization.yaml. (#16810) (#17120)
  * chore(manifests): add ClsuterRole/ClusterRoleBinding for
    applicationset controller. (#16699) (#17119)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590401">- Update to version 2.10.2:
  * chore(ci): free up disk space for goreleaser (#17373) (#17374)
  * Bump version to 2.10.2 (#17370)
  * fix(ui): The tiles in Applications List are too wide #17220
    (#17340) (#17351)
  * fix: The argocd server api-content-type flag does not allow
    empty content-type header (#17331) (#17346)
  * chore(deps): upgrade helm to 3.14.2 (#17330) (#17333)
  * Corrected certificate managment for OCI helm charts (#16656)
    (#17320)
  * chore(deps): upgrade helm to 3.14.1 (#17213) (#17216)
  * chore(deps): Upgrade aws-sdk-go to support eks pod identity
    (#17063) (#17225)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590402">- Update to version 2.10.3:
  * Bump version to 2.10.3 (#17513)
  * Merge pull request from GHSA-g623-jcgg-mhmm
  * Merge pull request from GHSA-jwv5-8mqv-g387
  * fix: multi-source app breaks application parameters UI (#16910)
    (#17033) (#17332)
  * fix!: disable rate limiting completely by default (#17355)
    (#17393)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710763200">- Update to version 2.10.4:
  * Bump version to 2.10.4 (#17557)
  * Merge pull request from GHSA-6v85-wr92-q4p7
  * Merge pull request from GHSA-2vgg-9h6w-m454
  * fix(notifications): Helm.GetParameterValueByName should take
    helm.parametes first (#17472) (#17512)
  * fix: registry argument to be only the host instead full URL
    (#17381) (#17534)
  * fix(ui): add confirmation box in resource summary delete action
    (#17485) (#17545)
  * chore(deps): upgrade helm to 3.14.3 (#17531) (#17533)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1711800000">- Update to version 2.10.5:
  * fix cosign (#17656)
  * Bump version to 2.10.5 (#17654)
  * Merge pull request from GHSA-jhwx-mhww-rgc3
  * fix: elements should be optional (#17424) (#17510)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712318400">- Update to version 2.10.6:
  * Bump version to 2.10.6 (#17744)
  * fix(security): use Chainguard fork of git-urls (#17732)
    (#17735)
  * fix: fix calculating patch for respect ignore diff feature
    (#17693)
  * fix(ui): Fix color generation for pod name in logs viewer.
    Fixes #17704 (#17706) (#17710)
  * chore(deps): bump webpack-dev-middleware from 5.3.1 to 5.3.4 in
    /ui (#17598) (#17686)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1713182400">- Update to version 2.10.7:
  * fix: docker build fails due to "The repository
    'http://deb.debian.org/debian buster-backports Release' does
    not have a Release file."
  * Bump version to 2.10.7 (#17831)
  * Merge pull request from GHSA-2gvw-w6fj-7m3c</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714132800">- Update to version 2.10.8:
  * Bump version to 2.10.8 (#17990)
  * fix: codegen after security fix - 2.10 (#17985)
  * Merge pull request from GHSA-9m6p-x4h2-6frq
  * Merge pull request from GHSA-9m6p-x4h2-6frq
  * chore: upgrade redis to 7.0.15 (#17666)
  * fix: codegen and e2e tests in release-2.10 (#17844)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714478400">- Update to version 2.10.9:
  * Bump version to 2.10.9 (#18033)
  * fix: enable sha256 and sha512 for git ssh (#18028) (#18029)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1715169600">- Update to version 2.11.0:
  Major Upgrade, please read the documentation:
  https://argo-cd.readthedocs.io/en/stable/operator-manual/upgrading/overview/</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716292800">- Update to version 2.11.1:
  * Bump version to 2.11.1 (#18319)
  * Merge pull request from GHSA-9766-5277-j5hr
  * Merge pull request from GHSA-9766-5277-j5hr
  * fix: UI MultiSource - Helm Chart with values.yaml (#18188)
    (#18200)
  * fix: copy visited map #11699 (#12667) (#18219)
  * update resolveRevision to use the correct source for
    multi-source app (#18194) (#18202)
  * Fix logging hash with multiple sources (#18189) (#18193)
  * chore(deps): upgrade helm to 3.14.4 (#18255) (#18286)
  * chore(deps): cherry-pick bump protobuf #17788 (#18284)
  * chore: update gitops engine for force sync option (#5882) -
    2.11 (#18125)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716465600">- Update to version 2.11.2:
  * Bump version to 2.11.2 (#18384)
  * fix: remove Egress NetworkPolicy for argocd-redis and
    argocd-redis-ha-haproxy (#18367) (#18372)
  * fix: revert registry change (#18328)
  * fix(deps): upgrade otel dependency (#18285) (#18324)
  * docs: add v2.11 notes to upgrading page (#18333)
  * chore(ci): fix release notes (#18132) (#18330)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1717761600">- Update to version 2.11.3:
  * Bump version to 2.11.3 (#18520)
  * Merge pull request from GHSA-3cqf-953p-h5cp
  * Merge pull request from GHSA-87p9-x75h-p4j2
  * fix: app names with non-alphanumeric characters in position 63
    break syncs (issue #18237) (#18256) (#18439)
  * fix source ordering issue in manifest generation for
    multi-source app while using manifests and diff commands
    (#18395) (#18408)</changelog>
</package>
<package pkgid="87d9496c6417cf4ddb77cf3eb70cfb641e72d36ff9bfbd1895ba1cd01530f531ce15650d34dbb407ab01ed8fb7d2d8665cb64ff7658ebc4eb94ed6071d758e14" name="argocd-cli-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.11.3" rel="1.0.2.1.sr20240605"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1700222400">- new package argocd-cli: CLI for the ArgoCD declarative continuous
  deployment tool</changelog>
  <changelog author="kastl@b1-systems.de" date="1700568000">- Update to version 2.9.2:
  * Bump version to 2.9.2 (#16405)
  * feat: add support for ALL_PROXY (#10451) (#16401)
  * fix: set max for max cookie number to `math.MaxInt` (#16388)
    (#16397)
  * docs: fix documentation of ignoreApplicationDifferences
    (#16365) (#16380)
  * bump helm 3.13.2 (#16344)
  * fix: check for double definition (#16335)
  * docs: fix upgrade instructions (#16327)</changelog>
  <changelog author="kastl@b1-systems.de" date="1701604800">- Update to version 2.9.3:
  * Bump version to 2.9.3 (#16510)
  * fix(repo-server): excess git requests, resolveReferencedSources
    and runManifestGenAsync not using cache (Issue #14725) (#16410)
    (#16494)
  * fix(controller): Address diff cache miss issues (#16458)
    (#16485)
  * fix: cherry-pick fixed cli admin dashboard cmd (#16457)
  * fix(ui): Issues with overlapping content in the app details
    view on smaller screens (#16268) (#16407)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705752000">- Update to version 2.9.4:
  * Bump version to 2.9.4 (#16917)
  * chore(deps): bump github.com/go-git/go-git/v5 from 5.8.1 to
    5.11.0 (#16912)
  * fix: enforce content type header for API requests (#16860)
    (Cherry-pick release-2.9 ) (#16878)
  * fix: add list permission deployments (#16785) (#16804)
  * fix(ui):Fixed log horizontal scroll for issue #16411 (#16727)
    (#16761)
  * fix(action): Add missing owner refs and annotation to
    create-job action (#16607) (#16608)
  * Added missing 'alias:' prefix for repository name as described
    here: (#15902) (#16535)
  * fix(grpcproxy): add missing GRPCKeepAliveEnforcementMinimum
    (#15708) (#16576)
  * fix(appset): don't emit k8s events for unchanged apps, log at
    debug (#16562)
  * docs: Fix format issue in rbac.md (#16521) (#16538)
  * chore: upgrade k8s client from v0.24.2 to v0.24.17 (#16554)
  * fix(appset): Don't use revision cache when reconciling after
    webhook (#16062) (#16241) (#16536)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705752001">- Update to version 2.9.5:
  * Bump version to 2.9.5 (#16937)
  * fix(ui): set content-type for certain UI requests (#16923)
    (#16930) (#16933)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706961600">- Update to version 2.9.6:
  * Bump version to 2.9.6 (#17078)
  * chore(deps): rm go-jose Cxb6dee8d5-b814 high vuln (#16947)
    (#16970) (#17056)
  * fix(redis): go-redis v9 regression missing metrics and
    reconnect hook (#13415) (#15275) (#17024)
  * fix(ui): Badge for apps in any namespace (#16739) (#17008)
  * fix(server): allow disabling content-type check (#16959)
    (#16977)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1707912000">- Update to version 2.10.0:
  * Known Issues
  - 2.10.0 has a major issue in application controller running in
    HA mode. A fix will be in 2.10.1.
  * Changes
  - feat(controller): add sync jitter(#14241) (#16820) (#16960)
  - feat(ui): add status panel extensions (#15780)
  - feat: Implement Server-Side Diff (#13663)
  - feat(ui): Show prompt when every resource requires pruning
    (#16603)
  - feat: PostDelete hook support (#16595)
  - feat(security): log user when access is blocked (#16558)
  - feat(ui): Add sourceNamespaces in Projects UI and only show
    it if AppsInAnyNamespaceEnabled flag is set (#16249)
  - feat(appset): Advanced Templating using templatePatch
    (#14893)
  - feat: Argocd notification self service (#16488)
  - feat(cli): Added example to admin-cluster.go and
    projectwindow.go files (#16128)
  - feat(server): log app Spec along with event (#16416)
  - feat(opentelemetry): ✨ support for secured OTLP endpoint and
    headers (#15573)
  - feat(oidc): optionally query OIDC UserInfo to gather group
    claims (#12062)
  - feat(app): Support app sync --dry-run --revision
    some-revision with arbitrary revisions(#12592) (#16387)
  - feat: add support for ALL_PROXY (#10451)
  - feat(appset): Added 'slugify' sprig function (#15188)
  - feat: Support for Kustomize Components (#16230)
  - feat: add retry logic for k8s client #7692 (#16154)
  - feat: grace period for repo errors to prevent aggressive
    unknown sync state (#16085)
  - feat: add examples to --help output for admin.go file
    (#16030)
  - feat: add examples to --help ouput for argocd_server.go file
    (#16032)
  - feat: Allow 'both' option for uibannerposition (#14623)
  - feat: PKCE authentication flow for web logins #9890 (#15889)
  - feat(cli): example for generate-allow-list (#16136)
  - feat(cli): Add examples to --help output for get KEYID
    (#16019)
  - feat(cli): Add examples to --help output for "gpg_list"
    (#16017)
  - feat: Add examples to --help output for remaining "create
    PROJECT ROLE-NAME" (#15983)
  - feat(cli): Add examples to argocd proj role cli family
    (#15875)
  - feat(cli): add admin-app-example (#15690) (#15861)
  - feat(cli): add project flag to avoid permission denied errors
    on 404 (#16040)
  - feat: expose notification secrets for request payload
    templating (#16055)
  - feat: make git requests configurable (#15646)
  - feat: add write back to application informer (#15987)
  - feat(cli): Add examples to --help output for "list PROJECT"
    (#16033)
  - feat(cli): Add examples to --help output for "gpg add"
    (#16020)
  - feat(ui): Recursive Helm Values files detection (#15935)
    (#15936)
  - feat: use rate limited queue (#15480)
  - feat: Add examples to --help output for remaining "get
    APPNAME" (#15862)
  - feat(cli): add the repocred-list-example (#15690) (#15869)
  - feat(cli): add the cluster-list-example (#15690) (#15866)
  - feat: Add examples to --help output for "delete PROJECT
    ROLE-NAME" (#15986)
  - feat(cli): Add examples to projectwindows.go (#15860)
  - feat(health): add iammanager.keikoproj.io/Iamrole health
    check (#15899)
  - feat: Add examples to --help output for "generate-spec
    PROJECT" (#15871)
  - feat(cli): add the repo-example (#15690) (#15865)
  - feat(cli): Add examples to --help output for "set APPNAME"
    (#15872)
  - feat(cli): Add examples to --help output for "logs APPNAME"
    (#15873)
  - feat(cli): Add example to argocd relogin command (#15839)
  - feat: Add examples to --help output for all "argocd proj"
    cmds (#15824)
  - feat(cli): Added example to --help output for bcrypt (#15838)
  - feat(cli): Add example to --help output for app actions
    (#15822)
  - feat(cli): Add examples to --help output for remaining
    "argocd account" (#15814)
  - feat(cli): Add examples to --help output for remaining
    "argocd repocreds" cmds (#15846)
  - feat(cli): Add example to --help output 1 (#15782)
  - feat(cli): Added example to --help output for context
    (#15809)
  - feat(ci): retry individual e2e tests (#15696)
  * Bug fixes (47)
  - fix(ci): correct helm checksum path (#17081) (#17083)
  - fix(controller): fix application controller deployment
    crashing (#16984) (#17093)
  - fix(server): allow disabling content-type check (#16959)
    (#16976)
  - fix(appcontroller): Uptake fix in gitops engine which fixes
    application sync with auto create ns and server side apply
    (#16942) (#16963)
  - fix: Use the cache for sharding (#15237) (#16902)
  - fix: enforce content type header for API requests (#16860)
    (#16877)
  - fix(appset): Use case insensitive comparison of repo details
    in appset webhook handler (#16503) (#16504)
  - fix(cli): argocd admin settings resource-overrides health to
    not ignore wildard customizations (#16461)
  - fix(repo-server): excess git requests, short-circuit
    GenerateManifests ref only (#16501)
  - fix(appset): Always remove ownerReferences when appset policy
    doesn't allow app's deletion (#12172) (#16506)
  - fix(ui): use background delete to match k8s terminology
    (#15579)
  - fix: Use math.MaxInt (instead of math.MaxInt64) to fix builds
    on 32bit platforms (#16065)
  - fix: cert-manager.io/certificate health.lua for consistent
    issuing (Issue #16523) (#16520)
  - fix(doc): Fix documentation templatePatch (#16522)
  - fix: Tooltips point in wrong direction#11935 (#12578)
  - fix(ui): add exec check to avoid API calls (#16168)
  - fix PerconaXtraDBCluster health (#16434)
  - fix(controller): Address diff cache miss issues (#16458)
  - fix(cli): pass redis compression to cluster stats and shards
    commands (#16060) (#16421)
  - fix: upgrade notifications-engine (#16354)
  - fix(ui): User Info blob is too far to the right relative to
    Applications/Settings/Documentation (#12016)
  - fix: fixed cli admin dashboard cmd (#16430)
  - fix(appset): use topics for Gitlab SCM Provider (#13169)
    (#13170)
  - fix(appset): prevent app deletion according to appset policy
    (#12172) (#15903)
  - fix: failing lint and unit test (#16275)
  - fix(appset): Fix name conflict in appset controller (#16207)
    (#16222)
  - fix(ui): summary: fix sync options block layout (#16152)
  - fix api docs (#16186)
  - fix(ui): Improve apps tiles view (#16140)
  - fix(appset): ignoreApplicationDifferences not working
    (#15965)
  - fix: rbac validate command can now take either namespace or
    policy-file (#15543)
  - fix: Add timezone to projectwindows list (#15929)
  - fix(banzai/KafkaCluster): Update health.lua (#15962)
  - fix(docs): proj role list example (#16074)
  - fix: list manually provided external urls before generated
    ones (#13296)
  - fix: Add ENV variable to configure GRPC Keep Alive Time
    (#15656) (#15806)
  - fix: delete event cache deadlock test flakiness (#15964)
  - fix(ci): unstable integration test (#15976)
  - fix: update docs for ApplicationService.Get to reflect
    reality (#15927)
  - fix: Replace antonmedv/expr with expr-lang/expr (#15879)
  - fix(notifications): Allow notifications controller to notify
    on all namespaces (#15702)
  - fix(cli): Do not error out with no errors (#15688)
  - fix: codeowners syntax error (#15781)
  - fix(appset): add option to disable SCM providers entirely
    (#14246) (#15248)
  - fix(applicationset): git generator ignores empty files
    (#15661)
  - fix(ci): misplaced config option (#15698)
  - fix(ci): do not fail fast on e2e test failures (#15694)
  * Documentation (39)
  - docs(hooks): add postdelete to table (#17048) (#17051)
  - docs(kustomize): add components yaml example (#17043)
    (#17046)
  - docs(argocd-cm): add timeout.reconciliation.jitter example
    (#17044) (#17047)
  - docs(applicationset): explain impact of empty spec in
    templatePatch (#17042) (#17045)
  - docs: add context to configmap example (#16763) (#16764)
  - docs: configmap items are strings (#16737) (#16738)
  - docs: add documentation for the argocd cluster commands
    (#16555)
  - docs: update telepresence quickstart link (#16616)
  - docs: callout the need to restart pods to pickup service
    accounts (#16610)
  - docs: fix indentation for preserve file mode (#16598)
  - docs(monitoring): add new ServiceMonitors for redis, dex,
    notifications (#16534)
  - docs: fix broken link in secret-management.md (#16588)
  - docs: Add Kong Inc. as a user (#16582)
  - docs: Fix minor typo in Declarative Setup (#16550)
  - docs: fix kustomize patches example (#16353)
  - docs: Katie as Release Champion for 2.10 and Added a column
    for Release Approver (#16341)
  - docs: update release doc and issue template (#16329)
  - docs: fix upgrade instructions (#16326)
  - docs: Add @gdsoumya to approvers in OWNERS (#16331)
  - docs: Document ApplyOutOfSyncOnly in application spec
    (#16282)
  - docs: add Axians ACSP to users (#16226)
  - docs: Ensure consistent proper case of Kubernetes (#16205)
  - docs: Add Semgrep as a user (#16185)
  - docs(cmp): Document ConfigManagementPlugin.spec.version more
    clearly (#15974)
  - docs(appset): ApplicationSets generators docs to use go
    templates (#16109) (#16127)
  - docs: added identity-center.md doc for AWS SSO (#15689)
  - docs(bounty): proposal for feature to hide anno...</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590400">- Update to version 2.10.1:
  * Bump version to 2.10.1 (#17211)
  * fix(controller): add missing workqueue metrics (#16315)
    (#17013) (#17209)
  * fix: infer correct shard in statefulset setup (#17124, #17016)
    (#17167) (#17204)
  * fix: stop initializing deployment informer if dynamic sharding
    is disabled (#17097) (#17202)
  * fix(kustomize): set build dir (#15057) #16229 #16652 (#16653)
    (#17129)
  * fix(manifests): applicationset-controller dir is not added to
    cluster-rbac/kustomization.yaml. (#16810) (#17120)
  * chore(manifests): add ClsuterRole/ClusterRoleBinding for
    applicationset controller. (#16699) (#17119)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590401">- Update to version 2.10.2:
  * chore(ci): free up disk space for goreleaser (#17373) (#17374)
  * Bump version to 2.10.2 (#17370)
  * fix(ui): The tiles in Applications List are too wide #17220
    (#17340) (#17351)
  * fix: The argocd server api-content-type flag does not allow
    empty content-type header (#17331) (#17346)
  * chore(deps): upgrade helm to 3.14.2 (#17330) (#17333)
  * Corrected certificate managment for OCI helm charts (#16656)
    (#17320)
  * chore(deps): upgrade helm to 3.14.1 (#17213) (#17216)
  * chore(deps): Upgrade aws-sdk-go to support eks pod identity
    (#17063) (#17225)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590402">- Update to version 2.10.3:
  * Bump version to 2.10.3 (#17513)
  * Merge pull request from GHSA-g623-jcgg-mhmm
  * Merge pull request from GHSA-jwv5-8mqv-g387
  * fix: multi-source app breaks application parameters UI (#16910)
    (#17033) (#17332)
  * fix!: disable rate limiting completely by default (#17355)
    (#17393)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710763200">- Update to version 2.10.4:
  * Bump version to 2.10.4 (#17557)
  * Merge pull request from GHSA-6v85-wr92-q4p7
  * Merge pull request from GHSA-2vgg-9h6w-m454
  * fix(notifications): Helm.GetParameterValueByName should take
    helm.parametes first (#17472) (#17512)
  * fix: registry argument to be only the host instead full URL
    (#17381) (#17534)
  * fix(ui): add confirmation box in resource summary delete action
    (#17485) (#17545)
  * chore(deps): upgrade helm to 3.14.3 (#17531) (#17533)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1711800000">- Update to version 2.10.5:
  * fix cosign (#17656)
  * Bump version to 2.10.5 (#17654)
  * Merge pull request from GHSA-jhwx-mhww-rgc3
  * fix: elements should be optional (#17424) (#17510)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712318400">- Update to version 2.10.6:
  * Bump version to 2.10.6 (#17744)
  * fix(security): use Chainguard fork of git-urls (#17732)
    (#17735)
  * fix: fix calculating patch for respect ignore diff feature
    (#17693)
  * fix(ui): Fix color generation for pod name in logs viewer.
    Fixes #17704 (#17706) (#17710)
  * chore(deps): bump webpack-dev-middleware from 5.3.1 to 5.3.4 in
    /ui (#17598) (#17686)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1713182400">- Update to version 2.10.7:
  * fix: docker build fails due to "The repository
    'http://deb.debian.org/debian buster-backports Release' does
    not have a Release file."
  * Bump version to 2.10.7 (#17831)
  * Merge pull request from GHSA-2gvw-w6fj-7m3c</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714132800">- Update to version 2.10.8:
  * Bump version to 2.10.8 (#17990)
  * fix: codegen after security fix - 2.10 (#17985)
  * Merge pull request from GHSA-9m6p-x4h2-6frq
  * Merge pull request from GHSA-9m6p-x4h2-6frq
  * chore: upgrade redis to 7.0.15 (#17666)
  * fix: codegen and e2e tests in release-2.10 (#17844)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714478400">- Update to version 2.10.9:
  * Bump version to 2.10.9 (#18033)
  * fix: enable sha256 and sha512 for git ssh (#18028) (#18029)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1715169600">- Update to version 2.11.0:
  Major Upgrade, please read the documentation:
  https://argo-cd.readthedocs.io/en/stable/operator-manual/upgrading/overview/</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716292800">- Update to version 2.11.1:
  * Bump version to 2.11.1 (#18319)
  * Merge pull request from GHSA-9766-5277-j5hr
  * Merge pull request from GHSA-9766-5277-j5hr
  * fix: UI MultiSource - Helm Chart with values.yaml (#18188)
    (#18200)
  * fix: copy visited map #11699 (#12667) (#18219)
  * update resolveRevision to use the correct source for
    multi-source app (#18194) (#18202)
  * Fix logging hash with multiple sources (#18189) (#18193)
  * chore(deps): upgrade helm to 3.14.4 (#18255) (#18286)
  * chore(deps): cherry-pick bump protobuf #17788 (#18284)
  * chore: update gitops engine for force sync option (#5882) -
    2.11 (#18125)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716465600">- Update to version 2.11.2:
  * Bump version to 2.11.2 (#18384)
  * fix: remove Egress NetworkPolicy for argocd-redis and
    argocd-redis-ha-haproxy (#18367) (#18372)
  * fix: revert registry change (#18328)
  * fix(deps): upgrade otel dependency (#18285) (#18324)
  * docs: add v2.11 notes to upgrading page (#18333)
  * chore(ci): fix release notes (#18132) (#18330)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1717761600">- Update to version 2.11.3:
  * Bump version to 2.11.3 (#18520)
  * Merge pull request from GHSA-3cqf-953p-h5cp
  * Merge pull request from GHSA-87p9-x75h-p4j2
  * fix: app names with non-alphanumeric characters in position 63
    break syncs (issue #18237) (#18256) (#18439)
  * fix source ordering issue in manifest generation for
    multi-source app while using manifests and diff commands
    (#18395) (#18408)</changelog>
</package>
<package pkgid="1ddd8e239eca176468b7072e56d8c64b8dab9ebd57d1db9c8caab9538a499f94a388bebad71b45a7962740c96b60c0b6bdd38904a2c810f79a3eda2456227e9b" name="argocd-cli-zsh-completion" arch="noarch">
  <version epoch="0" ver="2.11.3" rel="1.0.2.1.sr20240605"/>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1700222400">- new package argocd-cli: CLI for the ArgoCD declarative continuous
  deployment tool</changelog>
  <changelog author="kastl@b1-systems.de" date="1700568000">- Update to version 2.9.2:
  * Bump version to 2.9.2 (#16405)
  * feat: add support for ALL_PROXY (#10451) (#16401)
  * fix: set max for max cookie number to `math.MaxInt` (#16388)
    (#16397)
  * docs: fix documentation of ignoreApplicationDifferences
    (#16365) (#16380)
  * bump helm 3.13.2 (#16344)
  * fix: check for double definition (#16335)
  * docs: fix upgrade instructions (#16327)</changelog>
  <changelog author="kastl@b1-systems.de" date="1701604800">- Update to version 2.9.3:
  * Bump version to 2.9.3 (#16510)
  * fix(repo-server): excess git requests, resolveReferencedSources
    and runManifestGenAsync not using cache (Issue #14725) (#16410)
    (#16494)
  * fix(controller): Address diff cache miss issues (#16458)
    (#16485)
  * fix: cherry-pick fixed cli admin dashboard cmd (#16457)
  * fix(ui): Issues with overlapping content in the app details
    view on smaller screens (#16268) (#16407)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705752000">- Update to version 2.9.4:
  * Bump version to 2.9.4 (#16917)
  * chore(deps): bump github.com/go-git/go-git/v5 from 5.8.1 to
    5.11.0 (#16912)
  * fix: enforce content type header for API requests (#16860)
    (Cherry-pick release-2.9 ) (#16878)
  * fix: add list permission deployments (#16785) (#16804)
  * fix(ui):Fixed log horizontal scroll for issue #16411 (#16727)
    (#16761)
  * fix(action): Add missing owner refs and annotation to
    create-job action (#16607) (#16608)
  * Added missing 'alias:' prefix for repository name as described
    here: (#15902) (#16535)
  * fix(grpcproxy): add missing GRPCKeepAliveEnforcementMinimum
    (#15708) (#16576)
  * fix(appset): don't emit k8s events for unchanged apps, log at
    debug (#16562)
  * docs: Fix format issue in rbac.md (#16521) (#16538)
  * chore: upgrade k8s client from v0.24.2 to v0.24.17 (#16554)
  * fix(appset): Don't use revision cache when reconciling after
    webhook (#16062) (#16241) (#16536)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1705752001">- Update to version 2.9.5:
  * Bump version to 2.9.5 (#16937)
  * fix(ui): set content-type for certain UI requests (#16923)
    (#16930) (#16933)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706961600">- Update to version 2.9.6:
  * Bump version to 2.9.6 (#17078)
  * chore(deps): rm go-jose Cxb6dee8d5-b814 high vuln (#16947)
    (#16970) (#17056)
  * fix(redis): go-redis v9 regression missing metrics and
    reconnect hook (#13415) (#15275) (#17024)
  * fix(ui): Badge for apps in any namespace (#16739) (#17008)
  * fix(server): allow disabling content-type check (#16959)
    (#16977)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1707912000">- Update to version 2.10.0:
  * Known Issues
  - 2.10.0 has a major issue in application controller running in
    HA mode. A fix will be in 2.10.1.
  * Changes
  - feat(controller): add sync jitter(#14241) (#16820) (#16960)
  - feat(ui): add status panel extensions (#15780)
  - feat: Implement Server-Side Diff (#13663)
  - feat(ui): Show prompt when every resource requires pruning
    (#16603)
  - feat: PostDelete hook support (#16595)
  - feat(security): log user when access is blocked (#16558)
  - feat(ui): Add sourceNamespaces in Projects UI and only show
    it if AppsInAnyNamespaceEnabled flag is set (#16249)
  - feat(appset): Advanced Templating using templatePatch
    (#14893)
  - feat: Argocd notification self service (#16488)
  - feat(cli): Added example to admin-cluster.go and
    projectwindow.go files (#16128)
  - feat(server): log app Spec along with event (#16416)
  - feat(opentelemetry): ✨ support for secured OTLP endpoint and
    headers (#15573)
  - feat(oidc): optionally query OIDC UserInfo to gather group
    claims (#12062)
  - feat(app): Support app sync --dry-run --revision
    some-revision with arbitrary revisions(#12592) (#16387)
  - feat: add support for ALL_PROXY (#10451)
  - feat(appset): Added 'slugify' sprig function (#15188)
  - feat: Support for Kustomize Components (#16230)
  - feat: add retry logic for k8s client #7692 (#16154)
  - feat: grace period for repo errors to prevent aggressive
    unknown sync state (#16085)
  - feat: add examples to --help output for admin.go file
    (#16030)
  - feat: add examples to --help ouput for argocd_server.go file
    (#16032)
  - feat: Allow 'both' option for uibannerposition (#14623)
  - feat: PKCE authentication flow for web logins #9890 (#15889)
  - feat(cli): example for generate-allow-list (#16136)
  - feat(cli): Add examples to --help output for get KEYID
    (#16019)
  - feat(cli): Add examples to --help output for "gpg_list"
    (#16017)
  - feat: Add examples to --help output for remaining "create
    PROJECT ROLE-NAME" (#15983)
  - feat(cli): Add examples to argocd proj role cli family
    (#15875)
  - feat(cli): add admin-app-example (#15690) (#15861)
  - feat(cli): add project flag to avoid permission denied errors
    on 404 (#16040)
  - feat: expose notification secrets for request payload
    templating (#16055)
  - feat: make git requests configurable (#15646)
  - feat: add write back to application informer (#15987)
  - feat(cli): Add examples to --help output for "list PROJECT"
    (#16033)
  - feat(cli): Add examples to --help output for "gpg add"
    (#16020)
  - feat(ui): Recursive Helm Values files detection (#15935)
    (#15936)
  - feat: use rate limited queue (#15480)
  - feat: Add examples to --help output for remaining "get
    APPNAME" (#15862)
  - feat(cli): add the repocred-list-example (#15690) (#15869)
  - feat(cli): add the cluster-list-example (#15690) (#15866)
  - feat: Add examples to --help output for "delete PROJECT
    ROLE-NAME" (#15986)
  - feat(cli): Add examples to projectwindows.go (#15860)
  - feat(health): add iammanager.keikoproj.io/Iamrole health
    check (#15899)
  - feat: Add examples to --help output for "generate-spec
    PROJECT" (#15871)
  - feat(cli): add the repo-example (#15690) (#15865)
  - feat(cli): Add examples to --help output for "set APPNAME"
    (#15872)
  - feat(cli): Add examples to --help output for "logs APPNAME"
    (#15873)
  - feat(cli): Add example to argocd relogin command (#15839)
  - feat: Add examples to --help output for all "argocd proj"
    cmds (#15824)
  - feat(cli): Added example to --help output for bcrypt (#15838)
  - feat(cli): Add example to --help output for app actions
    (#15822)
  - feat(cli): Add examples to --help output for remaining
    "argocd account" (#15814)
  - feat(cli): Add examples to --help output for remaining
    "argocd repocreds" cmds (#15846)
  - feat(cli): Add example to --help output 1 (#15782)
  - feat(cli): Added example to --help output for context
    (#15809)
  - feat(ci): retry individual e2e tests (#15696)
  * Bug fixes (47)
  - fix(ci): correct helm checksum path (#17081) (#17083)
  - fix(controller): fix application controller deployment
    crashing (#16984) (#17093)
  - fix(server): allow disabling content-type check (#16959)
    (#16976)
  - fix(appcontroller): Uptake fix in gitops engine which fixes
    application sync with auto create ns and server side apply
    (#16942) (#16963)
  - fix: Use the cache for sharding (#15237) (#16902)
  - fix: enforce content type header for API requests (#16860)
    (#16877)
  - fix(appset): Use case insensitive comparison of repo details
    in appset webhook handler (#16503) (#16504)
  - fix(cli): argocd admin settings resource-overrides health to
    not ignore wildard customizations (#16461)
  - fix(repo-server): excess git requests, short-circuit
    GenerateManifests ref only (#16501)
  - fix(appset): Always remove ownerReferences when appset policy
    doesn't allow app's deletion (#12172) (#16506)
  - fix(ui): use background delete to match k8s terminology
    (#15579)
  - fix: Use math.MaxInt (instead of math.MaxInt64) to fix builds
    on 32bit platforms (#16065)
  - fix: cert-manager.io/certificate health.lua for consistent
    issuing (Issue #16523) (#16520)
  - fix(doc): Fix documentation templatePatch (#16522)
  - fix: Tooltips point in wrong direction#11935 (#12578)
  - fix(ui): add exec check to avoid API calls (#16168)
  - fix PerconaXtraDBCluster health (#16434)
  - fix(controller): Address diff cache miss issues (#16458)
  - fix(cli): pass redis compression to cluster stats and shards
    commands (#16060) (#16421)
  - fix: upgrade notifications-engine (#16354)
  - fix(ui): User Info blob is too far to the right relative to
    Applications/Settings/Documentation (#12016)
  - fix: fixed cli admin dashboard cmd (#16430)
  - fix(appset): use topics for Gitlab SCM Provider (#13169)
    (#13170)
  - fix(appset): prevent app deletion according to appset policy
    (#12172) (#15903)
  - fix: failing lint and unit test (#16275)
  - fix(appset): Fix name conflict in appset controller (#16207)
    (#16222)
  - fix(ui): summary: fix sync options block layout (#16152)
  - fix api docs (#16186)
  - fix(ui): Improve apps tiles view (#16140)
  - fix(appset): ignoreApplicationDifferences not working
    (#15965)
  - fix: rbac validate command can now take either namespace or
    policy-file (#15543)
  - fix: Add timezone to projectwindows list (#15929)
  - fix(banzai/KafkaCluster): Update health.lua (#15962)
  - fix(docs): proj role list example (#16074)
  - fix: list manually provided external urls before generated
    ones (#13296)
  - fix: Add ENV variable to configure GRPC Keep Alive Time
    (#15656) (#15806)
  - fix: delete event cache deadlock test flakiness (#15964)
  - fix(ci): unstable integration test (#15976)
  - fix: update docs for ApplicationService.Get to reflect
    reality (#15927)
  - fix: Replace antonmedv/expr with expr-lang/expr (#15879)
  - fix(notifications): Allow notifications controller to notify
    on all namespaces (#15702)
  - fix(cli): Do not error out with no errors (#15688)
  - fix: codeowners syntax error (#15781)
  - fix(appset): add option to disable SCM providers entirely
    (#14246) (#15248)
  - fix(applicationset): git generator ignores empty files
    (#15661)
  - fix(ci): misplaced config option (#15698)
  - fix(ci): do not fail fast on e2e test failures (#15694)
  * Documentation (39)
  - docs(hooks): add postdelete to table (#17048) (#17051)
  - docs(kustomize): add components yaml example (#17043)
    (#17046)
  - docs(argocd-cm): add timeout.reconciliation.jitter example
    (#17044) (#17047)
  - docs(applicationset): explain impact of empty spec in
    templatePatch (#17042) (#17045)
  - docs: add context to configmap example (#16763) (#16764)
  - docs: configmap items are strings (#16737) (#16738)
  - docs: add documentation for the argocd cluster commands
    (#16555)
  - docs: update telepresence quickstart link (#16616)
  - docs: callout the need to restart pods to pickup service
    accounts (#16610)
  - docs: fix indentation for preserve file mode (#16598)
  - docs(monitoring): add new ServiceMonitors for redis, dex,
    notifications (#16534)
  - docs: fix broken link in secret-management.md (#16588)
  - docs: Add Kong Inc. as a user (#16582)
  - docs: Fix minor typo in Declarative Setup (#16550)
  - docs: fix kustomize patches example (#16353)
  - docs: Katie as Release Champion for 2.10 and Added a column
    for Release Approver (#16341)
  - docs: update release doc and issue template (#16329)
  - docs: fix upgrade instructions (#16326)
  - docs: Add @gdsoumya to approvers in OWNERS (#16331)
  - docs: Document ApplyOutOfSyncOnly in application spec
    (#16282)
  - docs: add Axians ACSP to users (#16226)
  - docs: Ensure consistent proper case of Kubernetes (#16205)
  - docs: Add Semgrep as a user (#16185)
  - docs(cmp): Document ConfigManagementPlugin.spec.version more
    clearly (#15974)
  - docs(appset): ApplicationSets generators docs to use go
    templates (#16109) (#16127)
  - docs: added identity-center.md doc for AWS SSO (#15689)
  - docs(bounty): proposal for feature to hide anno...</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590400">- Update to version 2.10.1:
  * Bump version to 2.10.1 (#17211)
  * fix(controller): add missing workqueue metrics (#16315)
    (#17013) (#17209)
  * fix: infer correct shard in statefulset setup (#17124, #17016)
    (#17167) (#17204)
  * fix: stop initializing deployment informer if dynamic sharding
    is disabled (#17097) (#17202)
  * fix(kustomize): set build dir (#15057) #16229 #16652 (#16653)
    (#17129)
  * fix(manifests): applicationset-controller dir is not added to
    cluster-rbac/kustomization.yaml. (#16810) (#17120)
  * chore(manifests): add ClsuterRole/ClusterRoleBinding for
    applicationset controller. (#16699) (#17119)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590401">- Update to version 2.10.2:
  * chore(ci): free up disk space for goreleaser (#17373) (#17374)
  * Bump version to 2.10.2 (#17370)
  * fix(ui): The tiles in Applications List are too wide #17220
    (#17340) (#17351)
  * fix: The argocd server api-content-type flag does not allow
    empty content-type header (#17331) (#17346)
  * chore(deps): upgrade helm to 3.14.2 (#17330) (#17333)
  * Corrected certificate managment for OCI helm charts (#16656)
    (#17320)
  * chore(deps): upgrade helm to 3.14.1 (#17213) (#17216)
  * chore(deps): Upgrade aws-sdk-go to support eks pod identity
    (#17063) (#17225)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590402">- Update to version 2.10.3:
  * Bump version to 2.10.3 (#17513)
  * Merge pull request from GHSA-g623-jcgg-mhmm
  * Merge pull request from GHSA-jwv5-8mqv-g387
  * fix: multi-source app breaks application parameters UI (#16910)
    (#17033) (#17332)
  * fix!: disable rate limiting completely by default (#17355)
    (#17393)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710763200">- Update to version 2.10.4:
  * Bump version to 2.10.4 (#17557)
  * Merge pull request from GHSA-6v85-wr92-q4p7
  * Merge pull request from GHSA-2vgg-9h6w-m454
  * fix(notifications): Helm.GetParameterValueByName should take
    helm.parametes first (#17472) (#17512)
  * fix: registry argument to be only the host instead full URL
    (#17381) (#17534)
  * fix(ui): add confirmation box in resource summary delete action
    (#17485) (#17545)
  * chore(deps): upgrade helm to 3.14.3 (#17531) (#17533)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1711800000">- Update to version 2.10.5:
  * fix cosign (#17656)
  * Bump version to 2.10.5 (#17654)
  * Merge pull request from GHSA-jhwx-mhww-rgc3
  * fix: elements should be optional (#17424) (#17510)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712318400">- Update to version 2.10.6:
  * Bump version to 2.10.6 (#17744)
  * fix(security): use Chainguard fork of git-urls (#17732)
    (#17735)
  * fix: fix calculating patch for respect ignore diff feature
    (#17693)
  * fix(ui): Fix color generation for pod name in logs viewer.
    Fixes #17704 (#17706) (#17710)
  * chore(deps): bump webpack-dev-middleware from 5.3.1 to 5.3.4 in
    /ui (#17598) (#17686)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1713182400">- Update to version 2.10.7:
  * fix: docker build fails due to "The repository
    'http://deb.debian.org/debian buster-backports Release' does
    not have a Release file."
  * Bump version to 2.10.7 (#17831)
  * Merge pull request from GHSA-2gvw-w6fj-7m3c</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714132800">- Update to version 2.10.8:
  * Bump version to 2.10.8 (#17990)
  * fix: codegen after security fix - 2.10 (#17985)
  * Merge pull request from GHSA-9m6p-x4h2-6frq
  * Merge pull request from GHSA-9m6p-x4h2-6frq
  * chore: upgrade redis to 7.0.15 (#17666)
  * fix: codegen and e2e tests in release-2.10 (#17844)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714478400">- Update to version 2.10.9:
  * Bump version to 2.10.9 (#18033)
  * fix: enable sha256 and sha512 for git ssh (#18028) (#18029)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1715169600">- Update to version 2.11.0:
  Major Upgrade, please read the documentation:
  https://argo-cd.readthedocs.io/en/stable/operator-manual/upgrading/overview/</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716292800">- Update to version 2.11.1:
  * Bump version to 2.11.1 (#18319)
  * Merge pull request from GHSA-9766-5277-j5hr
  * Merge pull request from GHSA-9766-5277-j5hr
  * fix: UI MultiSource - Helm Chart with values.yaml (#18188)
    (#18200)
  * fix: copy visited map #11699 (#12667) (#18219)
  * update resolveRevision to use the correct source for
    multi-source app (#18194) (#18202)
  * Fix logging hash with multiple sources (#18189) (#18193)
  * chore(deps): upgrade helm to 3.14.4 (#18255) (#18286)
  * chore(deps): cherry-pick bump protobuf #17788 (#18284)
  * chore: update gitops engine for force sync option (#5882) -
    2.11 (#18125)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1716465600">- Update to version 2.11.2:
  * Bump version to 2.11.2 (#18384)
  * fix: remove Egress NetworkPolicy for argocd-redis and
    argocd-redis-ha-haproxy (#18367) (#18372)
  * fix: revert registry change (#18328)
  * fix(deps): upgrade otel dependency (#18285) (#18324)
  * docs: add v2.11 notes to upgrading page (#18333)
  * chore(ci): fix release notes (#18132) (#18330)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1717761600">- Update to version 2.11.3:
  * Bump version to 2.11.3 (#18520)
  * Merge pull request from GHSA-3cqf-953p-h5cp
  * Merge pull request from GHSA-87p9-x75h-p4j2
  * fix: app names with non-alphanumeric characters in position 63
    break syncs (issue #18237) (#18256) (#18439)
  * fix source ordering issue in manifest generation for
    multi-source app while using manifests and diff commands
    (#18395) (#18408)</changelog>
</package>
<package pkgid="e7ca19bc05af7d6776b910bafe4dd89e90a44f6f403b2b1c965ab8666140c8152fc15fde3303582370f6799a57e27833629c5e41c230059e58157e84ced1af01" name="arianna" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681473600">- Initial version</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681646400">- Add kirigami-addons to runtime dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1682251200">- Update to 1.0.1
  * Fix opening book with # or ? in their name
  * Fix keyboard navigation issues in library view
  * Clarify licensing of epub.js
  * Bump dependency on kirigami-addons to 0.8
  * Only set title if the list is not empty
  * Don't use processEvents</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686484800">- Update to 1.1.0
  * Arianna can now display the table of content of a book
  * File metadata are now available
  * Fix: A network connection is no longer required
  * Fixed various crashes when indexing books</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- Changes since 23.07.90:
  * Fix inconsistency in the sidebar</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Add dbus slot.
  * Add ecm package as it requires newer than content pack provides.
  * Add snapcraft file to resue
  * snapcraft: add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * CI: Comment out flatpak as it uses some KF6 dependencies
  * snapcraft: bump content pack version, remove deps now in content pack.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1702641600">- Require extra-cmake-modules at build time</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: Switch to non-preview runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Complement org.kde.arianna.appdata.xml
  * flatpak: Switch to non-preview runtime
  * Use local include
  * Use socket=fallback-x11
  * Use tag in flatpak manifest</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="f2e8982e53b00bfe2fc2664b9d05455f3fb845efdec4ad8a62f976f42dba98391407e08b77b716276f34fb47c81e510d7f8ea68cd60cabd6c3dfa9d3aa6a7183" name="arianna" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681473600">- Initial version</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681646400">- Add kirigami-addons to runtime dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1682251200">- Update to 1.0.1
  * Fix opening book with # or ? in their name
  * Fix keyboard navigation issues in library view
  * Clarify licensing of epub.js
  * Bump dependency on kirigami-addons to 0.8
  * Only set title if the list is not empty
  * Don't use processEvents</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686484800">- Update to 1.1.0
  * Arianna can now display the table of content of a book
  * File metadata are now available
  * Fix: A network connection is no longer required
  * Fixed various crashes when indexing books</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- Changes since 23.07.90:
  * Fix inconsistency in the sidebar</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Add dbus slot.
  * Add ecm package as it requires newer than content pack provides.
  * Add snapcraft file to resue
  * snapcraft: add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * CI: Comment out flatpak as it uses some KF6 dependencies
  * snapcraft: bump content pack version, remove deps now in content pack.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1702641600">- Require extra-cmake-modules at build time</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: Switch to non-preview runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Complement org.kde.arianna.appdata.xml
  * flatpak: Switch to non-preview runtime
  * Use local include
  * Use socket=fallback-x11
  * Use tag in flatpak manifest</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="3bd0ca02aaa77170acddb31270acf80a06d7c35bb459d2178310a16338fe117803803d78f56a984e854a1f94e8fc7ba5a6980a9770b02f900422cfb6359f6638" name="arianna-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681473600">- Initial version</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681646400">- Add kirigami-addons to runtime dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1682251200">- Update to 1.0.1
  * Fix opening book with # or ? in their name
  * Fix keyboard navigation issues in library view
  * Clarify licensing of epub.js
  * Bump dependency on kirigami-addons to 0.8
  * Only set title if the list is not empty
  * Don't use processEvents</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686484800">- Update to 1.1.0
  * Arianna can now display the table of content of a book
  * File metadata are now available
  * Fix: A network connection is no longer required
  * Fixed various crashes when indexing books</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- Changes since 23.07.90:
  * Fix inconsistency in the sidebar</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Add dbus slot.
  * Add ecm package as it requires newer than content pack provides.
  * Add snapcraft file to resue
  * snapcraft: add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * CI: Comment out flatpak as it uses some KF6 dependencies
  * snapcraft: bump content pack version, remove deps now in content pack.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1702641600">- Require extra-cmake-modules at build time</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: Switch to non-preview runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Complement org.kde.arianna.appdata.xml
  * flatpak: Switch to non-preview runtime
  * Use local include
  * Use socket=fallback-x11
  * Use tag in flatpak manifest</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="167fc8b5072acba0c0c0986b11affade2bf32bcd9bb5fe85be5154d56b2afb2016f37eeffc7492d0c6ef0df1f1c1565e38b0474817ee9be19dc439eff6495326" name="arianna-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681473600">- Initial version</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681646400">- Add kirigami-addons to runtime dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1682251200">- Update to 1.0.1
  * Fix opening book with # or ? in their name
  * Fix keyboard navigation issues in library view
  * Clarify licensing of epub.js
  * Bump dependency on kirigami-addons to 0.8
  * Only set title if the list is not empty
  * Don't use processEvents</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686484800">- Update to 1.1.0
  * Arianna can now display the table of content of a book
  * File metadata are now available
  * Fix: A network connection is no longer required
  * Fixed various crashes when indexing books</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- Changes since 23.07.90:
  * Fix inconsistency in the sidebar</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Add dbus slot.
  * Add ecm package as it requires newer than content pack provides.
  * Add snapcraft file to resue
  * snapcraft: add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * CI: Comment out flatpak as it uses some KF6 dependencies
  * snapcraft: bump content pack version, remove deps now in content pack.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1702641600">- Require extra-cmake-modules at build time</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: Switch to non-preview runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Complement org.kde.arianna.appdata.xml
  * flatpak: Switch to non-preview runtime
  * Use local include
  * Use socket=fallback-x11
  * Use tag in flatpak manifest</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="e0e80924a9c327d91b3cfd8f93e805039b83380754f9bc8aa9e28cb6ab155e26826b867cf85f0c678dae4316224bc1052e0a4a02cf7b8de51a348a2041e7a5a9" name="arianna-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681473600">- Initial version</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681646400">- Add kirigami-addons to runtime dependencies</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1682251200">- Update to 1.0.1
  * Fix opening book with # or ? in their name
  * Fix keyboard navigation issues in library view
  * Clarify licensing of epub.js
  * Bump dependency on kirigami-addons to 0.8
  * Only set title if the list is not empty
  * Don't use processEvents</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686484800">- Update to 1.1.0
  * Arianna can now display the table of content of a book
  * File metadata are now available
  * Fix: A network connection is no longer required
  * Fixed various crashes when indexing books</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- Changes since 23.07.90:
  * Fix inconsistency in the sidebar</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Add dbus slot.
  * Add ecm package as it requires newer than content pack provides.
  * Add snapcraft file to resue
  * snapcraft: add snapcraft files</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * CI: Comment out flatpak as it uses some KF6 dependencies
  * snapcraft: bump content pack version, remove deps now in content pack.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1702641600">- Require extra-cmake-modules at build time</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: Switch to non-preview runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Complement org.kde.arianna.appdata.xml
  * flatpak: Switch to non-preview runtime
  * Use local include
  * Use socket=fallback-x11
  * Use tag in flatpak manifest</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="babd23178c18bd8028fbecea8d040241f32b22d7e9781fbe0f4e30b5e8d102ff2215bb812c8f4c19a1e5840f1c69aebaaf94b21b0deed16d716f9cd83fb9aa56" name="ark" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- Changes since 23.04.1:
  * lastPathSegment: don't strip slash if it is the only character in the path (kde#469795)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure welcomeview messages are extracted (kde#472341)
  * Port QString::count() which is deprecated in qt6
  * Disable doc build for Qt6 for now
  * Adjust CI to KF6
  * Adapt part metadata handling to KF6
  * Adapt part factory to KF6
  * Remove unused include
  * Convert desktop file metadata to JSON for KF6
  * Allow building against KF6 libs
  * doc: usa a non-deprecated entity in the man page
  * loadtest: add test for a simple static library
  * loadtest: test number of entries
  * lastPathSegment: don't strip slash if it is the only character in the path (kde#469795)
  * Update homepage URL to https://apps.kde.org/ark (kde#469583)
  * Port sidebar to QDockWidget
  * Small code improvements
  * Fix leaking actions
  * Call showWelcomeScreen() only when needed
  * Bump KF_MIN_VERSION to 5.101
  * New welcome screen UI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: put rar in list.
  * snapcraft: rar in amd64 only.
  * snapcraft: set qt plugin path in build and runtime env.
  * snapcraft: Initial add file
  * Drop unused ItemModels dependency
  * Add missing KWindowSystem dependency</changelog>
  <changelog author="Fabian Vogt &lt;fabian@ritter-vogt.de&gt;" date="1697284800">- Add patch to fix bzip2 support with shared-mime-info &gt;= 2.3:
  * 0001-Fix-support-for-bzip2-format-with-shared-mime-info-2.patch
- Drop patch, not necessary since Leap 15.2:
  * 0001-Support-building-against-libarchive-3.3.2-again.patch</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Fix opening of AppImage files
  * Fix checks using old ISO mimetype
  * Don't hardcode bzip2 mimetype in tests
  * Fix support for bzip2 format with shared-mime-info 2.3
  * Explicitly support new application/vnd.efi.iso mimetype
  * snapcraft: bump content pack version.
- Drop patch, merged upstream:
  * 0001-Fix-support-for-bzip2-format-with-shared-mime-info-2.patch</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Specify umask for permission tests
  * cli7zplugin: improve compatibility with original 7-Zip</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Don't rely on qtpaths for kconf_update scripts
  * Specify umask for permission tests</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * clirartest: drop addArgs test for RAR4
  * clirarplugin: disable RAR4 compression method (kde#483748)
  * Make clang-format happy
  * Remove documentation that doesn't compile</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * clirarplugin: disable RAR4 compression method (kde#483748)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against Qt::DBus</changelog>
</package>
<package pkgid="b7083fe904b6bee4c4b150a22a2f9f8d78a1d5226ff9aae5ad5d15ff724e93c659710e6b8b2eed5a63cae6e3328155b9bc994d96c91e85b8b2294f9dd631efc2" name="ark" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- Changes since 23.04.1:
  * lastPathSegment: don't strip slash if it is the only character in the path (kde#469795)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure welcomeview messages are extracted (kde#472341)
  * Port QString::count() which is deprecated in qt6
  * Disable doc build for Qt6 for now
  * Adjust CI to KF6
  * Adapt part metadata handling to KF6
  * Adapt part factory to KF6
  * Remove unused include
  * Convert desktop file metadata to JSON for KF6
  * Allow building against KF6 libs
  * doc: usa a non-deprecated entity in the man page
  * loadtest: add test for a simple static library
  * loadtest: test number of entries
  * lastPathSegment: don't strip slash if it is the only character in the path (kde#469795)
  * Update homepage URL to https://apps.kde.org/ark (kde#469583)
  * Port sidebar to QDockWidget
  * Small code improvements
  * Fix leaking actions
  * Call showWelcomeScreen() only when needed
  * Bump KF_MIN_VERSION to 5.101
  * New welcome screen UI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: put rar in list.
  * snapcraft: rar in amd64 only.
  * snapcraft: set qt plugin path in build and runtime env.
  * snapcraft: Initial add file
  * Drop unused ItemModels dependency
  * Add missing KWindowSystem dependency</changelog>
  <changelog author="Fabian Vogt &lt;fabian@ritter-vogt.de&gt;" date="1697284800">- Add patch to fix bzip2 support with shared-mime-info &gt;= 2.3:
  * 0001-Fix-support-for-bzip2-format-with-shared-mime-info-2.patch
- Drop patch, not necessary since Leap 15.2:
  * 0001-Support-building-against-libarchive-3.3.2-again.patch</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Fix opening of AppImage files
  * Fix checks using old ISO mimetype
  * Don't hardcode bzip2 mimetype in tests
  * Fix support for bzip2 format with shared-mime-info 2.3
  * Explicitly support new application/vnd.efi.iso mimetype
  * snapcraft: bump content pack version.
- Drop patch, merged upstream:
  * 0001-Fix-support-for-bzip2-format-with-shared-mime-info-2.patch</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Specify umask for permission tests
  * cli7zplugin: improve compatibility with original 7-Zip</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Don't rely on qtpaths for kconf_update scripts
  * Specify umask for permission tests</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * clirartest: drop addArgs test for RAR4
  * clirarplugin: disable RAR4 compression method (kde#483748)
  * Make clang-format happy
  * Remove documentation that doesn't compile</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * clirarplugin: disable RAR4 compression method (kde#483748)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against Qt::DBus</changelog>
</package>
<package pkgid="d9a2a8650a4088136fa8a739eb235869226ee77e30d0f770f09da3dec9dec16d19c1e92aef43aedf203e78476d438ac761a68e8e17bdc21c2197b4f4dd2e15ba" name="ark-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- Changes since 23.04.1:
  * lastPathSegment: don't strip slash if it is the only character in the path (kde#469795)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure welcomeview messages are extracted (kde#472341)
  * Port QString::count() which is deprecated in qt6
  * Disable doc build for Qt6 for now
  * Adjust CI to KF6
  * Adapt part metadata handling to KF6
  * Adapt part factory to KF6
  * Remove unused include
  * Convert desktop file metadata to JSON for KF6
  * Allow building against KF6 libs
  * doc: usa a non-deprecated entity in the man page
  * loadtest: add test for a simple static library
  * loadtest: test number of entries
  * lastPathSegment: don't strip slash if it is the only character in the path (kde#469795)
  * Update homepage URL to https://apps.kde.org/ark (kde#469583)
  * Port sidebar to QDockWidget
  * Small code improvements
  * Fix leaking actions
  * Call showWelcomeScreen() only when needed
  * Bump KF_MIN_VERSION to 5.101
  * New welcome screen UI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: put rar in list.
  * snapcraft: rar in amd64 only.
  * snapcraft: set qt plugin path in build and runtime env.
  * snapcraft: Initial add file
  * Drop unused ItemModels dependency
  * Add missing KWindowSystem dependency</changelog>
  <changelog author="Fabian Vogt &lt;fabian@ritter-vogt.de&gt;" date="1697284800">- Add patch to fix bzip2 support with shared-mime-info &gt;= 2.3:
  * 0001-Fix-support-for-bzip2-format-with-shared-mime-info-2.patch
- Drop patch, not necessary since Leap 15.2:
  * 0001-Support-building-against-libarchive-3.3.2-again.patch</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Fix opening of AppImage files
  * Fix checks using old ISO mimetype
  * Don't hardcode bzip2 mimetype in tests
  * Fix support for bzip2 format with shared-mime-info 2.3
  * Explicitly support new application/vnd.efi.iso mimetype
  * snapcraft: bump content pack version.
- Drop patch, merged upstream:
  * 0001-Fix-support-for-bzip2-format-with-shared-mime-info-2.patch</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Specify umask for permission tests
  * cli7zplugin: improve compatibility with original 7-Zip</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Don't rely on qtpaths for kconf_update scripts
  * Specify umask for permission tests</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * clirartest: drop addArgs test for RAR4
  * clirarplugin: disable RAR4 compression method (kde#483748)
  * Make clang-format happy
  * Remove documentation that doesn't compile</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * clirarplugin: disable RAR4 compression method (kde#483748)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against Qt::DBus</changelog>
</package>
<package pkgid="f6dbda766bca689c73d1b5de4c86ced556f356dfd6a24f2edaa313459b465240d6ef489f95675ebe63b90e5ad7f4d6fe42e140b249b12720389dbbf004c36ada" name="ark-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- Changes since 23.04.1:
  * lastPathSegment: don't strip slash if it is the only character in the path (kde#469795)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure welcomeview messages are extracted (kde#472341)
  * Port QString::count() which is deprecated in qt6
  * Disable doc build for Qt6 for now
  * Adjust CI to KF6
  * Adapt part metadata handling to KF6
  * Adapt part factory to KF6
  * Remove unused include
  * Convert desktop file metadata to JSON for KF6
  * Allow building against KF6 libs
  * doc: usa a non-deprecated entity in the man page
  * loadtest: add test for a simple static library
  * loadtest: test number of entries
  * lastPathSegment: don't strip slash if it is the only character in the path (kde#469795)
  * Update homepage URL to https://apps.kde.org/ark (kde#469583)
  * Port sidebar to QDockWidget
  * Small code improvements
  * Fix leaking actions
  * Call showWelcomeScreen() only when needed
  * Bump KF_MIN_VERSION to 5.101
  * New welcome screen UI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: put rar in list.
  * snapcraft: rar in amd64 only.
  * snapcraft: set qt plugin path in build and runtime env.
  * snapcraft: Initial add file
  * Drop unused ItemModels dependency
  * Add missing KWindowSystem dependency</changelog>
  <changelog author="Fabian Vogt &lt;fabian@ritter-vogt.de&gt;" date="1697284800">- Add patch to fix bzip2 support with shared-mime-info &gt;= 2.3:
  * 0001-Fix-support-for-bzip2-format-with-shared-mime-info-2.patch
- Drop patch, not necessary since Leap 15.2:
  * 0001-Support-building-against-libarchive-3.3.2-again.patch</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Fix opening of AppImage files
  * Fix checks using old ISO mimetype
  * Don't hardcode bzip2 mimetype in tests
  * Fix support for bzip2 format with shared-mime-info 2.3
  * Explicitly support new application/vnd.efi.iso mimetype
  * snapcraft: bump content pack version.
- Drop patch, merged upstream:
  * 0001-Fix-support-for-bzip2-format-with-shared-mime-info-2.patch</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Specify umask for permission tests
  * cli7zplugin: improve compatibility with original 7-Zip</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Don't rely on qtpaths for kconf_update scripts
  * Specify umask for permission tests</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * clirartest: drop addArgs test for RAR4
  * clirarplugin: disable RAR4 compression method (kde#483748)
  * Make clang-format happy
  * Remove documentation that doesn't compile</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * clirarplugin: disable RAR4 compression method (kde#483748)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against Qt::DBus</changelog>
</package>
<package pkgid="8e98f3d54f65d95b9e5e67e4806c1b461eb21f763a8d88493344e726faf9f6d613b991a15842cd46d8dc8c4bace275dad6db7c16b5694f0e709971426f5835cf" name="ark-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- Changes since 23.04.1:
  * lastPathSegment: don't strip slash if it is the only character in the path (kde#469795)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make sure welcomeview messages are extracted (kde#472341)
  * Port QString::count() which is deprecated in qt6
  * Disable doc build for Qt6 for now
  * Adjust CI to KF6
  * Adapt part metadata handling to KF6
  * Adapt part factory to KF6
  * Remove unused include
  * Convert desktop file metadata to JSON for KF6
  * Allow building against KF6 libs
  * doc: usa a non-deprecated entity in the man page
  * loadtest: add test for a simple static library
  * loadtest: test number of entries
  * lastPathSegment: don't strip slash if it is the only character in the path (kde#469795)
  * Update homepage URL to https://apps.kde.org/ark (kde#469583)
  * Port sidebar to QDockWidget
  * Small code improvements
  * Fix leaking actions
  * Call showWelcomeScreen() only when needed
  * Bump KF_MIN_VERSION to 5.101
  * New welcome screen UI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: put rar in list.
  * snapcraft: rar in amd64 only.
  * snapcraft: set qt plugin path in build and runtime env.
  * snapcraft: Initial add file
  * Drop unused ItemModels dependency
  * Add missing KWindowSystem dependency</changelog>
  <changelog author="Fabian Vogt &lt;fabian@ritter-vogt.de&gt;" date="1697284800">- Add patch to fix bzip2 support with shared-mime-info &gt;= 2.3:
  * 0001-Fix-support-for-bzip2-format-with-shared-mime-info-2.patch
- Drop patch, not necessary since Leap 15.2:
  * 0001-Support-building-against-libarchive-3.3.2-again.patch</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Fix opening of AppImage files
  * Fix checks using old ISO mimetype
  * Don't hardcode bzip2 mimetype in tests
  * Fix support for bzip2 format with shared-mime-info 2.3
  * Explicitly support new application/vnd.efi.iso mimetype
  * snapcraft: bump content pack version.
- Drop patch, merged upstream:
  * 0001-Fix-support-for-bzip2-format-with-shared-mime-info-2.patch</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Specify umask for permission tests
  * cli7zplugin: improve compatibility with original 7-Zip</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Don't rely on qtpaths for kconf_update scripts
  * Specify umask for permission tests</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * clirartest: drop addArgs test for RAR4
  * clirarplugin: disable RAR4 compression method (kde#483748)
  * Make clang-format happy
  * Remove documentation that doesn't compile</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Too many changes since 24.02.2, only listing bugfixes:
  * clirarplugin: disable RAR4 compression method (kde#483748)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Explicitly link against Qt::DBus</changelog>
</package>
<package pkgid="dbe9881d336122b77a083d390ae20c5db3cd36a92db81fc65d8bd5f35b486577ec739b1a6e8cee7f92e03fff97acc3b453be2e2405d41be576609107cea0f21a" name="arkade" arch="src">
  <version epoch="0" ver="0.11.16" rel="1.1"/>
  <changelog author="kastl@b1-systems.de" date="1702382400">- Update to version 0.10.18:
  * Bump go.mod and vendor
  * Export LoadFrom
  * Update README.md
  * Bump actions/setup-go from 4 to 5</changelog>
  <changelog author="kastl@b1-systems.de" date="1702641600">- Update to version 0.10.19:
  * Fix issue with version flag for Helm charts</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706788800">- Update to version 0.10.20:
  * Bump golang.org/x/crypto from 0.16.0 to 0.17.0</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1708430400">- Update to version 0.11.0:
  * Add oci extract command
  * Bump github.com/google/go-containerregistry from 0.17.0 to
    0.19.0
  * add support of cloud-hypervisor and ch-remote binary
  * Fix arkade get for kail on darwin&amp;arm64
  * Bump golang.org/x/crypto from 0.17.0 to 0.18.0
  * Use Go 1.21 for e2e checker
  * Limit builds for same SHA
  * Move to Go 1.21 for builds and minimum version</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1708516800">- Update to version 0.11.1:
  * helm: add arkade chart bump to bump chart versions
  * feat: support tilt since 0.33.15</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1708776000">- Update to version 0.11.2:
  * Aliases for OCI
  * Correct help message
  * Fix croc file pattern &amp; e2e test
  * Remove misc log file</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590400">- Update to version 0.11.3:
  * PR #1027 Bump golang.org/x/mod from 0.14.0 to 0.15.0 by
    @dependabot[bot]
  * PR #992 feat: allow to set default ingressclass by @Jasstkn
  * PR #1025 Bump github.com/cheggaaa/pb/v3 from 3.1.4 to 3.1.5 by
    @dependabot[bot]
  * PR #1028 Bump golang.org/x/crypto from 0.18.0 to 0.19.0 by
    @dependabot[bot]
  * PR #1007 change kubectl download site by @YoninL
  * PR #1022 chore: no need to use fmt.Sprintf by @testwill
  * PR #1019 Add tflint by @cyberox
  * PR #1033 feat: add gptscript as cli by @dirien</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590401">- Update to version 0.11.4:
  * PR #1036 Add terraform-docs by @cyberox
  * PR #1038 Bump golang.org/x/mod from 0.15.0 to 0.16.0 by
    @dependabot[bot]
  * PR #1037 Bump golang.org/x/crypto from 0.19.0 to 0.21.0 by
    @dependabot[bot]</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590402">- Update to version 0.11.5:
  * update versions of tf / packer / waypoint
  * Bump alexellis/upload-assets from 0.4.0 to 0.4.1</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590403">- Update to version 0.11.6:
  * Add OpenTofu
  * Bump github.com/google/go-containerregistry from 0.19.0 to
    0.19.1</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712750400">- Update to version 0.11.7:
  * add support for regctl</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712750401">- Update to version 0.11.8:
  * add support for faasd</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712750402">- Update to version 0.11.9:
  * update minio chart location to bitnami
  * Update kubectl version</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714478400">- Update to version 0.11.10:
  * Fix clusterawsadm and cmctl CLI tools
  * Fix argo message and close body for node
  * Bump github.com/sethvargo/go-password from 0.2.0 to 0.3.0
  * Bump golang.org/x/crypto from 0.21.0 to 0.22.0
  * Bump golang.org/x/mod from 0.16.0 to 0.17.0</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1715342400">- Update to version 0.11.11:
  * update and add tests for stern
  * Bump golang.org/x/crypto from 0.22.0 to 0.23.0</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1715688000">- Update to version 0.11.12:
  * Move Hashicorp tools to GH Version Strategy
  * Add kube-score to available tools
  * update readme tool table
  * add k8s version strategy
  * Fix issue which saw versions resolved twice</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1717761600">- Update to version 0.11.13:
  * Cause doctl to fail with 404 for armv7l
  * doctl: Resolve versions based on GitHub releases
  * repoint cmctl references to new github location
  * remove k10multicluster from downloads
  * add system install powershell
  * add better error handling
  * Add concurrency workers to chart/upgrade
  * Bump golang.org/x/mod from 0.17.0 to 0.18.0
  * Bump golang.org/x/crypto from 0.23.0 to 0.24.0
  * fix chart upgrade to handle v prefix
  * Add consul as a tool &amp; fix tests</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1718020800">- Update to version 0.11.14:
  * Update support message variation
  * Rotate support message
  * update doctl tests to standard binary pattern</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1718280000">- Update to version 0.11.15:
  * Fix tests
  * Add region for Hetzner for inlets-operator app
  * add support for lazydocker
  * Fix atuin due to rename of archive
  * add caddy system install
  * add caddy server as system install
  * add support of kubecolor binary</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1718366400">- Update to version 0.11.16:
  * Ignore latest tags in chart upgrade</changelog>
</package>
<package pkgid="5631ae4fd1516453cfe451b9bb28cf11f579169d2a06f4d2a59f9835f8180f39218ecfd9c47173326e0509fe571d1dc875e33608de2ada133db832e74db298c3" name="arkade" arch="x86_64">
  <version epoch="0" ver="0.11.16" rel="1.1"/>
  <changelog author="kastl@b1-systems.de" date="1702382400">- Update to version 0.10.18:
  * Bump go.mod and vendor
  * Export LoadFrom
  * Update README.md
  * Bump actions/setup-go from 4 to 5</changelog>
  <changelog author="kastl@b1-systems.de" date="1702641600">- Update to version 0.10.19:
  * Fix issue with version flag for Helm charts</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706788800">- Update to version 0.10.20:
  * Bump golang.org/x/crypto from 0.16.0 to 0.17.0</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1708430400">- Update to version 0.11.0:
  * Add oci extract command
  * Bump github.com/google/go-containerregistry from 0.17.0 to
    0.19.0
  * add support of cloud-hypervisor and ch-remote binary
  * Fix arkade get for kail on darwin&amp;arm64
  * Bump golang.org/x/crypto from 0.17.0 to 0.18.0
  * Use Go 1.21 for e2e checker
  * Limit builds for same SHA
  * Move to Go 1.21 for builds and minimum version</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1708516800">- Update to version 0.11.1:
  * helm: add arkade chart bump to bump chart versions
  * feat: support tilt since 0.33.15</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1708776000">- Update to version 0.11.2:
  * Aliases for OCI
  * Correct help message
  * Fix croc file pattern &amp; e2e test
  * Remove misc log file</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590400">- Update to version 0.11.3:
  * PR #1027 Bump golang.org/x/mod from 0.14.0 to 0.15.0 by
    @dependabot[bot]
  * PR #992 feat: allow to set default ingressclass by @Jasstkn
  * PR #1025 Bump github.com/cheggaaa/pb/v3 from 3.1.4 to 3.1.5 by
    @dependabot[bot]
  * PR #1028 Bump golang.org/x/crypto from 0.18.0 to 0.19.0 by
    @dependabot[bot]
  * PR #1007 change kubectl download site by @YoninL
  * PR #1022 chore: no need to use fmt.Sprintf by @testwill
  * PR #1019 Add tflint by @cyberox
  * PR #1033 feat: add gptscript as cli by @dirien</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590401">- Update to version 0.11.4:
  * PR #1036 Add terraform-docs by @cyberox
  * PR #1038 Bump golang.org/x/mod from 0.15.0 to 0.16.0 by
    @dependabot[bot]
  * PR #1037 Bump golang.org/x/crypto from 0.19.0 to 0.21.0 by
    @dependabot[bot]</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590402">- Update to version 0.11.5:
  * update versions of tf / packer / waypoint
  * Bump alexellis/upload-assets from 0.4.0 to 0.4.1</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590403">- Update to version 0.11.6:
  * Add OpenTofu
  * Bump github.com/google/go-containerregistry from 0.19.0 to
    0.19.1</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712750400">- Update to version 0.11.7:
  * add support for regctl</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712750401">- Update to version 0.11.8:
  * add support for faasd</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712750402">- Update to version 0.11.9:
  * update minio chart location to bitnami
  * Update kubectl version</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714478400">- Update to version 0.11.10:
  * Fix clusterawsadm and cmctl CLI tools
  * Fix argo message and close body for node
  * Bump github.com/sethvargo/go-password from 0.2.0 to 0.3.0
  * Bump golang.org/x/crypto from 0.21.0 to 0.22.0
  * Bump golang.org/x/mod from 0.16.0 to 0.17.0</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1715342400">- Update to version 0.11.11:
  * update and add tests for stern
  * Bump golang.org/x/crypto from 0.22.0 to 0.23.0</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1715688000">- Update to version 0.11.12:
  * Move Hashicorp tools to GH Version Strategy
  * Add kube-score to available tools
  * update readme tool table
  * add k8s version strategy
  * Fix issue which saw versions resolved twice</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1717761600">- Update to version 0.11.13:
  * Cause doctl to fail with 404 for armv7l
  * doctl: Resolve versions based on GitHub releases
  * repoint cmctl references to new github location
  * remove k10multicluster from downloads
  * add system install powershell
  * add better error handling
  * Add concurrency workers to chart/upgrade
  * Bump golang.org/x/mod from 0.17.0 to 0.18.0
  * Bump golang.org/x/crypto from 0.23.0 to 0.24.0
  * fix chart upgrade to handle v prefix
  * Add consul as a tool &amp; fix tests</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1718020800">- Update to version 0.11.14:
  * Update support message variation
  * Rotate support message
  * update doctl tests to standard binary pattern</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1718280000">- Update to version 0.11.15:
  * Fix tests
  * Add region for Hetzner for inlets-operator app
  * add support for lazydocker
  * Fix atuin due to rename of archive
  * add caddy system install
  * add caddy server as system install
  * add support of kubecolor binary</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1718366400">- Update to version 0.11.16:
  * Ignore latest tags in chart upgrade</changelog>
</package>
<package pkgid="7a7d9ce342b5a317bc2c47cad5494cce33b68a67a0d80eb4111732b5c26e9377dd4dfaf5262c151467e81ecfda3b8db9e5823b3842f885edd68c3e510e07dc7f" name="arkade-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.11.16" rel="1.1"/>
  <changelog author="kastl@b1-systems.de" date="1702382400">- Update to version 0.10.18:
  * Bump go.mod and vendor
  * Export LoadFrom
  * Update README.md
  * Bump actions/setup-go from 4 to 5</changelog>
  <changelog author="kastl@b1-systems.de" date="1702641600">- Update to version 0.10.19:
  * Fix issue with version flag for Helm charts</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706788800">- Update to version 0.10.20:
  * Bump golang.org/x/crypto from 0.16.0 to 0.17.0</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1708430400">- Update to version 0.11.0:
  * Add oci extract command
  * Bump github.com/google/go-containerregistry from 0.17.0 to
    0.19.0
  * add support of cloud-hypervisor and ch-remote binary
  * Fix arkade get for kail on darwin&amp;arm64
  * Bump golang.org/x/crypto from 0.17.0 to 0.18.0
  * Use Go 1.21 for e2e checker
  * Limit builds for same SHA
  * Move to Go 1.21 for builds and minimum version</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1708516800">- Update to version 0.11.1:
  * helm: add arkade chart bump to bump chart versions
  * feat: support tilt since 0.33.15</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1708776000">- Update to version 0.11.2:
  * Aliases for OCI
  * Correct help message
  * Fix croc file pattern &amp; e2e test
  * Remove misc log file</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590400">- Update to version 0.11.3:
  * PR #1027 Bump golang.org/x/mod from 0.14.0 to 0.15.0 by
    @dependabot[bot]
  * PR #992 feat: allow to set default ingressclass by @Jasstkn
  * PR #1025 Bump github.com/cheggaaa/pb/v3 from 3.1.4 to 3.1.5 by
    @dependabot[bot]
  * PR #1028 Bump golang.org/x/crypto from 0.18.0 to 0.19.0 by
    @dependabot[bot]
  * PR #1007 change kubectl download site by @YoninL
  * PR #1022 chore: no need to use fmt.Sprintf by @testwill
  * PR #1019 Add tflint by @cyberox
  * PR #1033 feat: add gptscript as cli by @dirien</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590401">- Update to version 0.11.4:
  * PR #1036 Add terraform-docs by @cyberox
  * PR #1038 Bump golang.org/x/mod from 0.15.0 to 0.16.0 by
    @dependabot[bot]
  * PR #1037 Bump golang.org/x/crypto from 0.19.0 to 0.21.0 by
    @dependabot[bot]</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590402">- Update to version 0.11.5:
  * update versions of tf / packer / waypoint
  * Bump alexellis/upload-assets from 0.4.0 to 0.4.1</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710590403">- Update to version 0.11.6:
  * Add OpenTofu
  * Bump github.com/google/go-containerregistry from 0.19.0 to
    0.19.1</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712750400">- Update to version 0.11.7:
  * add support for regctl</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712750401">- Update to version 0.11.8:
  * add support for faasd</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1712750402">- Update to version 0.11.9:
  * update minio chart location to bitnami
  * Update kubectl version</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714478400">- Update to version 0.11.10:
  * Fix clusterawsadm and cmctl CLI tools
  * Fix argo message and close body for node
  * Bump github.com/sethvargo/go-password from 0.2.0 to 0.3.0
  * Bump golang.org/x/crypto from 0.21.0 to 0.22.0
  * Bump golang.org/x/mod from 0.16.0 to 0.17.0</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1715342400">- Update to version 0.11.11:
  * update and add tests for stern
  * Bump golang.org/x/crypto from 0.22.0 to 0.23.0</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1715688000">- Update to version 0.11.12:
  * Move Hashicorp tools to GH Version Strategy
  * Add kube-score to available tools
  * update readme tool table
  * add k8s version strategy
  * Fix issue which saw versions resolved twice</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1717761600">- Update to version 0.11.13:
  * Cause doctl to fail with 404 for armv7l
  * doctl: Resolve versions based on GitHub releases
  * repoint cmctl references to new github location
  * remove k10multicluster from downloads
  * add system install powershell
  * add better error handling
  * Add concurrency workers to chart/upgrade
  * Bump golang.org/x/mod from 0.17.0 to 0.18.0
  * Bump golang.org/x/crypto from 0.23.0 to 0.24.0
  * fix chart upgrade to handle v prefix
  * Add consul as a tool &amp; fix tests</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1718020800">- Update to version 0.11.14:
  * Update support message variation
  * Rotate support message
  * update doctl tests to standard binary pattern</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1718280000">- Update to version 0.11.15:
  * Fix tests
  * Add region for Hetzner for inlets-operator app
  * add support for lazydocker
  * Fix atuin due to rename of archive
  * add caddy system install
  * add caddy server as system install
  * add support of kubecolor binary</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1718366400">- Update to version 0.11.16:
  * Ignore latest tags in chart upgrade</changelog>
</package>
<package pkgid="a0525574471b38735d12b7f3ea4dc45c30ff8330f98d366c6eb444abbf913a2bcde3a49e02aa1f195f1888ab17fbe25138444ba0358f144fc5e7a4bdc4c5ceda" name="arti" arch="src">
  <version epoch="0" ver="1.2.4~0" rel="1.1"/>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1697803200">- Version 1.1.9</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1698235200">- Run format_spec_file service</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1698667200">- Add _constraints file to avoid build failures</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1699876800">- Update to version 1.1.10:
  Arti 1.1.10 continues work on support for onion services in
  Arti. At last, we can (technically) run as an onion service...
  though not yet in a useful way. (Onion services don't yet recover
  correctly after a restart, outdated keys are not removed, and we
  are missing other important security features.)
  [#]## Breaking changes in lower-level crates
  - The [`IoErrorExt`] trait in [`tor-basic-utils`] is now
    sealed. ([!1654])
  - The [`Requestable`] trait in [`tor-dirclient`] is now sealed,
    and most of its members are now private. ([!1679])
  - In [`tor-cell`], stream and circuit IDs are now inherently
    non-zero. To represent an ID that might be zero on the wire, we
    now use
    `Option&lt;StreamId&gt;` or `Option&lt;CircId&gt;`. ([#1080], [!1697])
  - In [`tor-cell`], `CREATE2` handshake types are no longer raw
    `u16` values. ([!1703])
  - In [`tor-cert`], `encode_and_sign` now returns an
    `Ed25519EncodedCert` rather than a raw `Vec&lt;u8&gt;`. ([!1702])
  [#]## Client features
  - Arti can now be configured to listen for connections on
    multiple arbitrary addresses—not just `localhost`. ([!1613])
  [#]## Key manager
  - The key manager code now has improved support for generating
    keypairs, keys with derived data, and other structures needed for
    onion services. ([!1653])
  - The key manager now encodes whether a key is private or public in its
    file extension. ([!1672])
  - The key manager now disallows path components that could lead
    (under some programming errors) to directory traversal. ([!1661])
  - We can now list keys by path and type; this is important so that
    we can identify disused keys and eventually expire them. ([!1677])
  See https://gitlab.torproject.org/tpo/core/arti/-/blob/c39857a8a63200ed5ed539d1f9231b05d7da7e0d/CHANGELOG.md
  for more info</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1702036800">- Update to version 1.1.11:
  Arti 1.1.11 continues work on support for running onion services.
  Onion services are now working in our testing, and we expect we'll
  have something testable by others in our next release.
  Arti 1.1.11 also increases our MSRV (Minimum Supported Rust Version)
  to 1.70, in accordance with our [MSRV policy].
  [#]## Onion service development
  - Correct our handling of BEGIN and END messages to bring them
    into conformance with the C Tor implementation and the specification.
    ([#1077], [!1694], [!1738])
  - In our key manager, use macros to define key specifiers, instead of
    repeating the same boilerplate code. ([#1069], [#1093], [!1710],
    [!1733])
  - Refactoring and refinement on the definitions of onion-service-related
    errors. ([!1718], [!1724], [!1750], [!1751], [!1779])
  - Add a "time-store" mechanism for (as correctly as possible) storing and loading
    future timestamps, even in the presence of system clock skew ([!1723], [!1774])
  - Implement a replay-log backend to prevent INTRODUCE replay attacks
    against onion services. ([!1725])
  - Improved encoding for key-denotators in the key manager. ([#1063],
    [#1070], [!1722])
  - Allow a single key to have more than one denotator in its path.
    ([#1112], [!1747])
  - Use an order-preserving-encryption back-end to generate
    monotonically increasing revision counters for onion service
    descriptors.  We do this to ensure a reproducible series of counters
    without leaking our clock skew.  ([#1053], [!1741], [!1744])
  - Deprecate key types for INTRODUCE-based authentication:
    C tor has never implemented this, and we do not plan to implement it
    without additional specification work. ([#1037], [!1749])
  - When establishing an introduction point, send the `intro_dos`
    extension as appropriate. ([#723], [!1740])
  - Added conversion functions and initial persistence support for
    introduction point keys. ([!1756])
  - Start work on introduction point persistence. ([!1755], [!1765]).
  - Revert to our intended configuration format for onion service proxy rules.
    ([#1058], [!1771])
  [#]## Client features
  - Backend and API code for the "ntor-v3" circuit-extension handshake.
    This handshake adds the ability to send additional options
    from the client to the relay when creating or extending a circuit,
    and will eventually be used to negotiate protocol features like
    RTT-based congestion control and UDP-over-Tor support.
    ([!1720], [!1739])</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1705320000">- Update to version 1.1.12~0:
  Arti 1.1.12 continues work on support for running onion services.
  You can now launch an onion service and expect it to run,
  though the user experience leaves a lot to be desired.
  Don't rely on this onion service implementation for security yet;
  there are a number of [missing security features]
  we will need to develop before we can recommend them
  for actual use.
  https://gitlab.torproject.org/tpo/core/arti/-/blob/3c44d849f4c3332ccbb86328392d54e7c1d8e9b6/CHANGELOG.md
- Updated the ignored RUSTSEC advisories, as per the project
  recommended way of building the crate</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059200">- Update to version 1.2.1:
  * Reorganize onion service code.
  * Design work for out-of-memory handling, which is necessary for
    onion service security.
  * Initial implementation work for onion service [vanguards],
    which are needed to improve onion service security.
    This is not yet complete.
  * Added support for unmanaged pluggable transports
  * Begun work to improve Tor's relay cell protocol with support
    for packed and fragmented messages
- Update to version 1.2.0
  * Initial support for running onion services.
  * Fixed a number of bugs and security issues.
  * Made the onion-service-service feature non-experimental.
  For a full changelog, refer to the package changelog
  (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059201">- Added LICENSE-APACHE and LICENSE-MIT to %files
- Added README.md and CHANGELOG.md to %files</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1712232000">- Update constraints to build on more workers (especially for aarch64)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1717675200">- Update to version 1.2.4:
  * Development on onion services, and on the RPC subsystem.
  * This release restores the faravahar directory authority,
    which has a new location and keys.
  * Fixed two-medium security issues, tracked as TROVE-2024-005
    and TROVE-2024-006.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.3:
  * Fixes a high-severity issue affecting onion services and
    clients connecting to onion services with 'lite' vanguards
    (the default) enabled. TROVE-2024-003
  * This release also fixes a medium-severity issue affecting
    'full' vanguards. TROVE-2024-004
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.2:
  * Arti now supports Vanguards for improved security
    against guard discovery for onion service circuits.
    By default, we use the vanguards-lite algorithm;
    the vanguards-full algorithm can be configured.
  * Update to use the new identity key for the tor26 directory
    authority.
  * Fix an inadvertent recursion bug when converting TorAddrError
    to arti_client::Error.
  * Improve reliability of bootstrap status reporting.
  * Convert to use figment instead of config-rs as our
    configuration backend, for improved error messages.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
</package>
<package pkgid="920cb6ab46b73921c2db75be1a62c8b3411c733b37499e5bc4cf664b922dd4cef5b322dc3136fcd6c43f28c722199b3c7ae3c07d4122df26b6ec24874d7fbd1d" name="arti" arch="x86_64">
  <version epoch="0" ver="1.2.4~0" rel="1.1"/>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1697803200">- Version 1.1.9</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1698235200">- Run format_spec_file service</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1698667200">- Add _constraints file to avoid build failures</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1699876800">- Update to version 1.1.10:
  Arti 1.1.10 continues work on support for onion services in
  Arti. At last, we can (technically) run as an onion service...
  though not yet in a useful way. (Onion services don't yet recover
  correctly after a restart, outdated keys are not removed, and we
  are missing other important security features.)
  [#]## Breaking changes in lower-level crates
  - The [`IoErrorExt`] trait in [`tor-basic-utils`] is now
    sealed. ([!1654])
  - The [`Requestable`] trait in [`tor-dirclient`] is now sealed,
    and most of its members are now private. ([!1679])
  - In [`tor-cell`], stream and circuit IDs are now inherently
    non-zero. To represent an ID that might be zero on the wire, we
    now use
    `Option&lt;StreamId&gt;` or `Option&lt;CircId&gt;`. ([#1080], [!1697])
  - In [`tor-cell`], `CREATE2` handshake types are no longer raw
    `u16` values. ([!1703])
  - In [`tor-cert`], `encode_and_sign` now returns an
    `Ed25519EncodedCert` rather than a raw `Vec&lt;u8&gt;`. ([!1702])
  [#]## Client features
  - Arti can now be configured to listen for connections on
    multiple arbitrary addresses—not just `localhost`. ([!1613])
  [#]## Key manager
  - The key manager code now has improved support for generating
    keypairs, keys with derived data, and other structures needed for
    onion services. ([!1653])
  - The key manager now encodes whether a key is private or public in its
    file extension. ([!1672])
  - The key manager now disallows path components that could lead
    (under some programming errors) to directory traversal. ([!1661])
  - We can now list keys by path and type; this is important so that
    we can identify disused keys and eventually expire them. ([!1677])
  See https://gitlab.torproject.org/tpo/core/arti/-/blob/c39857a8a63200ed5ed539d1f9231b05d7da7e0d/CHANGELOG.md
  for more info</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1702036800">- Update to version 1.1.11:
  Arti 1.1.11 continues work on support for running onion services.
  Onion services are now working in our testing, and we expect we'll
  have something testable by others in our next release.
  Arti 1.1.11 also increases our MSRV (Minimum Supported Rust Version)
  to 1.70, in accordance with our [MSRV policy].
  [#]## Onion service development
  - Correct our handling of BEGIN and END messages to bring them
    into conformance with the C Tor implementation and the specification.
    ([#1077], [!1694], [!1738])
  - In our key manager, use macros to define key specifiers, instead of
    repeating the same boilerplate code. ([#1069], [#1093], [!1710],
    [!1733])
  - Refactoring and refinement on the definitions of onion-service-related
    errors. ([!1718], [!1724], [!1750], [!1751], [!1779])
  - Add a "time-store" mechanism for (as correctly as possible) storing and loading
    future timestamps, even in the presence of system clock skew ([!1723], [!1774])
  - Implement a replay-log backend to prevent INTRODUCE replay attacks
    against onion services. ([!1725])
  - Improved encoding for key-denotators in the key manager. ([#1063],
    [#1070], [!1722])
  - Allow a single key to have more than one denotator in its path.
    ([#1112], [!1747])
  - Use an order-preserving-encryption back-end to generate
    monotonically increasing revision counters for onion service
    descriptors.  We do this to ensure a reproducible series of counters
    without leaking our clock skew.  ([#1053], [!1741], [!1744])
  - Deprecate key types for INTRODUCE-based authentication:
    C tor has never implemented this, and we do not plan to implement it
    without additional specification work. ([#1037], [!1749])
  - When establishing an introduction point, send the `intro_dos`
    extension as appropriate. ([#723], [!1740])
  - Added conversion functions and initial persistence support for
    introduction point keys. ([!1756])
  - Start work on introduction point persistence. ([!1755], [!1765]).
  - Revert to our intended configuration format for onion service proxy rules.
    ([#1058], [!1771])
  [#]## Client features
  - Backend and API code for the "ntor-v3" circuit-extension handshake.
    This handshake adds the ability to send additional options
    from the client to the relay when creating or extending a circuit,
    and will eventually be used to negotiate protocol features like
    RTT-based congestion control and UDP-over-Tor support.
    ([!1720], [!1739])</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1705320000">- Update to version 1.1.12~0:
  Arti 1.1.12 continues work on support for running onion services.
  You can now launch an onion service and expect it to run,
  though the user experience leaves a lot to be desired.
  Don't rely on this onion service implementation for security yet;
  there are a number of [missing security features]
  we will need to develop before we can recommend them
  for actual use.
  https://gitlab.torproject.org/tpo/core/arti/-/blob/3c44d849f4c3332ccbb86328392d54e7c1d8e9b6/CHANGELOG.md
- Updated the ignored RUSTSEC advisories, as per the project
  recommended way of building the crate</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059200">- Update to version 1.2.1:
  * Reorganize onion service code.
  * Design work for out-of-memory handling, which is necessary for
    onion service security.
  * Initial implementation work for onion service [vanguards],
    which are needed to improve onion service security.
    This is not yet complete.
  * Added support for unmanaged pluggable transports
  * Begun work to improve Tor's relay cell protocol with support
    for packed and fragmented messages
- Update to version 1.2.0
  * Initial support for running onion services.
  * Fixed a number of bugs and security issues.
  * Made the onion-service-service feature non-experimental.
  For a full changelog, refer to the package changelog
  (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059201">- Added LICENSE-APACHE and LICENSE-MIT to %files
- Added README.md and CHANGELOG.md to %files</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1712232000">- Update constraints to build on more workers (especially for aarch64)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1717675200">- Update to version 1.2.4:
  * Development on onion services, and on the RPC subsystem.
  * This release restores the faravahar directory authority,
    which has a new location and keys.
  * Fixed two-medium security issues, tracked as TROVE-2024-005
    and TROVE-2024-006.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.3:
  * Fixes a high-severity issue affecting onion services and
    clients connecting to onion services with 'lite' vanguards
    (the default) enabled. TROVE-2024-003
  * This release also fixes a medium-severity issue affecting
    'full' vanguards. TROVE-2024-004
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.2:
  * Arti now supports Vanguards for improved security
    against guard discovery for onion service circuits.
    By default, we use the vanguards-lite algorithm;
    the vanguards-full algorithm can be configured.
  * Update to use the new identity key for the tor26 directory
    authority.
  * Fix an inadvertent recursion bug when converting TorAddrError
    to arti_client::Error.
  * Improve reliability of bootstrap status reporting.
  * Convert to use figment instead of config-rs as our
    configuration backend, for improved error messages.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
</package>
<package pkgid="8c2c0771dbeaaae1947a8eb7ea1e08924cf9130acac4320a470146feeb4556a0859d3e1c3292d678c0fcfeec11919f867a411027056cdc76f2b21f3cee0d3620" name="arti" arch="src">
  <version epoch="0" ver="1.2.4~0" rel="2.0.4.1.sr20240605"/>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1697803200">- Version 1.1.9</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1698235200">- Run format_spec_file service</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1698667200">- Add _constraints file to avoid build failures</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1699876800">- Update to version 1.1.10:
  Arti 1.1.10 continues work on support for onion services in
  Arti. At last, we can (technically) run as an onion service...
  though not yet in a useful way. (Onion services don't yet recover
  correctly after a restart, outdated keys are not removed, and we
  are missing other important security features.)
  [#]## Breaking changes in lower-level crates
  - The [`IoErrorExt`] trait in [`tor-basic-utils`] is now
    sealed. ([!1654])
  - The [`Requestable`] trait in [`tor-dirclient`] is now sealed,
    and most of its members are now private. ([!1679])
  - In [`tor-cell`], stream and circuit IDs are now inherently
    non-zero. To represent an ID that might be zero on the wire, we
    now use
    `Option&lt;StreamId&gt;` or `Option&lt;CircId&gt;`. ([#1080], [!1697])
  - In [`tor-cell`], `CREATE2` handshake types are no longer raw
    `u16` values. ([!1703])
  - In [`tor-cert`], `encode_and_sign` now returns an
    `Ed25519EncodedCert` rather than a raw `Vec&lt;u8&gt;`. ([!1702])
  [#]## Client features
  - Arti can now be configured to listen for connections on
    multiple arbitrary addresses—not just `localhost`. ([!1613])
  [#]## Key manager
  - The key manager code now has improved support for generating
    keypairs, keys with derived data, and other structures needed for
    onion services. ([!1653])
  - The key manager now encodes whether a key is private or public in its
    file extension. ([!1672])
  - The key manager now disallows path components that could lead
    (under some programming errors) to directory traversal. ([!1661])
  - We can now list keys by path and type; this is important so that
    we can identify disused keys and eventually expire them. ([!1677])
  See https://gitlab.torproject.org/tpo/core/arti/-/blob/c39857a8a63200ed5ed539d1f9231b05d7da7e0d/CHANGELOG.md
  for more info</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1702036800">- Update to version 1.1.11:
  Arti 1.1.11 continues work on support for running onion services.
  Onion services are now working in our testing, and we expect we'll
  have something testable by others in our next release.
  Arti 1.1.11 also increases our MSRV (Minimum Supported Rust Version)
  to 1.70, in accordance with our [MSRV policy].
  [#]## Onion service development
  - Correct our handling of BEGIN and END messages to bring them
    into conformance with the C Tor implementation and the specification.
    ([#1077], [!1694], [!1738])
  - In our key manager, use macros to define key specifiers, instead of
    repeating the same boilerplate code. ([#1069], [#1093], [!1710],
    [!1733])
  - Refactoring and refinement on the definitions of onion-service-related
    errors. ([!1718], [!1724], [!1750], [!1751], [!1779])
  - Add a "time-store" mechanism for (as correctly as possible) storing and loading
    future timestamps, even in the presence of system clock skew ([!1723], [!1774])
  - Implement a replay-log backend to prevent INTRODUCE replay attacks
    against onion services. ([!1725])
  - Improved encoding for key-denotators in the key manager. ([#1063],
    [#1070], [!1722])
  - Allow a single key to have more than one denotator in its path.
    ([#1112], [!1747])
  - Use an order-preserving-encryption back-end to generate
    monotonically increasing revision counters for onion service
    descriptors.  We do this to ensure a reproducible series of counters
    without leaking our clock skew.  ([#1053], [!1741], [!1744])
  - Deprecate key types for INTRODUCE-based authentication:
    C tor has never implemented this, and we do not plan to implement it
    without additional specification work. ([#1037], [!1749])
  - When establishing an introduction point, send the `intro_dos`
    extension as appropriate. ([#723], [!1740])
  - Added conversion functions and initial persistence support for
    introduction point keys. ([!1756])
  - Start work on introduction point persistence. ([!1755], [!1765]).
  - Revert to our intended configuration format for onion service proxy rules.
    ([#1058], [!1771])
  [#]## Client features
  - Backend and API code for the "ntor-v3" circuit-extension handshake.
    This handshake adds the ability to send additional options
    from the client to the relay when creating or extending a circuit,
    and will eventually be used to negotiate protocol features like
    RTT-based congestion control and UDP-over-Tor support.
    ([!1720], [!1739])</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1705320000">- Update to version 1.1.12~0:
  Arti 1.1.12 continues work on support for running onion services.
  You can now launch an onion service and expect it to run,
  though the user experience leaves a lot to be desired.
  Don't rely on this onion service implementation for security yet;
  there are a number of [missing security features]
  we will need to develop before we can recommend them
  for actual use.
  https://gitlab.torproject.org/tpo/core/arti/-/blob/3c44d849f4c3332ccbb86328392d54e7c1d8e9b6/CHANGELOG.md
- Updated the ignored RUSTSEC advisories, as per the project
  recommended way of building the crate</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059200">- Update to version 1.2.1:
  * Reorganize onion service code.
  * Design work for out-of-memory handling, which is necessary for
    onion service security.
  * Initial implementation work for onion service [vanguards],
    which are needed to improve onion service security.
    This is not yet complete.
  * Added support for unmanaged pluggable transports
  * Begun work to improve Tor's relay cell protocol with support
    for packed and fragmented messages
- Update to version 1.2.0
  * Initial support for running onion services.
  * Fixed a number of bugs and security issues.
  * Made the onion-service-service feature non-experimental.
  For a full changelog, refer to the package changelog
  (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059201">- Added LICENSE-APACHE and LICENSE-MIT to %files
- Added README.md and CHANGELOG.md to %files</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1712232000">- Update constraints to build on more workers (especially for aarch64)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1717675200">- Update to version 1.2.4:
  * Development on onion services, and on the RPC subsystem.
  * This release restores the faravahar directory authority,
    which has a new location and keys.
  * Fixed two-medium security issues, tracked as TROVE-2024-005
    and TROVE-2024-006.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.3:
  * Fixes a high-severity issue affecting onion services and
    clients connecting to onion services with 'lite' vanguards
    (the default) enabled. TROVE-2024-003
  * This release also fixes a medium-severity issue affecting
    'full' vanguards. TROVE-2024-004
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.2:
  * Arti now supports Vanguards for improved security
    against guard discovery for onion service circuits.
    By default, we use the vanguards-lite algorithm;
    the vanguards-full algorithm can be configured.
  * Update to use the new identity key for the tor26 directory
    authority.
  * Fix an inadvertent recursion bug when converting TorAddrError
    to arti_client::Error.
  * Improve reliability of bootstrap status reporting.
  * Convert to use figment instead of config-rs as our
    configuration backend, for improved error messages.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1719489600">- Increase RAM needed per thread in %limit_build to avoid OOM on aarch64</changelog>
</package>
<package pkgid="f3c2ffb5e85f122466efade6cdeaf31a685952031d1e0370e66faa355a2f3da214ab3e34c263197faef9db694eed7dde6b14d0d8a87b577eefce64eff813ef34" name="arti" arch="x86_64">
  <version epoch="0" ver="1.2.4~0" rel="2.0.4.1.sr20240605"/>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1697803200">- Version 1.1.9</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1698235200">- Run format_spec_file service</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1698667200">- Add _constraints file to avoid build failures</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1699876800">- Update to version 1.1.10:
  Arti 1.1.10 continues work on support for onion services in
  Arti. At last, we can (technically) run as an onion service...
  though not yet in a useful way. (Onion services don't yet recover
  correctly after a restart, outdated keys are not removed, and we
  are missing other important security features.)
  [#]## Breaking changes in lower-level crates
  - The [`IoErrorExt`] trait in [`tor-basic-utils`] is now
    sealed. ([!1654])
  - The [`Requestable`] trait in [`tor-dirclient`] is now sealed,
    and most of its members are now private. ([!1679])
  - In [`tor-cell`], stream and circuit IDs are now inherently
    non-zero. To represent an ID that might be zero on the wire, we
    now use
    `Option&lt;StreamId&gt;` or `Option&lt;CircId&gt;`. ([#1080], [!1697])
  - In [`tor-cell`], `CREATE2` handshake types are no longer raw
    `u16` values. ([!1703])
  - In [`tor-cert`], `encode_and_sign` now returns an
    `Ed25519EncodedCert` rather than a raw `Vec&lt;u8&gt;`. ([!1702])
  [#]## Client features
  - Arti can now be configured to listen for connections on
    multiple arbitrary addresses—not just `localhost`. ([!1613])
  [#]## Key manager
  - The key manager code now has improved support for generating
    keypairs, keys with derived data, and other structures needed for
    onion services. ([!1653])
  - The key manager now encodes whether a key is private or public in its
    file extension. ([!1672])
  - The key manager now disallows path components that could lead
    (under some programming errors) to directory traversal. ([!1661])
  - We can now list keys by path and type; this is important so that
    we can identify disused keys and eventually expire them. ([!1677])
  See https://gitlab.torproject.org/tpo/core/arti/-/blob/c39857a8a63200ed5ed539d1f9231b05d7da7e0d/CHANGELOG.md
  for more info</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1702036800">- Update to version 1.1.11:
  Arti 1.1.11 continues work on support for running onion services.
  Onion services are now working in our testing, and we expect we'll
  have something testable by others in our next release.
  Arti 1.1.11 also increases our MSRV (Minimum Supported Rust Version)
  to 1.70, in accordance with our [MSRV policy].
  [#]## Onion service development
  - Correct our handling of BEGIN and END messages to bring them
    into conformance with the C Tor implementation and the specification.
    ([#1077], [!1694], [!1738])
  - In our key manager, use macros to define key specifiers, instead of
    repeating the same boilerplate code. ([#1069], [#1093], [!1710],
    [!1733])
  - Refactoring and refinement on the definitions of onion-service-related
    errors. ([!1718], [!1724], [!1750], [!1751], [!1779])
  - Add a "time-store" mechanism for (as correctly as possible) storing and loading
    future timestamps, even in the presence of system clock skew ([!1723], [!1774])
  - Implement a replay-log backend to prevent INTRODUCE replay attacks
    against onion services. ([!1725])
  - Improved encoding for key-denotators in the key manager. ([#1063],
    [#1070], [!1722])
  - Allow a single key to have more than one denotator in its path.
    ([#1112], [!1747])
  - Use an order-preserving-encryption back-end to generate
    monotonically increasing revision counters for onion service
    descriptors.  We do this to ensure a reproducible series of counters
    without leaking our clock skew.  ([#1053], [!1741], [!1744])
  - Deprecate key types for INTRODUCE-based authentication:
    C tor has never implemented this, and we do not plan to implement it
    without additional specification work. ([#1037], [!1749])
  - When establishing an introduction point, send the `intro_dos`
    extension as appropriate. ([#723], [!1740])
  - Added conversion functions and initial persistence support for
    introduction point keys. ([!1756])
  - Start work on introduction point persistence. ([!1755], [!1765]).
  - Revert to our intended configuration format for onion service proxy rules.
    ([#1058], [!1771])
  [#]## Client features
  - Backend and API code for the "ntor-v3" circuit-extension handshake.
    This handshake adds the ability to send additional options
    from the client to the relay when creating or extending a circuit,
    and will eventually be used to negotiate protocol features like
    RTT-based congestion control and UDP-over-Tor support.
    ([!1720], [!1739])</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1705320000">- Update to version 1.1.12~0:
  Arti 1.1.12 continues work on support for running onion services.
  You can now launch an onion service and expect it to run,
  though the user experience leaves a lot to be desired.
  Don't rely on this onion service implementation for security yet;
  there are a number of [missing security features]
  we will need to develop before we can recommend them
  for actual use.
  https://gitlab.torproject.org/tpo/core/arti/-/blob/3c44d849f4c3332ccbb86328392d54e7c1d8e9b6/CHANGELOG.md
- Updated the ignored RUSTSEC advisories, as per the project
  recommended way of building the crate</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059200">- Update to version 1.2.1:
  * Reorganize onion service code.
  * Design work for out-of-memory handling, which is necessary for
    onion service security.
  * Initial implementation work for onion service [vanguards],
    which are needed to improve onion service security.
    This is not yet complete.
  * Added support for unmanaged pluggable transports
  * Begun work to improve Tor's relay cell protocol with support
    for packed and fragmented messages
- Update to version 1.2.0
  * Initial support for running onion services.
  * Fixed a number of bugs and security issues.
  * Made the onion-service-service feature non-experimental.
  For a full changelog, refer to the package changelog
  (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059201">- Added LICENSE-APACHE and LICENSE-MIT to %files
- Added README.md and CHANGELOG.md to %files</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1712232000">- Update constraints to build on more workers (especially for aarch64)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1717675200">- Update to version 1.2.4:
  * Development on onion services, and on the RPC subsystem.
  * This release restores the faravahar directory authority,
    which has a new location and keys.
  * Fixed two-medium security issues, tracked as TROVE-2024-005
    and TROVE-2024-006.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.3:
  * Fixes a high-severity issue affecting onion services and
    clients connecting to onion services with 'lite' vanguards
    (the default) enabled. TROVE-2024-003
  * This release also fixes a medium-severity issue affecting
    'full' vanguards. TROVE-2024-004
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.2:
  * Arti now supports Vanguards for improved security
    against guard discovery for onion service circuits.
    By default, we use the vanguards-lite algorithm;
    the vanguards-full algorithm can be configured.
  * Update to use the new identity key for the tor26 directory
    authority.
  * Fix an inadvertent recursion bug when converting TorAddrError
    to arti_client::Error.
  * Improve reliability of bootstrap status reporting.
  * Convert to use figment instead of config-rs as our
    configuration backend, for improved error messages.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1719489600">- Increase RAM needed per thread in %limit_build to avoid OOM on aarch64</changelog>
</package>
<package pkgid="8862192217f7e7f2be8dd1fc89ce2d0dc79d903a444be2a44638dd7190fd215854212bb6cc6b7615292da3e7c8fc53bcfed38c34c34581d975b09a525589fea7" name="arti-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.4~0" rel="1.1"/>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1697803200">- Version 1.1.9</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1698235200">- Run format_spec_file service</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1698667200">- Add _constraints file to avoid build failures</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1699876800">- Update to version 1.1.10:
  Arti 1.1.10 continues work on support for onion services in
  Arti. At last, we can (technically) run as an onion service...
  though not yet in a useful way. (Onion services don't yet recover
  correctly after a restart, outdated keys are not removed, and we
  are missing other important security features.)
  [#]## Breaking changes in lower-level crates
  - The [`IoErrorExt`] trait in [`tor-basic-utils`] is now
    sealed. ([!1654])
  - The [`Requestable`] trait in [`tor-dirclient`] is now sealed,
    and most of its members are now private. ([!1679])
  - In [`tor-cell`], stream and circuit IDs are now inherently
    non-zero. To represent an ID that might be zero on the wire, we
    now use
    `Option&lt;StreamId&gt;` or `Option&lt;CircId&gt;`. ([#1080], [!1697])
  - In [`tor-cell`], `CREATE2` handshake types are no longer raw
    `u16` values. ([!1703])
  - In [`tor-cert`], `encode_and_sign` now returns an
    `Ed25519EncodedCert` rather than a raw `Vec&lt;u8&gt;`. ([!1702])
  [#]## Client features
  - Arti can now be configured to listen for connections on
    multiple arbitrary addresses—not just `localhost`. ([!1613])
  [#]## Key manager
  - The key manager code now has improved support for generating
    keypairs, keys with derived data, and other structures needed for
    onion services. ([!1653])
  - The key manager now encodes whether a key is private or public in its
    file extension. ([!1672])
  - The key manager now disallows path components that could lead
    (under some programming errors) to directory traversal. ([!1661])
  - We can now list keys by path and type; this is important so that
    we can identify disused keys and eventually expire them. ([!1677])
  See https://gitlab.torproject.org/tpo/core/arti/-/blob/c39857a8a63200ed5ed539d1f9231b05d7da7e0d/CHANGELOG.md
  for more info</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1702036800">- Update to version 1.1.11:
  Arti 1.1.11 continues work on support for running onion services.
  Onion services are now working in our testing, and we expect we'll
  have something testable by others in our next release.
  Arti 1.1.11 also increases our MSRV (Minimum Supported Rust Version)
  to 1.70, in accordance with our [MSRV policy].
  [#]## Onion service development
  - Correct our handling of BEGIN and END messages to bring them
    into conformance with the C Tor implementation and the specification.
    ([#1077], [!1694], [!1738])
  - In our key manager, use macros to define key specifiers, instead of
    repeating the same boilerplate code. ([#1069], [#1093], [!1710],
    [!1733])
  - Refactoring and refinement on the definitions of onion-service-related
    errors. ([!1718], [!1724], [!1750], [!1751], [!1779])
  - Add a "time-store" mechanism for (as correctly as possible) storing and loading
    future timestamps, even in the presence of system clock skew ([!1723], [!1774])
  - Implement a replay-log backend to prevent INTRODUCE replay attacks
    against onion services. ([!1725])
  - Improved encoding for key-denotators in the key manager. ([#1063],
    [#1070], [!1722])
  - Allow a single key to have more than one denotator in its path.
    ([#1112], [!1747])
  - Use an order-preserving-encryption back-end to generate
    monotonically increasing revision counters for onion service
    descriptors.  We do this to ensure a reproducible series of counters
    without leaking our clock skew.  ([#1053], [!1741], [!1744])
  - Deprecate key types for INTRODUCE-based authentication:
    C tor has never implemented this, and we do not plan to implement it
    without additional specification work. ([#1037], [!1749])
  - When establishing an introduction point, send the `intro_dos`
    extension as appropriate. ([#723], [!1740])
  - Added conversion functions and initial persistence support for
    introduction point keys. ([!1756])
  - Start work on introduction point persistence. ([!1755], [!1765]).
  - Revert to our intended configuration format for onion service proxy rules.
    ([#1058], [!1771])
  [#]## Client features
  - Backend and API code for the "ntor-v3" circuit-extension handshake.
    This handshake adds the ability to send additional options
    from the client to the relay when creating or extending a circuit,
    and will eventually be used to negotiate protocol features like
    RTT-based congestion control and UDP-over-Tor support.
    ([!1720], [!1739])</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1705320000">- Update to version 1.1.12~0:
  Arti 1.1.12 continues work on support for running onion services.
  You can now launch an onion service and expect it to run,
  though the user experience leaves a lot to be desired.
  Don't rely on this onion service implementation for security yet;
  there are a number of [missing security features]
  we will need to develop before we can recommend them
  for actual use.
  https://gitlab.torproject.org/tpo/core/arti/-/blob/3c44d849f4c3332ccbb86328392d54e7c1d8e9b6/CHANGELOG.md
- Updated the ignored RUSTSEC advisories, as per the project
  recommended way of building the crate</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059200">- Update to version 1.2.1:
  * Reorganize onion service code.
  * Design work for out-of-memory handling, which is necessary for
    onion service security.
  * Initial implementation work for onion service [vanguards],
    which are needed to improve onion service security.
    This is not yet complete.
  * Added support for unmanaged pluggable transports
  * Begun work to improve Tor's relay cell protocol with support
    for packed and fragmented messages
- Update to version 1.2.0
  * Initial support for running onion services.
  * Fixed a number of bugs and security issues.
  * Made the onion-service-service feature non-experimental.
  For a full changelog, refer to the package changelog
  (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059201">- Added LICENSE-APACHE and LICENSE-MIT to %files
- Added README.md and CHANGELOG.md to %files</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1712232000">- Update constraints to build on more workers (especially for aarch64)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1717675200">- Update to version 1.2.4:
  * Development on onion services, and on the RPC subsystem.
  * This release restores the faravahar directory authority,
    which has a new location and keys.
  * Fixed two-medium security issues, tracked as TROVE-2024-005
    and TROVE-2024-006.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.3:
  * Fixes a high-severity issue affecting onion services and
    clients connecting to onion services with 'lite' vanguards
    (the default) enabled. TROVE-2024-003
  * This release also fixes a medium-severity issue affecting
    'full' vanguards. TROVE-2024-004
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.2:
  * Arti now supports Vanguards for improved security
    against guard discovery for onion service circuits.
    By default, we use the vanguards-lite algorithm;
    the vanguards-full algorithm can be configured.
  * Update to use the new identity key for the tor26 directory
    authority.
  * Fix an inadvertent recursion bug when converting TorAddrError
    to arti_client::Error.
  * Improve reliability of bootstrap status reporting.
  * Convert to use figment instead of config-rs as our
    configuration backend, for improved error messages.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
</package>
<package pkgid="c92213de523e61b9d966e8f3d7f37d354908899194e8c6e549521d643e27394c186763df904fbfa3d470165689cdf7a1f1dff10fa39e0ff17ed56e54c0c74cb6" name="arti-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.4~0" rel="2.0.4.1.sr20240605"/>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1697803200">- Version 1.1.9</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1698235200">- Run format_spec_file service</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1698667200">- Add _constraints file to avoid build failures</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1699876800">- Update to version 1.1.10:
  Arti 1.1.10 continues work on support for onion services in
  Arti. At last, we can (technically) run as an onion service...
  though not yet in a useful way. (Onion services don't yet recover
  correctly after a restart, outdated keys are not removed, and we
  are missing other important security features.)
  [#]## Breaking changes in lower-level crates
  - The [`IoErrorExt`] trait in [`tor-basic-utils`] is now
    sealed. ([!1654])
  - The [`Requestable`] trait in [`tor-dirclient`] is now sealed,
    and most of its members are now private. ([!1679])
  - In [`tor-cell`], stream and circuit IDs are now inherently
    non-zero. To represent an ID that might be zero on the wire, we
    now use
    `Option&lt;StreamId&gt;` or `Option&lt;CircId&gt;`. ([#1080], [!1697])
  - In [`tor-cell`], `CREATE2` handshake types are no longer raw
    `u16` values. ([!1703])
  - In [`tor-cert`], `encode_and_sign` now returns an
    `Ed25519EncodedCert` rather than a raw `Vec&lt;u8&gt;`. ([!1702])
  [#]## Client features
  - Arti can now be configured to listen for connections on
    multiple arbitrary addresses—not just `localhost`. ([!1613])
  [#]## Key manager
  - The key manager code now has improved support for generating
    keypairs, keys with derived data, and other structures needed for
    onion services. ([!1653])
  - The key manager now encodes whether a key is private or public in its
    file extension. ([!1672])
  - The key manager now disallows path components that could lead
    (under some programming errors) to directory traversal. ([!1661])
  - We can now list keys by path and type; this is important so that
    we can identify disused keys and eventually expire them. ([!1677])
  See https://gitlab.torproject.org/tpo/core/arti/-/blob/c39857a8a63200ed5ed539d1f9231b05d7da7e0d/CHANGELOG.md
  for more info</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1702036800">- Update to version 1.1.11:
  Arti 1.1.11 continues work on support for running onion services.
  Onion services are now working in our testing, and we expect we'll
  have something testable by others in our next release.
  Arti 1.1.11 also increases our MSRV (Minimum Supported Rust Version)
  to 1.70, in accordance with our [MSRV policy].
  [#]## Onion service development
  - Correct our handling of BEGIN and END messages to bring them
    into conformance with the C Tor implementation and the specification.
    ([#1077], [!1694], [!1738])
  - In our key manager, use macros to define key specifiers, instead of
    repeating the same boilerplate code. ([#1069], [#1093], [!1710],
    [!1733])
  - Refactoring and refinement on the definitions of onion-service-related
    errors. ([!1718], [!1724], [!1750], [!1751], [!1779])
  - Add a "time-store" mechanism for (as correctly as possible) storing and loading
    future timestamps, even in the presence of system clock skew ([!1723], [!1774])
  - Implement a replay-log backend to prevent INTRODUCE replay attacks
    against onion services. ([!1725])
  - Improved encoding for key-denotators in the key manager. ([#1063],
    [#1070], [!1722])
  - Allow a single key to have more than one denotator in its path.
    ([#1112], [!1747])
  - Use an order-preserving-encryption back-end to generate
    monotonically increasing revision counters for onion service
    descriptors.  We do this to ensure a reproducible series of counters
    without leaking our clock skew.  ([#1053], [!1741], [!1744])
  - Deprecate key types for INTRODUCE-based authentication:
    C tor has never implemented this, and we do not plan to implement it
    without additional specification work. ([#1037], [!1749])
  - When establishing an introduction point, send the `intro_dos`
    extension as appropriate. ([#723], [!1740])
  - Added conversion functions and initial persistence support for
    introduction point keys. ([!1756])
  - Start work on introduction point persistence. ([!1755], [!1765]).
  - Revert to our intended configuration format for onion service proxy rules.
    ([#1058], [!1771])
  [#]## Client features
  - Backend and API code for the "ntor-v3" circuit-extension handshake.
    This handshake adds the ability to send additional options
    from the client to the relay when creating or extending a circuit,
    and will eventually be used to negotiate protocol features like
    RTT-based congestion control and UDP-over-Tor support.
    ([!1720], [!1739])</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1705320000">- Update to version 1.1.12~0:
  Arti 1.1.12 continues work on support for running onion services.
  You can now launch an onion service and expect it to run,
  though the user experience leaves a lot to be desired.
  Don't rely on this onion service implementation for security yet;
  there are a number of [missing security features]
  we will need to develop before we can recommend them
  for actual use.
  https://gitlab.torproject.org/tpo/core/arti/-/blob/3c44d849f4c3332ccbb86328392d54e7c1d8e9b6/CHANGELOG.md
- Updated the ignored RUSTSEC advisories, as per the project
  recommended way of building the crate</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059200">- Update to version 1.2.1:
  * Reorganize onion service code.
  * Design work for out-of-memory handling, which is necessary for
    onion service security.
  * Initial implementation work for onion service [vanguards],
    which are needed to improve onion service security.
    This is not yet complete.
  * Added support for unmanaged pluggable transports
  * Begun work to improve Tor's relay cell protocol with support
    for packed and fragmented messages
- Update to version 1.2.0
  * Initial support for running onion services.
  * Fixed a number of bugs and security issues.
  * Made the onion-service-service feature non-experimental.
  For a full changelog, refer to the package changelog
  (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059201">- Added LICENSE-APACHE and LICENSE-MIT to %files
- Added README.md and CHANGELOG.md to %files</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1712232000">- Update constraints to build on more workers (especially for aarch64)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1717675200">- Update to version 1.2.4:
  * Development on onion services, and on the RPC subsystem.
  * This release restores the faravahar directory authority,
    which has a new location and keys.
  * Fixed two-medium security issues, tracked as TROVE-2024-005
    and TROVE-2024-006.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.3:
  * Fixes a high-severity issue affecting onion services and
    clients connecting to onion services with 'lite' vanguards
    (the default) enabled. TROVE-2024-003
  * This release also fixes a medium-severity issue affecting
    'full' vanguards. TROVE-2024-004
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.2:
  * Arti now supports Vanguards for improved security
    against guard discovery for onion service circuits.
    By default, we use the vanguards-lite algorithm;
    the vanguards-full algorithm can be configured.
  * Update to use the new identity key for the tor26 directory
    authority.
  * Fix an inadvertent recursion bug when converting TorAddrError
    to arti_client::Error.
  * Improve reliability of bootstrap status reporting.
  * Convert to use figment instead of config-rs as our
    configuration backend, for improved error messages.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1719489600">- Increase RAM needed per thread in %limit_build to avoid OOM on aarch64</changelog>
</package>
<package pkgid="8ae8f0e8a0304ec30ed17413dd4384de07be7e3bae9ea8d367a4324f0512ee2b598636c7efb147406daf5ccb7b432e7a3e8f05541838ba31a6a60a43a1ac0b58" name="arti-debugsource" arch="x86_64">
  <version epoch="0" ver="1.2.4~0" rel="1.1"/>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1697803200">- Version 1.1.9</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1698235200">- Run format_spec_file service</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1698667200">- Add _constraints file to avoid build failures</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1699876800">- Update to version 1.1.10:
  Arti 1.1.10 continues work on support for onion services in
  Arti. At last, we can (technically) run as an onion service...
  though not yet in a useful way. (Onion services don't yet recover
  correctly after a restart, outdated keys are not removed, and we
  are missing other important security features.)
  [#]## Breaking changes in lower-level crates
  - The [`IoErrorExt`] trait in [`tor-basic-utils`] is now
    sealed. ([!1654])
  - The [`Requestable`] trait in [`tor-dirclient`] is now sealed,
    and most of its members are now private. ([!1679])
  - In [`tor-cell`], stream and circuit IDs are now inherently
    non-zero. To represent an ID that might be zero on the wire, we
    now use
    `Option&lt;StreamId&gt;` or `Option&lt;CircId&gt;`. ([#1080], [!1697])
  - In [`tor-cell`], `CREATE2` handshake types are no longer raw
    `u16` values. ([!1703])
  - In [`tor-cert`], `encode_and_sign` now returns an
    `Ed25519EncodedCert` rather than a raw `Vec&lt;u8&gt;`. ([!1702])
  [#]## Client features
  - Arti can now be configured to listen for connections on
    multiple arbitrary addresses—not just `localhost`. ([!1613])
  [#]## Key manager
  - The key manager code now has improved support for generating
    keypairs, keys with derived data, and other structures needed for
    onion services. ([!1653])
  - The key manager now encodes whether a key is private or public in its
    file extension. ([!1672])
  - The key manager now disallows path components that could lead
    (under some programming errors) to directory traversal. ([!1661])
  - We can now list keys by path and type; this is important so that
    we can identify disused keys and eventually expire them. ([!1677])
  See https://gitlab.torproject.org/tpo/core/arti/-/blob/c39857a8a63200ed5ed539d1f9231b05d7da7e0d/CHANGELOG.md
  for more info</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1702036800">- Update to version 1.1.11:
  Arti 1.1.11 continues work on support for running onion services.
  Onion services are now working in our testing, and we expect we'll
  have something testable by others in our next release.
  Arti 1.1.11 also increases our MSRV (Minimum Supported Rust Version)
  to 1.70, in accordance with our [MSRV policy].
  [#]## Onion service development
  - Correct our handling of BEGIN and END messages to bring them
    into conformance with the C Tor implementation and the specification.
    ([#1077], [!1694], [!1738])
  - In our key manager, use macros to define key specifiers, instead of
    repeating the same boilerplate code. ([#1069], [#1093], [!1710],
    [!1733])
  - Refactoring and refinement on the definitions of onion-service-related
    errors. ([!1718], [!1724], [!1750], [!1751], [!1779])
  - Add a "time-store" mechanism for (as correctly as possible) storing and loading
    future timestamps, even in the presence of system clock skew ([!1723], [!1774])
  - Implement a replay-log backend to prevent INTRODUCE replay attacks
    against onion services. ([!1725])
  - Improved encoding for key-denotators in the key manager. ([#1063],
    [#1070], [!1722])
  - Allow a single key to have more than one denotator in its path.
    ([#1112], [!1747])
  - Use an order-preserving-encryption back-end to generate
    monotonically increasing revision counters for onion service
    descriptors.  We do this to ensure a reproducible series of counters
    without leaking our clock skew.  ([#1053], [!1741], [!1744])
  - Deprecate key types for INTRODUCE-based authentication:
    C tor has never implemented this, and we do not plan to implement it
    without additional specification work. ([#1037], [!1749])
  - When establishing an introduction point, send the `intro_dos`
    extension as appropriate. ([#723], [!1740])
  - Added conversion functions and initial persistence support for
    introduction point keys. ([!1756])
  - Start work on introduction point persistence. ([!1755], [!1765]).
  - Revert to our intended configuration format for onion service proxy rules.
    ([#1058], [!1771])
  [#]## Client features
  - Backend and API code for the "ntor-v3" circuit-extension handshake.
    This handshake adds the ability to send additional options
    from the client to the relay when creating or extending a circuit,
    and will eventually be used to negotiate protocol features like
    RTT-based congestion control and UDP-over-Tor support.
    ([!1720], [!1739])</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1705320000">- Update to version 1.1.12~0:
  Arti 1.1.12 continues work on support for running onion services.
  You can now launch an onion service and expect it to run,
  though the user experience leaves a lot to be desired.
  Don't rely on this onion service implementation for security yet;
  there are a number of [missing security features]
  we will need to develop before we can recommend them
  for actual use.
  https://gitlab.torproject.org/tpo/core/arti/-/blob/3c44d849f4c3332ccbb86328392d54e7c1d8e9b6/CHANGELOG.md
- Updated the ignored RUSTSEC advisories, as per the project
  recommended way of building the crate</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059200">- Update to version 1.2.1:
  * Reorganize onion service code.
  * Design work for out-of-memory handling, which is necessary for
    onion service security.
  * Initial implementation work for onion service [vanguards],
    which are needed to improve onion service security.
    This is not yet complete.
  * Added support for unmanaged pluggable transports
  * Begun work to improve Tor's relay cell protocol with support
    for packed and fragmented messages
- Update to version 1.2.0
  * Initial support for running onion services.
  * Fixed a number of bugs and security issues.
  * Made the onion-service-service feature non-experimental.
  For a full changelog, refer to the package changelog
  (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059201">- Added LICENSE-APACHE and LICENSE-MIT to %files
- Added README.md and CHANGELOG.md to %files</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1712232000">- Update constraints to build on more workers (especially for aarch64)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1717675200">- Update to version 1.2.4:
  * Development on onion services, and on the RPC subsystem.
  * This release restores the faravahar directory authority,
    which has a new location and keys.
  * Fixed two-medium security issues, tracked as TROVE-2024-005
    and TROVE-2024-006.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.3:
  * Fixes a high-severity issue affecting onion services and
    clients connecting to onion services with 'lite' vanguards
    (the default) enabled. TROVE-2024-003
  * This release also fixes a medium-severity issue affecting
    'full' vanguards. TROVE-2024-004
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.2:
  * Arti now supports Vanguards for improved security
    against guard discovery for onion service circuits.
    By default, we use the vanguards-lite algorithm;
    the vanguards-full algorithm can be configured.
  * Update to use the new identity key for the tor26 directory
    authority.
  * Fix an inadvertent recursion bug when converting TorAddrError
    to arti_client::Error.
  * Improve reliability of bootstrap status reporting.
  * Convert to use figment instead of config-rs as our
    configuration backend, for improved error messages.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
</package>
<package pkgid="cc3529ec7d6b6588b7776ee2f8ee077ed1d81341284a8d9ff3aeec17149eab312a1cf124cdc5e9ba261b11c2d24d5d940deb6bbb211da8cb5c4051c1c15b8c5e" name="arti-debugsource" arch="x86_64">
  <version epoch="0" ver="1.2.4~0" rel="2.0.4.1.sr20240605"/>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1697803200">- Version 1.1.9</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1698235200">- Run format_spec_file service</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1698667200">- Add _constraints file to avoid build failures</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1699876800">- Update to version 1.1.10:
  Arti 1.1.10 continues work on support for onion services in
  Arti. At last, we can (technically) run as an onion service...
  though not yet in a useful way. (Onion services don't yet recover
  correctly after a restart, outdated keys are not removed, and we
  are missing other important security features.)
  [#]## Breaking changes in lower-level crates
  - The [`IoErrorExt`] trait in [`tor-basic-utils`] is now
    sealed. ([!1654])
  - The [`Requestable`] trait in [`tor-dirclient`] is now sealed,
    and most of its members are now private. ([!1679])
  - In [`tor-cell`], stream and circuit IDs are now inherently
    non-zero. To represent an ID that might be zero on the wire, we
    now use
    `Option&lt;StreamId&gt;` or `Option&lt;CircId&gt;`. ([#1080], [!1697])
  - In [`tor-cell`], `CREATE2` handshake types are no longer raw
    `u16` values. ([!1703])
  - In [`tor-cert`], `encode_and_sign` now returns an
    `Ed25519EncodedCert` rather than a raw `Vec&lt;u8&gt;`. ([!1702])
  [#]## Client features
  - Arti can now be configured to listen for connections on
    multiple arbitrary addresses—not just `localhost`. ([!1613])
  [#]## Key manager
  - The key manager code now has improved support for generating
    keypairs, keys with derived data, and other structures needed for
    onion services. ([!1653])
  - The key manager now encodes whether a key is private or public in its
    file extension. ([!1672])
  - The key manager now disallows path components that could lead
    (under some programming errors) to directory traversal. ([!1661])
  - We can now list keys by path and type; this is important so that
    we can identify disused keys and eventually expire them. ([!1677])
  See https://gitlab.torproject.org/tpo/core/arti/-/blob/c39857a8a63200ed5ed539d1f9231b05d7da7e0d/CHANGELOG.md
  for more info</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1702036800">- Update to version 1.1.11:
  Arti 1.1.11 continues work on support for running onion services.
  Onion services are now working in our testing, and we expect we'll
  have something testable by others in our next release.
  Arti 1.1.11 also increases our MSRV (Minimum Supported Rust Version)
  to 1.70, in accordance with our [MSRV policy].
  [#]## Onion service development
  - Correct our handling of BEGIN and END messages to bring them
    into conformance with the C Tor implementation and the specification.
    ([#1077], [!1694], [!1738])
  - In our key manager, use macros to define key specifiers, instead of
    repeating the same boilerplate code. ([#1069], [#1093], [!1710],
    [!1733])
  - Refactoring and refinement on the definitions of onion-service-related
    errors. ([!1718], [!1724], [!1750], [!1751], [!1779])
  - Add a "time-store" mechanism for (as correctly as possible) storing and loading
    future timestamps, even in the presence of system clock skew ([!1723], [!1774])
  - Implement a replay-log backend to prevent INTRODUCE replay attacks
    against onion services. ([!1725])
  - Improved encoding for key-denotators in the key manager. ([#1063],
    [#1070], [!1722])
  - Allow a single key to have more than one denotator in its path.
    ([#1112], [!1747])
  - Use an order-preserving-encryption back-end to generate
    monotonically increasing revision counters for onion service
    descriptors.  We do this to ensure a reproducible series of counters
    without leaking our clock skew.  ([#1053], [!1741], [!1744])
  - Deprecate key types for INTRODUCE-based authentication:
    C tor has never implemented this, and we do not plan to implement it
    without additional specification work. ([#1037], [!1749])
  - When establishing an introduction point, send the `intro_dos`
    extension as appropriate. ([#723], [!1740])
  - Added conversion functions and initial persistence support for
    introduction point keys. ([!1756])
  - Start work on introduction point persistence. ([!1755], [!1765]).
  - Revert to our intended configuration format for onion service proxy rules.
    ([#1058], [!1771])
  [#]## Client features
  - Backend and API code for the "ntor-v3" circuit-extension handshake.
    This handshake adds the ability to send additional options
    from the client to the relay when creating or extending a circuit,
    and will eventually be used to negotiate protocol features like
    RTT-based congestion control and UDP-over-Tor support.
    ([!1720], [!1739])</changelog>
  <changelog author="eyadlorenzo@gmail.com" date="1705320000">- Update to version 1.1.12~0:
  Arti 1.1.12 continues work on support for running onion services.
  You can now launch an onion service and expect it to run,
  though the user experience leaves a lot to be desired.
  Don't rely on this onion service implementation for security yet;
  there are a number of [missing security features]
  we will need to develop before we can recommend them
  for actual use.
  https://gitlab.torproject.org/tpo/core/arti/-/blob/3c44d849f4c3332ccbb86328392d54e7c1d8e9b6/CHANGELOG.md
- Updated the ignored RUSTSEC advisories, as per the project
  recommended way of building the crate</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059200">- Update to version 1.2.1:
  * Reorganize onion service code.
  * Design work for out-of-memory handling, which is necessary for
    onion service security.
  * Initial implementation work for onion service [vanguards],
    which are needed to improve onion service security.
    This is not yet complete.
  * Added support for unmanaged pluggable transports
  * Begun work to improve Tor's relay cell protocol with support
    for packed and fragmented messages
- Update to version 1.2.0
  * Initial support for running onion services.
  * Fixed a number of bugs and security issues.
  * Made the onion-service-service feature non-experimental.
  For a full changelog, refer to the package changelog
  (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1712059201">- Added LICENSE-APACHE and LICENSE-MIT to %files
- Added README.md and CHANGELOG.md to %files</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1712232000">- Update constraints to build on more workers (especially for aarch64)</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1717675200">- Update to version 1.2.4:
  * Development on onion services, and on the RPC subsystem.
  * This release restores the faravahar directory authority,
    which has a new location and keys.
  * Fixed two-medium security issues, tracked as TROVE-2024-005
    and TROVE-2024-006.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.3:
  * Fixes a high-severity issue affecting onion services and
    clients connecting to onion services with 'lite' vanguards
    (the default) enabled. TROVE-2024-003
  * This release also fixes a medium-severity issue affecting
    'full' vanguards. TROVE-2024-004
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)
- Update to version 1.2.2:
  * Arti now supports Vanguards for improved security
    against guard discovery for onion service circuits.
    By default, we use the vanguards-lite algorithm;
    the vanguards-full algorithm can be configured.
  * Update to use the new identity key for the tor26 directory
    authority.
  * Fix an inadvertent recursion bug when converting TorAddrError
    to arti_client::Error.
  * Improve reliability of bootstrap status reporting.
  * Convert to use figment instead of config-rs as our
    configuration backend, for improved error messages.
  * For a full changelog, refer to the installed package changelog
    (/usr/share/doc/packages/arti/CHANGELOG.md)</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1719489600">- Increase RAM needed per thread in %limit_build to avoid OOM on aarch64</changelog>
</package>
<package pkgid="0ec1a457706caccd7a7f62c1dbdc9195a6cc735ba490e90fd928eed78198e301d312efca90b51ca5da9bbaf198e16c592cd64fa6e38cc857510a879c40ddf991" name="artikulate" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Use NewStuff.Action instead of custom download page
  * Modernized CourseModel codebase
  * Remove extra ';'</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: try stage for data files.
  * snapcraft: use override-prime to manipulate data files into the correct location.
  * snapcraft: fix organize yaml for data.
  * snapcraft: Fix path to where data is installed. Fix qqc env.
  * snapcraft: fix artikulate-data plugin.
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: bump content pack version, new dependency qtbase-private</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="32753360559fc297f5409367a108786a4085b0e47a7f181fd5219db52b7e1f6c1c11d207e15554ea4b866c39b6a98e3fbbfc784a91141fd35a4b68f41acbeb88" name="artikulate" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Use NewStuff.Action instead of custom download page
  * Modernized CourseModel codebase
  * Remove extra ';'</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: try stage for data files.
  * snapcraft: use override-prime to manipulate data files into the correct location.
  * snapcraft: fix organize yaml for data.
  * snapcraft: Fix path to where data is installed. Fix qqc env.
  * snapcraft: fix artikulate-data plugin.
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: bump content pack version, new dependency qtbase-private</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="dd07ad5a3e0216a586e6db3f68c99bc2291f2c9761715d320f858c22f6a0f5d6fa15464d8a6664ffbf86ffd7dafb726332bb817713ff2f28a8dabe045ebde4ac" name="artikulate-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Use NewStuff.Action instead of custom download page
  * Modernized CourseModel codebase
  * Remove extra ';'</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: try stage for data files.
  * snapcraft: use override-prime to manipulate data files into the correct location.
  * snapcraft: fix organize yaml for data.
  * snapcraft: Fix path to where data is installed. Fix qqc env.
  * snapcraft: fix artikulate-data plugin.
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: bump content pack version, new dependency qtbase-private</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="f0fa175adbc038d5d2c0b7461a016c4f8fedc4804e6dfa6a16fafdc6d11b9a33d37a7adc44b7eb73a389d29c165a77a7705428bd4b4e498f6ff2381aead780f0" name="artikulate-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Use NewStuff.Action instead of custom download page
  * Modernized CourseModel codebase
  * Remove extra ';'</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: try stage for data files.
  * snapcraft: use override-prime to manipulate data files into the correct location.
  * snapcraft: fix organize yaml for data.
  * snapcraft: Fix path to where data is installed. Fix qqc env.
  * snapcraft: fix artikulate-data plugin.
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: bump content pack version, new dependency qtbase-private</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="34c3d240a9a6da663db41921ed901d9e4ed456150869b934d54215b94983f726c93c86680a069f3d24251eb8b6961b388f9ef5dc27df6e0793ae32c0a975cffc" name="artikulate-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Use NewStuff.Action instead of custom download page
  * Modernized CourseModel codebase
  * Remove extra ';'</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: try stage for data files.
  * snapcraft: use override-prime to manipulate data files into the correct location.
  * snapcraft: fix organize yaml for data.
  * snapcraft: Fix path to where data is installed. Fix qqc env.
  * snapcraft: fix artikulate-data plugin.
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: bump content pack version, new dependency qtbase-private</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="2d1966ccb804c64d22db923f553aa9ab40fb4872cf4f84afb67d768226ec673c81db4fa61576171129e18de07816f28d13bf1faea4a99a3b7332d51c1f277aca" name="asciidoc" arch="noarch">
  <version epoch="0" ver="10.2.0" rel="2.1"/>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1596456000">- Update to version 9.0.2:
  * Revert to using optparse from argparse for a2x</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1603281600">- Update to version 9.0.3
  * Fix extra newline characters inserted into generated source
  * Validate line endings as part of test suite</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1604404800">- Update to version 9.0.4
  * Fix listing out installed plugins (e.g. --filter list)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1611489600">- update to 9.0.5:
  - Use config newline setting in system attribute evaulation
  - Update to deadsnakes/python@v2.0.2</changelog>
  <changelog author="Matthias Eliasson &lt;elimat@opensuse.org&gt;" date="1614600000">- update to version 9.1.0
  * Can specify a line range when using the include macro.
  * Setting the SGML_CATALOG_FILES environment variable will set --catalogs
    on xmllint within a2x.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 10.1.4
  * Add top-level __version__ and VERSION module exports
  * Fix self reference errors in AsciiDocApi
  * Add back asciidoc execute print in a2x verbose
- Update to version 10.0.0
  * AsciiDoc.py has been rewritten to be a proper Python package
  * Support for overriding the bundled *.conf files is done through
    CLI flags, environment variables, etc., and not through directly
    editing the files within the installation.
  * Importing asciidoc should no longer require the asciidocapi.py script
    and can be done through regular python import
  * The APIs of the asciidoc and a2x scripts are now considered
    "provisional" with no guarantee of BC between releases with the
    exception of the asciidoc.execute method.
- Update to version 9.1.1
  * Cleanup outfile on system-exiting exceptions
- Rebased asciidoc.version.patch</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1651492800">- Add a subpackage that brings in the requirements for building pdf (too much
  for default, recommends won't help in building OBS packages)
- Adding multibuild flavor to verify the latex dependencies are complete
- Motivated by nut failing to build pdf in SP4</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1655899200">- Do not recommend asciidoc-latex-backend: Do not pull in the LaTeX
  stack on all systems using asciidoc.
- Supplement asciidoc and dblatext with the -latex-backend sub
  package: users that have both, asciidoc and dblatex installed,
  and thus already opted-in to LaTeX, will also get the backend
  installed.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1655985600">- Update to version 10.2.0:
  + Future feature:
  - As part of the intended 10.3.0 release, the following
    document attribute flags will be reserved for modifying
    asciidoc-py runtime behavior:
    . future-compat
    . legacy-compat
    . compat-mode
  - Please see GH issue #254 for more information.
  + Bug fixes: Fix verbose output not working when using a2x or
    asciidoc entry points.
  + Miscellaneous: Automate publishing asciidoc-py website as part
    of release process.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Remove python3 shebang from sitelib files (bsc#1212476)</changelog>
</package>
<package pkgid="b0053b0f2a7e9530ce041551c0becfa4e23025fadba9df1376079528dfe31107bba7debde3c9d19576fb45ae240ae4c4ed42e0d5fd98c108df1052a1ca2da8f6" name="asciidoc" arch="src">
  <version epoch="0" ver="10.2.0" rel="2.1"/>
  <changelog author="bwiedemann@suse.com" date="1507291200">- Re-add documentation</changelog>
  <changelog author="mpluskal@suse.com" date="1510056000">- Explicitly use python2 (fate#323526)</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Tom&#xE1;&#x161; Chv&#xE1;tal &lt;tchvatal@suse.com&gt;" date="1579003200">- Update to 9.0.0rc1:
  * Port asciidoc to run on Python 3.5+ (see https://github.com/asciidoc/asciidoc for the EOL Python 2 implementation)
  * Drop internal implementation of OrderedDict and use the standard library collections.OrderedDict instead
  * Implement Dockerfile for running asciidoc
  * Add Catalan translation
  * Add docbook5 backend
  * Fix misspellings in various files and documents
  * Use UTC for testing instead of Pacific/Auckland (which observes daylight saving time).
  * Use "with" context statement for opening and closing files instead of older try/finally pattern.
  * Search sibling paths before system wide paths in asciidocapi
  * Add manpage for testasciidoc.py
  * Use argparse instead of optparse for argument parsing
  * Migrate from A-A-P based build system to Make</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1579003201">- Small packaging adjustements</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1587470400">- Update to 9.0.0rc2:
  - Running `make help` will now print out a helpful usage message
  - Add simplified Chinese translation (thanks @muirmok)
  - vim-asciidoc: speed up the refresh process for big files (thanks @aerostitch)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1587470401">- Bring back asciidoc in maintainable fashion to fix bsc#1135082</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1587643200">- simplify requires - we don't need the full python3, but the
  interpreter and xml module (which is part of base)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1591704000">- Update to version 9.0.0:
  * Port asciidoc to run on Python 3.5+
  * Drop internal implementation of OrderedDict and use the
    standard library collections.OrderedDict instead
  * Implement Dockerfile for running asciidoc
  * Add Catalan translation
  * Add docbook5 backend
  * Fix misspellings in various files and documents
  * Use UTC for testing instead of Pacific/Auckland (which observes
    daylight saving time)
  * Use "with" context statement for opening and closing files
    instead of older try/finally pattern
  * Search sibling paths before system wide paths in asciidocapi
  * Add manpage for testasciidoc.py
  * Use argparse instead of optparse for argument parsing
  * Add simplified Chinese translation (thanks @muirmok)
  * vim-asciidoc: speed up the refresh process for big files
  * Allow specifying floatstyle attribute for figures, tables,
    equations, examples in docbook (thanks @psaris)
  * Use https://pypi.org/project/trans/[trans python module]
    (if available) to better handle character decomposition to
    ascii for ascii-ids (thanks @rkel)
  * Use lru_cache to memoize repeated calls to macro look-up
    giving potential ~15% speed-up on parsing
  * Fix index terms requiring two characters instead of just one
  * Properly capture and use colophon, dedication, and preface for
    docbooks in Japanese (see #2 (comment))
  * make install did not include the unwraplatex.py filter
  * Fix a2x option collection from input file with non-ascii
    encoding
  * Fix options attribute not being properly parsed in Delimited
    Blocks attribute list
  * Migrate from hierarchical A-A-P build system to top-level
    Makefile
  * Add make help target that prints out usage message for make
  * Fix double slash issue in Makefile when installing asciidoc
    or its docs
  * Commit generated test files to the repository for continuous
    integration
  * Test against Python 3.5+ on Travis-CI
  * Remove symlink tests/asciidocapi.py in favor of just appending
    to sys.path
  * Add requires directive to testasciidoc.conf to indicate
    necessary external dependencies (e.g. source-highlight)</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1593777600">- Update to version 9.0.1:
  * Fix a2x crashing on decoding generated HTML pages</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1596456000">- Update to version 9.0.2:
  * Revert to using optparse from argparse for a2x</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1603281600">- Update to version 9.0.3
  * Fix extra newline characters inserted into generated source
  * Validate line endings as part of test suite</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1604404800">- Update to version 9.0.4
  * Fix listing out installed plugins (e.g. --filter list)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1611489600">- update to 9.0.5:
  - Use config newline setting in system attribute evaulation
  - Update to deadsnakes/python@v2.0.2</changelog>
  <changelog author="Matthias Eliasson &lt;elimat@opensuse.org&gt;" date="1614600000">- update to version 9.1.0
  * Can specify a line range when using the include macro.
  * Setting the SGML_CATALOG_FILES environment variable will set --catalogs
    on xmllint within a2x.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 10.1.4
  * Add top-level __version__ and VERSION module exports
  * Fix self reference errors in AsciiDocApi
  * Add back asciidoc execute print in a2x verbose
- Update to version 10.0.0
  * AsciiDoc.py has been rewritten to be a proper Python package
  * Support for overriding the bundled *.conf files is done through
    CLI flags, environment variables, etc., and not through directly
    editing the files within the installation.
  * Importing asciidoc should no longer require the asciidocapi.py script
    and can be done through regular python import
  * The APIs of the asciidoc and a2x scripts are now considered
    "provisional" with no guarantee of BC between releases with the
    exception of the asciidoc.execute method.
- Update to version 9.1.1
  * Cleanup outfile on system-exiting exceptions
- Rebased asciidoc.version.patch</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1651492800">- Add a subpackage that brings in the requirements for building pdf (too much
  for default, recommends won't help in building OBS packages)
- Adding multibuild flavor to verify the latex dependencies are complete
- Motivated by nut failing to build pdf in SP4</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1655899200">- Do not recommend asciidoc-latex-backend: Do not pull in the LaTeX
  stack on all systems using asciidoc.
- Supplement asciidoc and dblatext with the -latex-backend sub
  package: users that have both, asciidoc and dblatex installed,
  and thus already opted-in to LaTeX, will also get the backend
  installed.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1655985600">- Update to version 10.2.0:
  + Future feature:
  - As part of the intended 10.3.0 release, the following
    document attribute flags will be reserved for modifying
    asciidoc-py runtime behavior:
    . future-compat
    . legacy-compat
    . compat-mode
  - Please see GH issue #254 for more information.
  + Bug fixes: Fix verbose output not working when using a2x or
    asciidoc entry points.
  + Miscellaneous: Automate publishing asciidoc-py website as part
    of release process.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Remove python3 shebang from sitelib files (bsc#1212476)</changelog>
</package>
<package pkgid="0f1190d86aa3ed15741c4202a4113d4b7b93504e05f327f5798318ce7fda7bfb4cb45f947ca7a01bed6f39994e3288654d2f64992bd73620925dc60b44e554ac" name="asciidoc-examples" arch="noarch">
  <version epoch="0" ver="10.2.0" rel="2.1"/>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1596456000">- Update to version 9.0.2:
  * Revert to using optparse from argparse for a2x</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1603281600">- Update to version 9.0.3
  * Fix extra newline characters inserted into generated source
  * Validate line endings as part of test suite</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1604404800">- Update to version 9.0.4
  * Fix listing out installed plugins (e.g. --filter list)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1611489600">- update to 9.0.5:
  - Use config newline setting in system attribute evaulation
  - Update to deadsnakes/python@v2.0.2</changelog>
  <changelog author="Matthias Eliasson &lt;elimat@opensuse.org&gt;" date="1614600000">- update to version 9.1.0
  * Can specify a line range when using the include macro.
  * Setting the SGML_CATALOG_FILES environment variable will set --catalogs
    on xmllint within a2x.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 10.1.4
  * Add top-level __version__ and VERSION module exports
  * Fix self reference errors in AsciiDocApi
  * Add back asciidoc execute print in a2x verbose
- Update to version 10.0.0
  * AsciiDoc.py has been rewritten to be a proper Python package
  * Support for overriding the bundled *.conf files is done through
    CLI flags, environment variables, etc., and not through directly
    editing the files within the installation.
  * Importing asciidoc should no longer require the asciidocapi.py script
    and can be done through regular python import
  * The APIs of the asciidoc and a2x scripts are now considered
    "provisional" with no guarantee of BC between releases with the
    exception of the asciidoc.execute method.
- Update to version 9.1.1
  * Cleanup outfile on system-exiting exceptions
- Rebased asciidoc.version.patch</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1651492800">- Add a subpackage that brings in the requirements for building pdf (too much
  for default, recommends won't help in building OBS packages)
- Adding multibuild flavor to verify the latex dependencies are complete
- Motivated by nut failing to build pdf in SP4</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1655899200">- Do not recommend asciidoc-latex-backend: Do not pull in the LaTeX
  stack on all systems using asciidoc.
- Supplement asciidoc and dblatext with the -latex-backend sub
  package: users that have both, asciidoc and dblatex installed,
  and thus already opted-in to LaTeX, will also get the backend
  installed.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1655985600">- Update to version 10.2.0:
  + Future feature:
  - As part of the intended 10.3.0 release, the following
    document attribute flags will be reserved for modifying
    asciidoc-py runtime behavior:
    . future-compat
    . legacy-compat
    . compat-mode
  - Please see GH issue #254 for more information.
  + Bug fixes: Fix verbose output not working when using a2x or
    asciidoc entry points.
  + Miscellaneous: Automate publishing asciidoc-py website as part
    of release process.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Remove python3 shebang from sitelib files (bsc#1212476)</changelog>
</package>
<package pkgid="ac8605adf2ca01bc632305184455f1fdc6c6f025c1aa3e565413171db211da43cbd2973d11c15df04dbb6d82a4ee85737e81dc1fa23a0c101697622f39af593d" name="asciidoc-latex-backend" arch="noarch">
  <version epoch="0" ver="10.2.0" rel="2.1"/>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1596456000">- Update to version 9.0.2:
  * Revert to using optparse from argparse for a2x</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1603281600">- Update to version 9.0.3
  * Fix extra newline characters inserted into generated source
  * Validate line endings as part of test suite</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1604404800">- Update to version 9.0.4
  * Fix listing out installed plugins (e.g. --filter list)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1611489600">- update to 9.0.5:
  - Use config newline setting in system attribute evaulation
  - Update to deadsnakes/python@v2.0.2</changelog>
  <changelog author="Matthias Eliasson &lt;elimat@opensuse.org&gt;" date="1614600000">- update to version 9.1.0
  * Can specify a line range when using the include macro.
  * Setting the SGML_CATALOG_FILES environment variable will set --catalogs
    on xmllint within a2x.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 10.1.4
  * Add top-level __version__ and VERSION module exports
  * Fix self reference errors in AsciiDocApi
  * Add back asciidoc execute print in a2x verbose
- Update to version 10.0.0
  * AsciiDoc.py has been rewritten to be a proper Python package
  * Support for overriding the bundled *.conf files is done through
    CLI flags, environment variables, etc., and not through directly
    editing the files within the installation.
  * Importing asciidoc should no longer require the asciidocapi.py script
    and can be done through regular python import
  * The APIs of the asciidoc and a2x scripts are now considered
    "provisional" with no guarantee of BC between releases with the
    exception of the asciidoc.execute method.
- Update to version 9.1.1
  * Cleanup outfile on system-exiting exceptions
- Rebased asciidoc.version.patch</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1651492800">- Add a subpackage that brings in the requirements for building pdf (too much
  for default, recommends won't help in building OBS packages)
- Adding multibuild flavor to verify the latex dependencies are complete
- Motivated by nut failing to build pdf in SP4</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1655899200">- Do not recommend asciidoc-latex-backend: Do not pull in the LaTeX
  stack on all systems using asciidoc.
- Supplement asciidoc and dblatext with the -latex-backend sub
  package: users that have both, asciidoc and dblatex installed,
  and thus already opted-in to LaTeX, will also get the backend
  installed.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1655985600">- Update to version 10.2.0:
  + Future feature:
  - As part of the intended 10.3.0 release, the following
    document attribute flags will be reserved for modifying
    asciidoc-py runtime behavior:
    . future-compat
    . legacy-compat
    . compat-mode
  - Please see GH issue #254 for more information.
  + Bug fixes: Fix verbose output not working when using a2x or
    asciidoc entry points.
  + Miscellaneous: Automate publishing asciidoc-py website as part
    of release process.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Remove python3 shebang from sitelib files (bsc#1212476)</changelog>
</package>
<package pkgid="cb8331cf3929cb50ab5e3ac003df5a669b4b33c5fc58ff6209c3f72028ecdf010dbb347cc8f67b9868c229f7be4c58f4e7ab11c447db2204f42f70b088eaba8c" name="asciidoc-latextest" arch="src">
  <version epoch="0" ver="10.2.0" rel="2.1"/>
  <changelog author="bwiedemann@suse.com" date="1507291200">- Re-add documentation</changelog>
  <changelog author="mpluskal@suse.com" date="1510056000">- Explicitly use python2 (fate#323526)</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Tom&#xE1;&#x161; Chv&#xE1;tal &lt;tchvatal@suse.com&gt;" date="1579003200">- Update to 9.0.0rc1:
  * Port asciidoc to run on Python 3.5+ (see https://github.com/asciidoc/asciidoc for the EOL Python 2 implementation)
  * Drop internal implementation of OrderedDict and use the standard library collections.OrderedDict instead
  * Implement Dockerfile for running asciidoc
  * Add Catalan translation
  * Add docbook5 backend
  * Fix misspellings in various files and documents
  * Use UTC for testing instead of Pacific/Auckland (which observes daylight saving time).
  * Use "with" context statement for opening and closing files instead of older try/finally pattern.
  * Search sibling paths before system wide paths in asciidocapi
  * Add manpage for testasciidoc.py
  * Use argparse instead of optparse for argument parsing
  * Migrate from A-A-P based build system to Make</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1579003201">- Small packaging adjustements</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1587470400">- Update to 9.0.0rc2:
  - Running `make help` will now print out a helpful usage message
  - Add simplified Chinese translation (thanks @muirmok)
  - vim-asciidoc: speed up the refresh process for big files (thanks @aerostitch)</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1587470401">- Bring back asciidoc in maintainable fashion to fix bsc#1135082</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1587643200">- simplify requires - we don't need the full python3, but the
  interpreter and xml module (which is part of base)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1591704000">- Update to version 9.0.0:
  * Port asciidoc to run on Python 3.5+
  * Drop internal implementation of OrderedDict and use the
    standard library collections.OrderedDict instead
  * Implement Dockerfile for running asciidoc
  * Add Catalan translation
  * Add docbook5 backend
  * Fix misspellings in various files and documents
  * Use UTC for testing instead of Pacific/Auckland (which observes
    daylight saving time)
  * Use "with" context statement for opening and closing files
    instead of older try/finally pattern
  * Search sibling paths before system wide paths in asciidocapi
  * Add manpage for testasciidoc.py
  * Use argparse instead of optparse for argument parsing
  * Add simplified Chinese translation (thanks @muirmok)
  * vim-asciidoc: speed up the refresh process for big files
  * Allow specifying floatstyle attribute for figures, tables,
    equations, examples in docbook (thanks @psaris)
  * Use https://pypi.org/project/trans/[trans python module]
    (if available) to better handle character decomposition to
    ascii for ascii-ids (thanks @rkel)
  * Use lru_cache to memoize repeated calls to macro look-up
    giving potential ~15% speed-up on parsing
  * Fix index terms requiring two characters instead of just one
  * Properly capture and use colophon, dedication, and preface for
    docbooks in Japanese (see #2 (comment))
  * make install did not include the unwraplatex.py filter
  * Fix a2x option collection from input file with non-ascii
    encoding
  * Fix options attribute not being properly parsed in Delimited
    Blocks attribute list
  * Migrate from hierarchical A-A-P build system to top-level
    Makefile
  * Add make help target that prints out usage message for make
  * Fix double slash issue in Makefile when installing asciidoc
    or its docs
  * Commit generated test files to the repository for continuous
    integration
  * Test against Python 3.5+ on Travis-CI
  * Remove symlink tests/asciidocapi.py in favor of just appending
    to sys.path
  * Add requires directive to testasciidoc.conf to indicate
    necessary external dependencies (e.g. source-highlight)</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1593777600">- Update to version 9.0.1:
  * Fix a2x crashing on decoding generated HTML pages</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1596456000">- Update to version 9.0.2:
  * Revert to using optparse from argparse for a2x</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1603281600">- Update to version 9.0.3
  * Fix extra newline characters inserted into generated source
  * Validate line endings as part of test suite</changelog>
  <changelog author="Ismail D&#xF6;nmez &lt;idonmez@suse.com&gt;" date="1604404800">- Update to version 9.0.4
  * Fix listing out installed plugins (e.g. --filter list)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1611489600">- update to 9.0.5:
  - Use config newline setting in system attribute evaulation
  - Update to deadsnakes/python@v2.0.2</changelog>
  <changelog author="Matthias Eliasson &lt;elimat@opensuse.org&gt;" date="1614600000">- update to version 9.1.0
  * Can specify a line range when using the include macro.
  * Setting the SGML_CATALOG_FILES environment variable will set --catalogs
    on xmllint within a2x.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1651320000">- Update to version 10.1.4
  * Add top-level __version__ and VERSION module exports
  * Fix self reference errors in AsciiDocApi
  * Add back asciidoc execute print in a2x verbose
- Update to version 10.0.0
  * AsciiDoc.py has been rewritten to be a proper Python package
  * Support for overriding the bundled *.conf files is done through
    CLI flags, environment variables, etc., and not through directly
    editing the files within the installation.
  * Importing asciidoc should no longer require the asciidocapi.py script
    and can be done through regular python import
  * The APIs of the asciidoc and a2x scripts are now considered
    "provisional" with no guarantee of BC between releases with the
    exception of the asciidoc.execute method.
- Update to version 9.1.1
  * Cleanup outfile on system-exiting exceptions
- Rebased asciidoc.version.patch</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.com&gt;" date="1651492800">- Add a subpackage that brings in the requirements for building pdf (too much
  for default, recommends won't help in building OBS packages)
- Adding multibuild flavor to verify the latex dependencies are complete
- Motivated by nut failing to build pdf in SP4</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1655899200">- Do not recommend asciidoc-latex-backend: Do not pull in the LaTeX
  stack on all systems using asciidoc.
- Supplement asciidoc and dblatext with the -latex-backend sub
  package: users that have both, asciidoc and dblatex installed,
  and thus already opted-in to LaTeX, will also get the backend
  installed.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1655985600">- Update to version 10.2.0:
  + Future feature:
  - As part of the intended 10.3.0 release, the following
    document attribute flags will be reserved for modifying
    asciidoc-py runtime behavior:
    . future-compat
    . legacy-compat
    . compat-mode
  - Please see GH issue #254 for more information.
  + Bug fixes: Fix verbose output not working when using a2x or
    asciidoc entry points.
  + Miscellaneous: Automate publishing asciidoc-py website as part
    of release process.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Remove python3 shebang from sitelib files (bsc#1212476)</changelog>
</package>
<package pkgid="5c61a972be5e0876f9c308c6a30092e8839abac0e3ca9f9cee03f14112ab66801c6fbbac3616d84d56c6dee35566cd9626783d8b22c54f568f7b6fca298b8fa2" name="atheme" arch="src">
  <version epoch="0" ver="7.2.12" rel="4.1"/>
  <changelog author="jengelh@inai.de" date="1338465600">- Update to new upstream release 7.0.2
  * new "dbverify" utility to perform extensive and complicated
  consistency checks on the object store
  * channel locking updates for inspircd and charybdis
  * SASL support for unrealircd
  * many more changes, see "NEWS" file in the package</changelog>
  <changelog author="dimstar@opensuse.org" date="1353326400">- Fix useradd invocation: -o is useless without -u and newer
  versions of pwdutils/shadowutils fail on this now.</changelog>
  <changelog author="jengelh@inai.de" date="1353499200">- Update to new upstream release 7.0.5
  * ircd/unreal: fix memory corruption caused by strlcpy() against
  a strshare-managed string
  * ircd/ircd-seven: support charybdis's extension channel modes
  * chanserv/sync: sync a channel on account registration. This
  allows exttargets like $registered to react to new account
  registrations.
  * chanserv/main: send MLOCK after a TS change, otherwise it
  will be lost.
  * chanserv/flags: allow users with +f and +o (+v) to set +/-O and
  +/-V on themselves.
  * chanserv/main: respect founder_flags config setting during
  channel succession
- Add atheme-nodate.diff which removes __DATE__ from source</changelog>
  <changelog author="jengelh@inai.de" date="1380542400">- Update to new upstream release 7.0.6
  * chanfix: Restrict registering scored channels
  * memoserv/delete: Only accept numeric indexes
- Add 0001-build-resolve-compile-warning-in-servtree.c.patch</changelog>
  <changelog author="jengelh@inai.de" date="1393848000">- Update to new upstream release 7.0.7
  * saslserv/{dh-aes,dh-blowfish}: avoid possible buffer overflow
  with untrusted input size
  * saslserv/dh-blowfish: generate a new keypair (but not a new
  prime) for each authentication session
  * saslserv/dh-blowfish: avoid generating DH parameters on each
  mech_start().
  * Use hostname for flood klines if IP isn't set, for example on
  auth-spoofed users</changelog>
  <changelog author="jengelh@inai.de" date="1405857600">- Update to new upstream release 7.1.0
  * ngircd: New protocol module.
  * nefarious: Add Nefarious 2 SASL support.
  * nefarious: Send account timestamp in svslogin.
  * elemental-ircd: New protocol module.
  * dreamforge: Remove protocol module.
  * inspircd: Add support for server-side MLOCK and TOPICLOCK enforcement
  * inspircd: Add support for matching extbans modifying matching logic
  * inspircd: Add +H to channel modes
  * inspircd: Add +X and +w to list-like mode list
  * ircd-seven: Support charybdis extension cmodes on ircd-seven as well.
  * ts6-generic: Add support for serverinfo::hidden
  * unreal: Add support for extbans.
  * unreal: Add cmode +P for permanent channel.
- Remove 0001-build-resolve-compile-warning-in-servtree.c.patch
  (merged upstream)
- Delete sysvinit support (keeping the `rcatheme` shortcut, though)</changelog>
  <changelog author="jengelh@inai.de" date="1412856000">- Remove atheme-config.diff and provide a fresh minimal config
  instead. Update the config to match charybdis's.</changelog>
  <changelog author="jengelh@inai.de" date="1417694400">- Update to new upstream release 7.2.1
  * NickServ:
  * Make `VHOST` set cloak assigner and timestamp the same way HostServ does
  * Make `INFO` call the `user_info_noexist` hook for queries that don't match an account
  * Make `REGAIN` log you in if successful.
  * Allow implementing custom filters for `LIST`
  * nickserv/multimark: new module which allows multiple MARK entries per nickname.
  * ChanServ:
  * Add a `$server:` exttarget accepting server masks
  * Add `PUBACL` flag which allows the channel access to be public.
  * Don't allow `DEOP` or `KICK` of a services bot.
  * Don't try to expand extbans in various commands.
  * Allow users with +O or +V flags to op/voice themselves, since they can regain op/voice
  by cycling the channel anyway.
  * chanserv/clear_akicks: new module providing a `CLEAR AKICKS` command.</changelog>
  <changelog author="jengelh@inai.de" date="1428062400">- Update to new upstream release 7.2.5
  * pbkdf2v2: Newer module implementing PBKDF2-HMAC digest scheme</changelog>
  <changelog author="jengelh@inai.de" date="1462276800">- Update to new upstream release 7.2.6
  * avoid potential NULL dereference in language code
  * Add NOPASSWORD criterion to nickserv/list helpfile
  * new nickserv/list criterion VACATION
- Add 0001-Do-not-copy-more-bytes-than-were-allocated.patch
  [CVE-2016-4478]
- Add 0001-chanserv-flags-make-Anope-FLAGS-compatibility-an-opt.patch
  [CVE-2014-9773, boo#978170]
- Add atheme-serno.diff, a build fix</changelog>
  <changelog author="jengelh@inai.de" date="1479643200">- Update to new upstream release 7.2.7
  * NickServ:
  * Make `VHOST` set cloak assigner and timestamp the same way
    HostServ does
  * Make `INFO` call the `user_info_noexist` hook for queries
    that don't match an account
  * Make `REGAIN` log you in if successful.
  * ChanServ:
  * Add a `$server:` exttarget accepting server masks
  * Add `PUBACL` flag which allows the channel access to be public.
  * Don't allow `DEOP` or `KICK` of a services bot.
  * Don't try to expand extbans in various commands.
  * Allow users with +O or +V flags to op/voice themselves, since
    they can regain op/voice by cycling the channel anyway.
- +e added to chanserv{} templates and founder_flags
- Remove 0001-Do-not-copy-more-bytes-than-were-allocated.patch
  and 0001-chanserv-flags-make-Anope-FLAGS-compatibility-an-opt.patch
  (applied upstream)
- Abort installation if user/group cannot be created</changelog>
  <changelog author="jengelh@inai.de" date="1490875200">- Update to new upstream release 7.2.8
  * Close a memory leak that could be exploited by attackers to
    potentially cause a denial of service.
    [CVE-2017-6384, boo#1027614]
- Update to new upstream release 7.2.9
  * Fixing use after free that could potentially be used by an
    attacker already having the privilege to use SASL impersonation
    to cause a denial of service.</changelog>
  <changelog author="jengelh@inai.de" date="1509710400">- Rename the tools dbverify and ecdsakeygen with an "atheme-"
  prefix. This is possible since they do not appear to get invoked
  by the server, but only by the user.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1566388800">- Update to new upstream release 7.2.10.r2
  * Fix potential NULL dereference in modules/crypto/posix.
  * Bump E-Mail address maximum length to 254 characters.
  * Use flags setter information in modules/chanserv/access &amp;
    modules/chanserv/flags.
  * Fix issue where modules/misc/httpd was not closing its
    listening socket on deinit.
  * Fix GroupServ data loss issue when a group was the founder of
    another group.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1600084800">- Fix misuse of %_libexecdir for /usr/lib/tmpfiles
  [boo#1174075]</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1614513600">- Update to release 7.2.11
  * Add a preliminary Turkish translation
  * Add HMAC-MD5 verify-only support to crypto/pbkdf2v2
  * modules/chanserv/akick: fix unload crash with akicks that
    have timeouts
  * modules/nickserv/multimark: use IRC case canonicalisation
    for restored nicks
  * modules/nickserv/multimark: forbid unloading due to the
    potential for data loss
  * CA_ constants: include CA_EXEMPT (+e) where appropriate
- Drop atheme-serno.diff (no longer applies)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1615118400">- Redownload atheme-services-v7.2.11.tar.xz
  because they changed it</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1643630400">- Update to release 7.2.12
  * Fix CVE-2022-24976 [boo#1195989]
  * Track SASL login EID</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Generate "atheme" user with sysusers mechanism</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="fb2c018ec7869b334ac1c965882e4423898858be28dc04fd239ffe5d6fc21471ca41317c1797cfc9a963d780faa9866916c45bd939698b1f173049c1ed5d78ec" name="atheme" arch="x86_64">
  <version epoch="0" ver="7.2.12" rel="4.1"/>
  <changelog author="jengelh@inai.de" date="1479643200">- Update to new upstream release 7.2.7
  * NickServ:
  * Make `VHOST` set cloak assigner and timestamp the same way
    HostServ does
  * Make `INFO` call the `user_info_noexist` hook for queries
    that don't match an account
  * Make `REGAIN` log you in if successful.
  * ChanServ:
  * Add a `$server:` exttarget accepting server masks
  * Add `PUBACL` flag which allows the channel access to be public.
  * Don't allow `DEOP` or `KICK` of a services bot.
  * Don't try to expand extbans in various commands.
  * Allow users with +O or +V flags to op/voice themselves, since
    they can regain op/voice by cycling the channel anyway.
- +e added to chanserv{} templates and founder_flags
- Remove 0001-Do-not-copy-more-bytes-than-were-allocated.patch
  and 0001-chanserv-flags-make-Anope-FLAGS-compatibility-an-opt.patch
  (applied upstream)
- Abort installation if user/group cannot be created</changelog>
  <changelog author="jengelh@inai.de" date="1490875200">- Update to new upstream release 7.2.8
  * Close a memory leak that could be exploited by attackers to
    potentially cause a denial of service.
    [CVE-2017-6384, boo#1027614]
- Update to new upstream release 7.2.9
  * Fixing use after free that could potentially be used by an
    attacker already having the privilege to use SASL impersonation
    to cause a denial of service.</changelog>
  <changelog author="jengelh@inai.de" date="1509710400">- Rename the tools dbverify and ecdsakeygen with an "atheme-"
  prefix. This is possible since they do not appear to get invoked
  by the server, but only by the user.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1566388800">- Update to new upstream release 7.2.10.r2
  * Fix potential NULL dereference in modules/crypto/posix.
  * Bump E-Mail address maximum length to 254 characters.
  * Use flags setter information in modules/chanserv/access &amp;
    modules/chanserv/flags.
  * Fix issue where modules/misc/httpd was not closing its
    listening socket on deinit.
  * Fix GroupServ data loss issue when a group was the founder of
    another group.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1600084800">- Fix misuse of %_libexecdir for /usr/lib/tmpfiles
  [boo#1174075]</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1614513600">- Update to release 7.2.11
  * Add a preliminary Turkish translation
  * Add HMAC-MD5 verify-only support to crypto/pbkdf2v2
  * modules/chanserv/akick: fix unload crash with akicks that
    have timeouts
  * modules/nickserv/multimark: use IRC case canonicalisation
    for restored nicks
  * modules/nickserv/multimark: forbid unloading due to the
    potential for data loss
  * CA_ constants: include CA_EXEMPT (+e) where appropriate
- Drop atheme-serno.diff (no longer applies)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1615118400">- Redownload atheme-services-v7.2.11.tar.xz
  because they changed it</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1643630400">- Update to release 7.2.12
  * Fix CVE-2022-24976 [boo#1195989]
  * Track SASL login EID</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Generate "atheme" user with sysusers mechanism</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="0134433909963cfd2a717bec40f7f8451c80183cc2ba5cc74dc9cfae230eaf506df0dc423afdccf84f16f9e866003c46849ac263b8a121ad1d16b2c29278304c" name="atheme-debuginfo" arch="x86_64">
  <version epoch="0" ver="7.2.12" rel="4.1"/>
  <changelog author="jengelh@inai.de" date="1479643200">- Update to new upstream release 7.2.7
  * NickServ:
  * Make `VHOST` set cloak assigner and timestamp the same way
    HostServ does
  * Make `INFO` call the `user_info_noexist` hook for queries
    that don't match an account
  * Make `REGAIN` log you in if successful.
  * ChanServ:
  * Add a `$server:` exttarget accepting server masks
  * Add `PUBACL` flag which allows the channel access to be public.
  * Don't allow `DEOP` or `KICK` of a services bot.
  * Don't try to expand extbans in various commands.
  * Allow users with +O or +V flags to op/voice themselves, since
    they can regain op/voice by cycling the channel anyway.
- +e added to chanserv{} templates and founder_flags
- Remove 0001-Do-not-copy-more-bytes-than-were-allocated.patch
  and 0001-chanserv-flags-make-Anope-FLAGS-compatibility-an-opt.patch
  (applied upstream)
- Abort installation if user/group cannot be created</changelog>
  <changelog author="jengelh@inai.de" date="1490875200">- Update to new upstream release 7.2.8
  * Close a memory leak that could be exploited by attackers to
    potentially cause a denial of service.
    [CVE-2017-6384, boo#1027614]
- Update to new upstream release 7.2.9
  * Fixing use after free that could potentially be used by an
    attacker already having the privilege to use SASL impersonation
    to cause a denial of service.</changelog>
  <changelog author="jengelh@inai.de" date="1509710400">- Rename the tools dbverify and ecdsakeygen with an "atheme-"
  prefix. This is possible since they do not appear to get invoked
  by the server, but only by the user.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1566388800">- Update to new upstream release 7.2.10.r2
  * Fix potential NULL dereference in modules/crypto/posix.
  * Bump E-Mail address maximum length to 254 characters.
  * Use flags setter information in modules/chanserv/access &amp;
    modules/chanserv/flags.
  * Fix issue where modules/misc/httpd was not closing its
    listening socket on deinit.
  * Fix GroupServ data loss issue when a group was the founder of
    another group.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1600084800">- Fix misuse of %_libexecdir for /usr/lib/tmpfiles
  [boo#1174075]</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1614513600">- Update to release 7.2.11
  * Add a preliminary Turkish translation
  * Add HMAC-MD5 verify-only support to crypto/pbkdf2v2
  * modules/chanserv/akick: fix unload crash with akicks that
    have timeouts
  * modules/nickserv/multimark: use IRC case canonicalisation
    for restored nicks
  * modules/nickserv/multimark: forbid unloading due to the
    potential for data loss
  * CA_ constants: include CA_EXEMPT (+e) where appropriate
- Drop atheme-serno.diff (no longer applies)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1615118400">- Redownload atheme-services-v7.2.11.tar.xz
  because they changed it</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1643630400">- Update to release 7.2.12
  * Fix CVE-2022-24976 [boo#1195989]
  * Track SASL login EID</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Generate "atheme" user with sysusers mechanism</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="52d36188e985ec33e7d66a7b3d38f1a4b70eb51ee9acb682c6b5d5cf10b5570840368578ad9a805459c5ca542b037d20e0aff3b7c4ed8e0659a5e92a1059b918" name="atheme-debugsource" arch="x86_64">
  <version epoch="0" ver="7.2.12" rel="4.1"/>
  <changelog author="jengelh@inai.de" date="1479643200">- Update to new upstream release 7.2.7
  * NickServ:
  * Make `VHOST` set cloak assigner and timestamp the same way
    HostServ does
  * Make `INFO` call the `user_info_noexist` hook for queries
    that don't match an account
  * Make `REGAIN` log you in if successful.
  * ChanServ:
  * Add a `$server:` exttarget accepting server masks
  * Add `PUBACL` flag which allows the channel access to be public.
  * Don't allow `DEOP` or `KICK` of a services bot.
  * Don't try to expand extbans in various commands.
  * Allow users with +O or +V flags to op/voice themselves, since
    they can regain op/voice by cycling the channel anyway.
- +e added to chanserv{} templates and founder_flags
- Remove 0001-Do-not-copy-more-bytes-than-were-allocated.patch
  and 0001-chanserv-flags-make-Anope-FLAGS-compatibility-an-opt.patch
  (applied upstream)
- Abort installation if user/group cannot be created</changelog>
  <changelog author="jengelh@inai.de" date="1490875200">- Update to new upstream release 7.2.8
  * Close a memory leak that could be exploited by attackers to
    potentially cause a denial of service.
    [CVE-2017-6384, boo#1027614]
- Update to new upstream release 7.2.9
  * Fixing use after free that could potentially be used by an
    attacker already having the privilege to use SASL impersonation
    to cause a denial of service.</changelog>
  <changelog author="jengelh@inai.de" date="1509710400">- Rename the tools dbverify and ecdsakeygen with an "atheme-"
  prefix. This is possible since they do not appear to get invoked
  by the server, but only by the user.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1566388800">- Update to new upstream release 7.2.10.r2
  * Fix potential NULL dereference in modules/crypto/posix.
  * Bump E-Mail address maximum length to 254 characters.
  * Use flags setter information in modules/chanserv/access &amp;
    modules/chanserv/flags.
  * Fix issue where modules/misc/httpd was not closing its
    listening socket on deinit.
  * Fix GroupServ data loss issue when a group was the founder of
    another group.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1600084800">- Fix misuse of %_libexecdir for /usr/lib/tmpfiles
  [boo#1174075]</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1614513600">- Update to release 7.2.11
  * Add a preliminary Turkish translation
  * Add HMAC-MD5 verify-only support to crypto/pbkdf2v2
  * modules/chanserv/akick: fix unload crash with akicks that
    have timeouts
  * modules/nickserv/multimark: use IRC case canonicalisation
    for restored nicks
  * modules/nickserv/multimark: forbid unloading due to the
    potential for data loss
  * CA_ constants: include CA_EXEMPT (+e) where appropriate
- Drop atheme-serno.diff (no longer applies)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1615118400">- Redownload atheme-services-v7.2.11.tar.xz
  because they changed it</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1643630400">- Update to release 7.2.12
  * Fix CVE-2022-24976 [boo#1195989]
  * Track SASL login EID</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Generate "atheme" user with sysusers mechanism</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="85317fb5e53f43918a89e4b096caf006cdf18f602fe6c5205bd3a1d17207bb7e01069e3bc6fb3de3e6eb6bce672301e39cb988aa8f02fe25816672cb5d21b91c" name="atheme-devel" arch="x86_64">
  <version epoch="0" ver="7.2.12" rel="4.1"/>
  <changelog author="jengelh@inai.de" date="1479643200">- Update to new upstream release 7.2.7
  * NickServ:
  * Make `VHOST` set cloak assigner and timestamp the same way
    HostServ does
  * Make `INFO` call the `user_info_noexist` hook for queries
    that don't match an account
  * Make `REGAIN` log you in if successful.
  * ChanServ:
  * Add a `$server:` exttarget accepting server masks
  * Add `PUBACL` flag which allows the channel access to be public.
  * Don't allow `DEOP` or `KICK` of a services bot.
  * Don't try to expand extbans in various commands.
  * Allow users with +O or +V flags to op/voice themselves, since
    they can regain op/voice by cycling the channel anyway.
- +e added to chanserv{} templates and founder_flags
- Remove 0001-Do-not-copy-more-bytes-than-were-allocated.patch
  and 0001-chanserv-flags-make-Anope-FLAGS-compatibility-an-opt.patch
  (applied upstream)
- Abort installation if user/group cannot be created</changelog>
  <changelog author="jengelh@inai.de" date="1490875200">- Update to new upstream release 7.2.8
  * Close a memory leak that could be exploited by attackers to
    potentially cause a denial of service.
    [CVE-2017-6384, boo#1027614]
- Update to new upstream release 7.2.9
  * Fixing use after free that could potentially be used by an
    attacker already having the privilege to use SASL impersonation
    to cause a denial of service.</changelog>
  <changelog author="jengelh@inai.de" date="1509710400">- Rename the tools dbverify and ecdsakeygen with an "atheme-"
  prefix. This is possible since they do not appear to get invoked
  by the server, but only by the user.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1566388800">- Update to new upstream release 7.2.10.r2
  * Fix potential NULL dereference in modules/crypto/posix.
  * Bump E-Mail address maximum length to 254 characters.
  * Use flags setter information in modules/chanserv/access &amp;
    modules/chanserv/flags.
  * Fix issue where modules/misc/httpd was not closing its
    listening socket on deinit.
  * Fix GroupServ data loss issue when a group was the founder of
    another group.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1600084800">- Fix misuse of %_libexecdir for /usr/lib/tmpfiles
  [boo#1174075]</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1614513600">- Update to release 7.2.11
  * Add a preliminary Turkish translation
  * Add HMAC-MD5 verify-only support to crypto/pbkdf2v2
  * modules/chanserv/akick: fix unload crash with akicks that
    have timeouts
  * modules/nickserv/multimark: use IRC case canonicalisation
    for restored nicks
  * modules/nickserv/multimark: forbid unloading due to the
    potential for data loss
  * CA_ constants: include CA_EXEMPT (+e) where appropriate
- Drop atheme-serno.diff (no longer applies)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1615118400">- Redownload atheme-services-v7.2.11.tar.xz
  because they changed it</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1643630400">- Update to release 7.2.12
  * Fix CVE-2022-24976 [boo#1195989]
  * Track SASL login EID</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Generate "atheme" user with sysusers mechanism</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="4a71878f3c32be60b6b22f5ff046e8e347c2cdee18aed585d9aeefdacddf2c206da61ebdcbd98e692ed2652b445f8739186f94b64f54d17795e3806178ca244b" name="atinject" arch="noarch">
  <version epoch="0" ver="1.0.5" rel="2.1"/>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1540382400">- Initial packaging of atinject adapted from Fedora rpm</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1647691200">- Build with source/target levels 8
- Added patch:
  * atinject-javadoc.patch
    + fix build with javadoc 17</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1648123200">- Fetch the sources using a source service
- Do not use the upstream build.sh, but use it to write a
  necessary part directly to the spec file</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1648900800">- Alias to the new jakarta name</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1712750400">- Upgrade to version 1.0.5 and switch to sources in
  https://github.com/jakartaee/inject/
  * Changes of 1.0.5:
    + This switches the module name back to the java.inject that was
    used by the 1.0.3 release with automatic module. This is a
    multi-release jar
  * Changes of 1.0.4:
    + This is a 1.0.4 service release with a multi-release jar that
    adds the module-info class to
    META-INF/versions/9/module-info.class using the
    https://github.com/moditect/moditect plugin for the
    javax.inject module.
  * Changes of 1.0.3:
    + This release corrects the 1.0.2 release which was incorrectly
    done from the master branch with the jakarta.* packages.
    + It adds the Automatic-Module-Name=java.inject to the api jar
    manifest.
  * Changes of 1.0.2:
    + A service release that addresses:
  - #14, set Automatic-Module-Name to java.inject
  - #15, add OSGi bundle headers
  * Changes of 1.0.1:
    + Add Automatic-Module-Name of jakarta.inject
  * Changes of 1.0:
    + First Injection API release for Jakarta EE
- Remove unused sub-package tck
- Removed patch:
  * atinject-javadoc.patch
    + not needed with this version</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1717761600">- Don't distribute as jakarta.inject:jakarta-inject-api artifact
  to prevent conflicts with the version 2.x that actually has
  classes in jakarta.inject namespace and thus is incompatible</changelog>
</package>
<package pkgid="f58ebdd8c3f024f306601b15dad5ce3217698e04284761c906acba44a5d7bc1568c966398e5cffe05c2bb09829d598bfc67056e724e14a0135b40f67682cecbe" name="atinject" arch="src">
  <version epoch="0" ver="1.0.5" rel="2.1"/>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1540382400">- Initial packaging of atinject adapted from Fedora rpm</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1647691200">- Build with source/target levels 8
- Added patch:
  * atinject-javadoc.patch
    + fix build with javadoc 17</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1648123200">- Fetch the sources using a source service
- Do not use the upstream build.sh, but use it to write a
  necessary part directly to the spec file</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1648900800">- Alias to the new jakarta name</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1712750400">- Upgrade to version 1.0.5 and switch to sources in
  https://github.com/jakartaee/inject/
  * Changes of 1.0.5:
    + This switches the module name back to the java.inject that was
    used by the 1.0.3 release with automatic module. This is a
    multi-release jar
  * Changes of 1.0.4:
    + This is a 1.0.4 service release with a multi-release jar that
    adds the module-info class to
    META-INF/versions/9/module-info.class using the
    https://github.com/moditect/moditect plugin for the
    javax.inject module.
  * Changes of 1.0.3:
    + This release corrects the 1.0.2 release which was incorrectly
    done from the master branch with the jakarta.* packages.
    + It adds the Automatic-Module-Name=java.inject to the api jar
    manifest.
  * Changes of 1.0.2:
    + A service release that addresses:
  - #14, set Automatic-Module-Name to java.inject
  - #15, add OSGi bundle headers
  * Changes of 1.0.1:
    + Add Automatic-Module-Name of jakarta.inject
  * Changes of 1.0:
    + First Injection API release for Jakarta EE
- Remove unused sub-package tck
- Removed patch:
  * atinject-javadoc.patch
    + not needed with this version</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1717761600">- Don't distribute as jakarta.inject:jakarta-inject-api artifact
  to prevent conflicts with the version 2.x that actually has
  classes in jakarta.inject namespace and thus is incompatible</changelog>
</package>
<package pkgid="2e73084199c747c56451115ee0e087724d587d09c189932d565c5300f5d1b4f3f2fc90651c9c61f5824ca673b077cc2cec41a45086e2b09683adeff09020a4ea" name="atinject-javadoc" arch="noarch">
  <version epoch="0" ver="1.0.5" rel="2.1"/>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1540382400">- Initial packaging of atinject adapted from Fedora rpm</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1647691200">- Build with source/target levels 8
- Added patch:
  * atinject-javadoc.patch
    + fix build with javadoc 17</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1648123200">- Fetch the sources using a source service
- Do not use the upstream build.sh, but use it to write a
  necessary part directly to the spec file</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1648900800">- Alias to the new jakarta name</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1712750400">- Upgrade to version 1.0.5 and switch to sources in
  https://github.com/jakartaee/inject/
  * Changes of 1.0.5:
    + This switches the module name back to the java.inject that was
    used by the 1.0.3 release with automatic module. This is a
    multi-release jar
  * Changes of 1.0.4:
    + This is a 1.0.4 service release with a multi-release jar that
    adds the module-info class to
    META-INF/versions/9/module-info.class using the
    https://github.com/moditect/moditect plugin for the
    javax.inject module.
  * Changes of 1.0.3:
    + This release corrects the 1.0.2 release which was incorrectly
    done from the master branch with the jakarta.* packages.
    + It adds the Automatic-Module-Name=java.inject to the api jar
    manifest.
  * Changes of 1.0.2:
    + A service release that addresses:
  - #14, set Automatic-Module-Name to java.inject
  - #15, add OSGi bundle headers
  * Changes of 1.0.1:
    + Add Automatic-Module-Name of jakarta.inject
  * Changes of 1.0:
    + First Injection API release for Jakarta EE
- Remove unused sub-package tck
- Removed patch:
  * atinject-javadoc.patch
    + not needed with this version</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1717761600">- Don't distribute as jakarta.inject:jakarta-inject-api artifact
  to prevent conflicts with the version 2.x that actually has
  classes in jakarta.inject namespace and thus is incompatible</changelog>
</package>
<package pkgid="aac506aabd884519c8a0001b540792e140260df113f06c929cfae7166c04a4f0e10fdccc3f40c27f55580b79e5ffd518c6f1a73c624afd7fe7b6a891cc86af31" name="aubio" arch="src">
  <version epoch="0" ver="0.4.9" rel="12.1"/>
  <changelog author="coolo@suse.com" date="1407067200">- update to 0.4.1 (to fix build in Factory):
  * The most interesting feature in this release concerns aubiocut.
  Thanks to the sponsoring of Mark Suppes, the python script to slice
  sound streams was extended to be sample accurate, cut overlapping
  segments, and work on multiple channels.
  * New source and sink objects have been added to let aubio read and
  write WAV files, even when built with no external libraries.
  This should simplify the use of aubio on platforms such as Android or Windows.
  * Existing sources and sinks have been extended to read and write from
  and to multiple channels. This makes python-aubio one of the fastest
  and most versatile Python module to read and write media files.
  This release also comes with a stack of bug fixes and code clean-ups.
- 0.4 is a huge step in this library, as:
  * more portable: with no required dependencies, the core of aubio library,
  written in ANSI C, is known to compile and run on most modern platforms
  (Linux, Windows, Mac OS X, Android, iOS, ...).
  * more stable: several bugs fixes and a battery of tests make this new
  release more robust and less prone to errors.
  * faster: several enhancements to the C library and a brand new Python
  interface help make this release orders of magnitude faster than the
  previous ones.
- switched from autotools to waf</changelog>
  <changelog author="p.drouand@gmail.com" date="1445947200">- Update to version 0.4.2
  * src/onset/onset.h: add aubio_onset_get_silence(), fix description of
  aubio_onset_get/set_delay functions
  * src/tempo/tempo.h: add aubio_tempo_get_silence and aubio_tempo_get_threshold
  * src/io/audio_unit.c: fix deprecation warning (closes #16)
  * src/io/sink_apple_audio.c: avoid opening null path
  * src/io/sink_sndfile.c: improve error messages, set nsamples after write
  * src/io/sink_wavwrite.c: fail if samplerate is way too large, assume
  windows is little endian to build with mingw32
  * src/io/source_apple_audio.c: check out of bounds _seek, set s-&gt;path, quiet
  * src/io/source_avcodec.c: update to libav10, libavcodec 55.34.1
  * src/io/source_sndfile.c: cast to uint_t for now, clarify some variables
  names, fix crash, zero-pad output vector when upsampling, improve
    seek errors and strings
  * src/io/source_wavread.c: avoid orphan parenthesis , cast size_t to int to
  avoid warning on win64 , improve seek errors processing , sync error message
  * src/onset/onset.c: avoid doubled onset at start, check parameters
  * src/pitch/pitch.c: add Hertz as valid unit string, check parameters
  * src/pitch/pitchyin.c, src/pitch/pitchyinfft.c: avoid producing
    NaN on silence (closes #7)
  * src/pitch/pitchyin.{c,h}: fix typo, developed
  * src/spectral/phasevoc.c: fix argument checks, improve error messages
  * src/synth/sampler.c: make sure blocksize &gt; 0
  * src/tempo/beattracking.c: avoid segfault on silence (closes #24)
  * src/tempo/tempo.c: add silence detection (closes #23), add old behavior in
  examples/aubiotrack.c, check parameters
  * src/*.c: fix some useless float conversion
  * python/ext/aubiomodule.c: improve documentation
  * python/ext/py-musicutils.c: add silence_detection (closes #21),
  level_detection, db_spl, level_lin, complete window implementation
  * python/ext/py-source.c: add channels, add seek (closes #9)
  * python/demos/demo_a_weighting.py: add simple demo for a_weighting
  * python/demos/demo_sink_multi.py: add multi channel version
  * python/demos/, python/demos/: minor improvements, improve syntax (closes #19)
  * python/setup.py: use setuptools, add numpy to install_requires
  * waf: removed, now automatically downloaded with make, updated to 1.8.12
  * Makefile: add target to fetch waf and basic instructions
  * .travis.yml: added template for travis continuous integration
  * {examples,src,tests}/wscript_build: add external libs and uselib to targets
  * src/wscript_build: do not hardocode install path
  * wscript, src/io/*.c: use custom defines instead of __APPLE__
  * wscript: make fat build optional, remove iOS sdk versioning
  * examples/: use outmsg to print notes (fixes #8)
  * examples/parse_args.h: improve short documentation (closes #12)
  * doc/*.cfg: remove html timestamps to make build reproducible
    (see debian bug #779216)
  * doc/aubiocut.txt: improve documentation
  * doc/*.rst: add sphinx documentation basis with Makefile and conf.py
  * README.md: minor updates
  * python.old: removed old code
  * tests/: minor bug fixing
- Add doxygen, ffmpeg-devel and txt2man dependencies
- Replace python with python-devel</changelog>
  <changelog author="olaf@aepfle.de" date="1460808000">- Use pkgconfig instead of libffmpeg-devel</changelog>
  <changelog author="alarrosa@suse.com" date="1493035200">- Update soname and generate libaubio5 package
- Update to version 0.4.5
  * src/io/source_avcodec.c: add support for libswresample
  * aubio: new python command line tool to extract information
  * src/onset/onset.c: add spectral whitening and compression, improve default
  parameters
  * this_version.py: use centralized script to get current version, adding git
  sha when building from git repo (thanks to MartinHN)
  * src/spectral/awhithening.h: add adaptive whitening
  * src/{cvec,mathutils,musicutils}.h: add cvec_logmag, fvec_logmag, and fvec_push
  * src/onset/onset.h: add aubio_onset_set_default_parameters to load optimal
  parameters of each novelty function, _{set,get}_compression and
  _{set,get}_awhitening to turn on/off compression and adaptive whitening
  * src/spectral/specdesc.h: add weighted phase
  * src/onset/onset.c: improve default onset parameters (thanks to @superbock
  for access to his evaluation database), see commit dccfad2 for more details
  * src/pitch/pitch.c: avoid segfault when using invalid parameters
  * src/temporal/biquad.c: fix biquad parameters initialization (thanks to
  @jurlhardt)
  * examples/aubio{onset,track}.c: add options --miditap-note and
  - -miditap-velo to set which midi note is triggered at onset/beat (thanks to
  @tseaver)
  * examples/aubioonset.c: show actual parameters in verbose mode
  * examples/utils.c: improve memory usage to emit midi notes
  * python/ext/py-source.c: add with (PEP 343) and iter (PEP 234) interface
  * python/ext/py-sink.c: add with interface (PEP 343)
  * python/lib/aubio/cmd.py: new `aubio` command line tool
  * python/lib/aubio/cut.py: moved from python/scripts/aubiocut
  * doc/*.rst: reorganize and improve sphinx manual
  * doc/*.txt: update manpages, add simple manpage for aubio command line
  * doc/full.cfg: derive from doc/web.cfg
  * README.md: simplify and add contribute information
  * wscript: prefer libswresample over libavsamplerate when available, use
  current version in manpages, doxygen, and sphinx, update to newest waf
  * setup.py: use entry_points console_scripts to generate scripts, use
  centralized version from this_version.py, clean up
  * python/lib/moresetuptools.py: detect if libswresample is available
- Update to version 0.4.4
  * src/utils/log.h: new function to redirect log, error, and warnings
  * python/: AUBIO_ERR raises python exception, AUBIO_WRN to emit py warning
  * doc/: add some documentation, fix errors in manpages
  * wscript: new rules to build 'manpages', 'doxygen', and 'sphinx', new
  - -build-type=&lt;release|debug&gt; option (thanks to Eduard Mueller)
  * src/notes/notes.h: add minioi and silence methods
  * examples/: add --minioi (minimum inter-onset interval) option
  * src/pitch/pitchyin.c: improve msvc compiler optimisations (thanks to
  Eduard Mueller)
  * python/, src/: improve error messages, fix minor memory leaks
  * src/io/source_avcodec.c: improve compatibility with latest ffmpeg and with
  older libav/ffmpeg versions
  * python/demos/: new demos to capture microphone in real time
  * src/aubio.h: include utils/log.h
  * src/utils/log.h: add new aubio_log_set_function to redirect log messages
  * src/notes/notes.h: add aubio_notes_{get,set}_minioi_ms, add
  _{get,set}_silence methods
  * src/aubio_priv.h: add AUBIO_INF to print to stdout with header, use new
  logging function, add ATAN alias, add stdarg.h, move #include "config.h"
  * src/{fmat,fvec}.c: avoid integer division
  * src/pitch/pitchyin.c: [msvc] help compiler to optimize aubio_pitchyin_do
  by giving it addresses for all arrays which are referenced in inner loops,
  thanks to Eduard Mueller.
  * src/pitch/pitch.c: declare internal functions as static, fail on wrong
  method, warn on wrong unit, improve error messages, fix error string
  * src/spectral/specdesc.c: return NULL if wrong mode asked, remove trailing
  spaces
  * src/onset/onset.c: return null and clean-up if new_aubio_specdesc failed,
  fix error message
  * src/notes/notes.c: use midi note to store pitch candidate, round to
  nearest note, add a variable to define precision, fix out-of-bound write,
  fix unset silence_threshold, fix error message
  * src/spectral/ooura_fft8g.c: add cast to avoid conversion warnings, prefix
  public function with aubio_ooura_ to avoid with other apps using ooura (e.g.
  puredata), make internal functions static,
  * src/spectral/fft.c: add message about fftw3 being able to do non-power of
  two sizes, make calls to fftw_destroy_plan thread-safe, use prefixed
  aubio_ooura_rdft
  * src/spectral/phasevoc.c: fix error string
  * src/temporal/resampler.c: throw an error when using libsamplerate with doubles
  * src/io/ioutils.h: add functions to check samplerate and channels, use in sink_*.c
  * src/io/source.c: add error message when aubio was compiled with no source,
  only show error message from last child source_
  * src/io/source_avcodec.c: call avformat_free_context after
  avformat_close_input, keep a reference to packet to remove it when closing
  file, avoid deprecation warnings with ffmpeg 3.2, add backward compatibility
  for libavcodec55, fix for old libavcodec54, use AV_SAMPLE_FMT_DBL when
  compiling with HAVE_AUBIO_DOUBLE, fix missing samples in eof block, avoid
  function calls before declarations, improve error messages, replace with new
  context before closing old one, make sure s-&gt;path is set to null
  * src/io/{source_wavread,sink_wavwrite}.c: declare internal functions as static
  * src/io/source_wavread.c: fix bytes_read for JUNK headers, improve error
  messages, initialize buffer, skip chunks until data is found, or abort, skip
  junk chunk
  * src/io/source_sndfile.c: add support for multi-channel resampling, set
  handle to null after sucessful close, add missing floor in ratio comparison,
  improve formatting
  * src/io/sink.c: only show error message from last child sink_
  * src/io/sink_apple_audio.c: avoid crash on empty file name
  * src/io/sink_sndfile.c: improve error message
  * src/io/sink_{sndfile,wavwrite}.c: use AUBIO_MAX_CHANNELS, fix error message
  * README.md: update copyright dates, use https
  * src/aubio.h: add some links to examples, use https
  * src/pitch/pitch.h: add aubio_pitch_get_tolerance, add basic description of
  unit modes
  * src/notes/notes.h: add doxygen header
  * src/spectral/fft.h: strip example path
  * doc/*.rst: improve sphinx documentation
  * doc/android.rst: add reference to it scripts/build_android
  * doc/debian_packages.rst: added page on debian packages
  * doc/python_module.rst: add demo_source_simple.py, add note on pip, add
  `print(aubio.version)`
  * doc/cli.rst: include command line manpages
  * doc/cli_features.rst: add matrix of command line features
  * doc/requirements.rst: add a note about --notests (closes #77), document
  - -msvc options, improve description of options
  * doc/download.rst: added page on download
  * doc/installing.rst: update
  * doc/xcode_frameworks.rst: added page on xcode frameworks
  * doc/**: use https://aubio.org
  * doc/conf.py: use pyramid theme, update copyright, remove hardcoded path
  * doc/web.cfg: exclude ioutils from doc
  * doc/aubionotes.txt: document -M option (see #18),
  * doc/aubioonset.txt: add documentation for -M, --minioi, improve threshold
  description (thanks to Peter Parker), fix typo (onset, not pitch)
  * doc/aubio*.txt: document -T/--timeformat option
  * Makefile: add a brief intro, avoid offline operations, add html and dist
  targets, add rules for documentation, simplify listing, avoid offline
  operations, bump waf to 1.9.6, check for waf before clean, chmod go-w
  waflib, improve clean, use pip to install, factorise pip options, generate
  more test sounds, improve test_python and test_pure_python, pass build_ext
  in test_pure_python{,_wheel}, quieten uninstall_python if already
  uninstalled, improve test targets, use bdist_wheel in test_pure_python,
  build_ext only for --enable-double, verbose waf rules, add cleanwaf
  * wscript: added debug/release build type configurations release (default)
  enables optimizations, debug symbols are enabled in both configurations,
  thanks to Eduard Mueller.
  * wscript: add options to disable source_wavread/sink_wavwrite, add check
  for stdarg.h, new rules 'manpages', 'sphinx', and 'doxygen' to build
  documentation, add version to sphinx and manpages, disable libsamplerate
  if double precision enabled (libsamplerate only supports float), fix typos,
  remove trailing spaces, improve tarball creation (./waf dist), remove
  full.cfg from tarball, prepend to CFLAGS to honor user cflags
  * wscript, src/wscript_build: improve install locations using DATAROOTDIR,
  MANDIR, INCLUDEDIR
  * wscript: default to no atlas for now
  * src/wscript_build: always build static library
  * scripts/build_android: add an example script to build aubio on android,
  * examples/aubionotes.c: use new notes, set minioi, send last note off when
  needed, add warning for missing options
  * examples/aubioonset.c: add minioi option, in seconds
  * examples/: only send a last note off when using jack
  * examples/: return 1 if object creation failed
  * examples/: use PROG_HAS_OUTPUT, add PROG_HAS_SILENCE
  * tests/src/spectral/test-fft.c: fix default size
  * tests/src/spectral/test-phasevoc.c: fix typos
  * tests/src/utils/test-log.c: add AUBIO_INF, add example for
  aubio_log_set_function, improve messages
  * python/ext/aubiomodule.c: add aubio._aubio.__version__ and import it as
  aubio.version, use custom logging function for errors and warnings, remove
  duplicated add_generated_objects, use &lt;&gt; for non local aubio
  * python/ext/py-cvec.c: use NPY_INTP_FMT
  * python/ext/py-fft.c: use error string set in src/spectral/fft.c
  * python/ext/py-phasevoc.c: use error string set in src/spectral/phasevoc.c
  * python/ext/py-sink.c: always set samplerate and channels in init
  * python/ext/py-source.c: use error string set in src/io/source.c
  * python/lib/aubio/midiconv.py: add unicode double sharp and double flat,
  improve unicode handling, skip UnicodeEncodeError on python 2.x
  * MANIFEST.in: add src/**.c, exclude full.cfg, include waflib, remove
  python/ext/config.h
  * setup.py: define AUBIO_VERSION use sorted glob.glob to improve
  reproducibility, remove extra quotes, remove status from version string,
  update description, use custom build_ext instead of 'generate' command,
  define HAVE_AUBIO_DOUBLE to 1 if needed
  * python/lib/gen_code.py: add support for multiple _do outputs, fix number
  of output, improve del_ function, safer DECREF, fix indentation, emit RuntimeError
  * python/lib/gen_external.py: clean-up, enable tss, remove duplicate,
  sort generated files
  * python/lib/moresetuptools.py: add HAVE_STDARG_H, also check for
  HAVE_AUBIO_DOUBLE, cleaner clean, look first for system library, then for
  local build, then local sources, mo nore fake config.h here, use
  samplerate in single precision only
  * python/README.md: add a note about nose2 for python tests (closes #74)
  * scripts/setenv_local.sh: python3 compat
  * python/demos/demo_alsa.py: add example using alsaaudio (closes #72)
  * python/demos/demo_mfcc.py: add options to plot first and second
  derivatives, and set samplerate/win_s/hop_s, thanks to @jhoelzl (closes #68)
  * python/demos/demo_notes.py: add simple notes demos
  * python/demos/demo_pyaudio.py: added simple demo for pyaudio, see #6,
  closes #78, thanks to @jhoelzl and @notalentgeek, add some comments, avoid
  overwriting aubio.pitch
  * python/demos/demo_source_simple.py: fix indentation, make executable
  * python/demos/demo_timestretch{,_online}.py: fix usage string, remove
  unused import, use // to yield an integer (closes #71)
  * python/demos/demo_timestretch_online.py: use 512, fix block counter
  * python/demos/demo_tss.py: improve default parameters, exit before plotting
  * python/tests/: use local import, add __init__.py
  * python/tests/test_cvec.py: simplify
  * python/tests/test_fft.py: skip test fft(zeros).phas == 0 if needed, expected powerpc
  * python/tests/test_fvec.py: reduce alpha norm precision to 10.-4
  * python/tests/test_{midi2note,note2midi}.py: use nose2.params, add unicode tests
  * python/tests/test_notes.py: add basic tests
  * python/tests/test_notes.py: test results are correct for 44100Hz_44100f_sine441.wav
  * python/tests/test_sink.py: add more tests, quiet warnings
  * python/tests/test_source.py: break long line, check the tail of the file
  is non-zero on non silent test files, filter user warnings to avoid spamming
  the console, only check if last frames are non silent on brownnoise (weak),
  remove fragile brownnoise test, check duration on short files, use nose2
  params to process one sound file per test
  * python/tests/test_specdesc.py: RuntimeError is now raised on wrong mode
  * python/tests/utils.py: by default, use 5 seconds brownoise
- Update to version 0.4.3
  * src/io/source.h, src/io/source_*.h: add _get_duration
  * src/notes/notes.h: add basic notes object
  * src/tempo/beattracking.{c,h}: add _get_period and _get_period_s
  * src/mathutils.h: add fvec_ishift
  * src/fvec.{c,h}: add fvec_weighted_copy
  * src/tempo/tempo.{c,h}: add _get_period and _get_period_s, also add tatum,
  a subdivision of the beat period, default to 4, implement get/set_delay
  * src/**.{c,h}: use #ifdef HAVE_FOO, not #if _HAVE_FOO, add const qualifiers
  to unmodified pointers (see #35)
  * src/{fmat,fvec,mathutils}.c: optimisations (using atlas or Accelerate when
  available) for fvec_sum, fvec_mean, fvec_shift, aubio_level_lin,
  fvec_set_all, fvec_zeros, fvec_weight, fvec_copy, fvec_weighted_copy,
  fmat_vecmul
  * src/aubio_priv.h: check for atlas cblas, use cblas_xswap, vDSP_dotpr,
  protect SQR parameters, avoid redefining MIN/MAX, define PATH_MAX and PI
  when needed, use _isnan on windows msvc 9 to avoid linking error, more
  windows hacks
  * src/mathutils.c: avoid for loop initial declarations [gcc], use
  HAVE_ATLAS, use smpl_t for constants
  * src/fmat.c: skip asserts
  * src/spectral/{filterbank,mfcc}.c: use accelerated fmat_vecmul
  * src/spectral/fft.c: fftw can be used odd length sizes, not Ooura,
  factorise double / single flags, use memcpy
  * src/spectral/phasevoc.c: fix arguments checks, return NULL when fft
  creation failed , apply windowing for resynthesized grain, use ishift for
  odd windows, fix scaling factors for correct reconstruction at 50 and 75%
  overlap
  * src/pitch/pitch.c: allow for silence == 0, improve error messages
  * src/pitch/pitchmcomb.c: fix candidates sorting function, really comparing
  current to next
  * src/notes/notes.c: equivalent to previous examples/aubionotes.c results
  * src/onset/onset.c: simplify selection of first onset, fix for "conversion
  from 'smpl_t' to 'uint_t', possible loss of data" with msvc
  * src/pitch/pitchmcomb.c: scan across all spectrum
  * src/pitch/pitchyinfft.c: use fvec_weighted_copy
  * src/{spectral/*.c,onset/*.c,tempo/*.c}: make sure win_size &gt; 1
  * src/io/*.c: use custom defines for {source,sink}_apple_audio, take a copy
  of const char* path
  * src/io/source_avcodec.c:
  - update to libav10, libavcodec 55.34.1
  - avoid deprecation warning, detect if we use ffmpeg or libav version
  - check if the uri is a network stream using av_url_split, call
  avformat_network_init() if needed
  - check if we still need max_analyze_duration2 (closes #53, thanks to
  @anthonylauzon)
  * src/io/source_{avcodec,sndfile}.c: avoid modifying input param
  * src/io/{sink,source,utils}_apple_audio.c: fix memory leak calling
  CFRelease (closes #26, closes #27, and closes #28)
  * src/io/sink_apple_audio.c: disable async mode for now, factorise code
  * src/io/source_apple_audio.c: check out of bounds _seek, set s-&gt;path, quiet
  * src/io/source_sndfile.c: fix crash, zero-pad output vector when
  upsampling, use sf_read_double when compiling with AUBIO_DOUBLE, approximate
  duration when resampling
  * src/io/sink_sndfile.c: fix for double precision
  * src/synth/sampler.c: fix typo, keeps a copy of uri
  * src/tempo/tempo.c: do not write novelty function in output[1]
  * src/temporal/resampler.c: make msvc happier adding a dummy variable
  * src/temporal/filter.c: check parameters, fix filter_do_outplace to really
  avoid modifying input
  * src/utils/windll.c: add dll main entry point
  * General:
  - new build system, new code generator
  - Python 3 compatibility (#33), thanks to Nils Philippsen (@nphilipp)
  - double precision compatibility
  - simplify memory allocations, removed unneeded malloc/free calls
  - fix memory leak (#49), check input sizes (#63) and output sizes (#60)
  - improve indentation, clean up unused imports and variables
  - fix comparison to None and to False
  * setup.py: move from python/setup.py, add option to build libaubio inside
  python-aubio (for instance with pip), add command 'generate' with option
  '--enable-double', build with -Wdeclaration-after-statement -Werror
  * python/ext/aubiomodule.c: fix PyMethodDef sentinel
  * python/ext/aubioproxy.c: factorize input checks into
  PyAubio_IsValidVector, fix windows c89 compilation, use npy_intp, not long
  * python/ext: rewrite and simplify, safer and improved memory usage (#49),
  improve error strings, verify actual object creation
  * python/ext/py-source.c: added duration, check seek is not negative
  * python/ext/py-musicutils.c: do not overwrite PyArg_ParseTuple messages
  * python/lib/gen_code.py: new generator, switch to using custom PyObjects
  instead of fvec, cvec, fmat, ready for double precision (defaults to single)
  * python/lib/aubio__init__.py: use new aubio.float_type, make sure length is
  not zero and float_type is imported
  * python/lib/aubio/midiconv.py: fix instance checks, make sure midi2note
  uses midi int (#33)
  * python/lib/aubio/slicing.py: fix samplerate
  * python/ext/aubio-types.h: add new_py_ functions to create PyObjects
  instead of fvec_t, apply to generated and hard-coded objects
  * python/lib/gen_external.py: improve compiler detection, fixes build on
  windows (#55)
  * python/lib/moresetuptools.py: helpers for windows and macos compilations
  * python/demos/demo_reading_speed.py: new reading speed tests, external
  packages disabled by default
  * python/demos/demo_timestretch.py: new timescale algorithm
  * python/demos/demo_timestretch_online.py: new timescale algorithm (online
  version)
  * python/demos/demo_create_test_sounds.py: add script to create simple sound
  files to test on using sox
  * python/demos/demo_a_weighting.py: add simple demo for a_weighting
  * python/demos/demo_filter.py: moved from _a_weighting
  * python/demos/demo_mfcc.py: use n_coeffs
  * python/demos/demo_bpm_extract.py: add exception type, avoid {} as default
  argument value
  * python/demos/demo_pysoundcard_*: update to pysoundcard 0.5.2 (closes #42)
  * python/scripts/aubiocut: fix usage string output
  * python/tests/run_all_tests,*.py: switch to nose2, fix most prospect warnings
  * python/tests/test_fvec.py: add test_pass_to_numpy, cope with accumulated
  errors
  * python/tests/test_cvec.py: simplify, add more tests
  * python/tests/test_fft.py: more tests, fft.do to clash on wrong size
  inputs, f.rdo input size, cvec is large enough, memory tests, avoid
  VisibleDeprecationWarning
  * python/tests/test_filterbank.py: check for wrong values, ValueError raised
  * python/tests/test_filter.py: add tests
  * python/tests/test_musicutils.py: simplify, check TypeError is raised
  * python/tests/test_mfcc.py: more tests, check for wrong input size (see #63)
  * python/tests/test_mathutils: fix test_miditobin test, can also raise
  NotImplementedError (darwin)
  * python/tests/test_note2midi.py: more tests, use unicode_literals
  * python/tests/test_phasevoc.py: add a note about ocasional crash check
  perfect reconstruction for overlap &gt; 75% add 50% overlap test, fix duplicate
  test name, add wrong sized input tests
  * python/tests/test_sink.py: remove useless many_sinks_not_closed and cruft
  * python/tests/test_source.py: simplify, quieten, skip tests if no test sounds
  * python/tests/test_specdesc.py: check for wrong values, skip wrong name
  test, use correct input size (see #63)
  * python/tests/utils.py: try reopening the file is deleting it fails on windows
  * python/VERSION: removed, use same VERSION file for libaubio and python-aubio
  * MANIFEST.in: move from python/, update contents
  * nose2.cfg: add minimal config, set multiprocess always-on=false (fixes
  coverage, pass -N to speed up the tests)
  * examples/*.c: add time format option
  * examples/{aubioonset,aubiotrack}.c: also emit midi note, thanks to
  @topas-rec (closes #62)
  * examples/: use outmsg to print notes (fixes #8)
  * examples/aubionotes.c: use new aubio_notes object
  * examples/aubiotrack.c: enable -O and -t options, fix is_beat/is_silence
  types
  * examples/{parse_args,utils}.h: check in config.h if getopt.h was found, or
  build without for msvc, more windows hacks
  * examples/utils.c: change send_noteon to accept floating point midi note number
  * tests/src/io/test-source_apple_audio.c: shorten long line
  * tests/src/io/test-source_avcodec.c: use HAVE_LIBAV, closes #10
  * tests/src/temporal: avoid crash, clarify
  * tests/src/tempo/test-tempo.c: tempo back to only one output
  * tests/src/test-delnull.c: improve test, avoid segfaults
  * tests/src/test-lvec.c: use AUBIO_LSMP_FMT
  * tests/utils_tests.h: add VA_ARGS versions of variadic macros
  * tests/utils_tests.h: also use custom srandom/random when compiling with
  - std=c99
  * tests/utils_tests.h: make sure M_PI and RAND_MAX are defined
  * Makefile: set waf to 1.8.22 for now, new targets create_test_sounds,
  build_python, test_python, clean_python, build_python3, clean_python3,
  test_pure_python, test_pure_python_wheel, (use test_pure_* targets to build
  without libaubio), use 'HAVE_DOUBLE=1 make' to build in double precision
  * scripts/build_apple_frameworks: add script to build macosx and ios
  frameworks (see #34, #43)
  * scripts/build_emscripten: add script to build with emcc and co
  * scripts/build_mingw: add script to cross-compile using mingw
  * scripts/get_waf.sh: added simple script to fetch latest waf
  * scripts/setenv_local.sh: set environment to run from built source tree
  * scripts/setenv_local.sh: update to new python-aubio build location
  * tests/wscript_build: do not install test programs
  * tests/wscript_build, src/wscript_build: use 'use =', simplify
  * src/wscript_build: enable shared lib on ios, static lib on windows
  * wscript:
  - update --enable-foo to fail if foo is not found
  - add -mmacosx-version-min=10.4 on darwin
  - add '-fembed-bitcode' on ios (closes #31), min to 6.1
  - make fat build, add option to not build with Accelerate framework
  - add option to not build with CoreAudio/AudioToolbox
  - add --disable-docs option
  - add -lm detection
  - pass HAVE_AUBIO_DOUBLE in compiler arguments
  - first check for headers, make getopt.h and unistd.h optional
  - check HAVE_AV* from ctx.env
  - make msvc compiler quieter, add /MD and /D_CRT_SECURE_NO_WARNINGS
  - check if we find atlas/cblas.h
  - new build platform emscripten
  - more cleanups and updates
  * src/: remove trailing spaces, improve doxygen strings, update copyrights,
  fix typos
  * src/onset/onset.h: fix description of get/set_delay functions
  * src/spectral/mfcc.h: add link to reference implementation
  * src/spectral/filterbank_mel.h: update reference url
  * src/musicutils.h: update link to Bernardini's paper, improve doc
  * doc/aubiomfcc.txt: add a note about the output
  * doc/*.cfg: update to Doxygen 1.8.8
  * python/README.md: fix typo (thanks to Sam Alexander), document how to
  build in a virtualenv (see #2)
  * README.md: minor updates, link to python/README.md, switch to https</changelog>
  <changelog author="alarrosa@suse.com" date="1493380800">- Do not install libaubio.a</changelog>
  <changelog author="tiwai@suse.de" date="1495108800">- Correct the license tag to GPL-3.0+</changelog>
  <changelog author="jengelh@inai.de" date="1495800000">- Rectify RPM groups.</changelog>
  <changelog author="coolo@suse.com" date="1514808000">- update to 0.4.6
  This version includes:
  * yinfast, a new version of the YIN pitch detection algorithm,
    that uses spectral convolution to compute the same results as
    the original yin, but with a cost O(N log(N)), making it much
    faster than the plain implementation (O(N^2))
  * Intel IPP optimisations (thanks to Eduard Mueller)
  * improved support for emscripten (thanks to Martin Hermant),
    which compiles the aubio library as a javascript module and
    lets you run aubio's algorithm directly from within a web-page.
  0.4.6 also comes with several bug fixes and improvements.</changelog>
  <changelog author="tiwai@suse.de" date="1521806400">- Fix divide-by-zero at wavread (CVE-2017-17054, bsc#1070399):
  aubio-wavread-input-validation.patch</changelog>
  <changelog author="jengelh@inai.de" date="1524312000">- Explicitly request ffmpeg 3.x for building</changelog>
  <changelog author="tiwai@suse.de" date="1528459200">- Fix segfault with malformed input file (CVE-2017-17554,
  bsc#1072317):
  aubio-resampler-NULL-deref-fix.patch</changelog>
  <changelog author="tiwai@suse.de" date="1528459201">- Use license file tag</changelog>
  <changelog author="tiwai@suse.de" date="1533643200">- Fix minor security issues leading to segfault or buffer overread
  (CVE-2018-14522, bsc#1102359, CVE-2018-14523, bsc#1102364):
  0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch
  0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch
  0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch
  0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch
- Refresh the previous fixes from the upstream version
  aubio-wavread-input-validation.patch
  aubio-resampler-NULL-deref-fix.patch</changelog>
  <changelog author="bjorn.lie@gmail.com" date="1549972800">- Update to version 0.4.9:
  * No upstream changes provided, please see
    https://git.aubio.org/?p=aubio.git;a=shortlog
- Changes from version 0.4.8:
  * src/notes: new option release_drop.
  * src/spectral: new parameters added to filterbank and mfcc.
  * python/lib: start documenting module, improve build for
    win-amd64.
  * src fixes: prevent crash when using fft sizes unsupported by
    vDSP, prevent saturation when down-mixing a multi-channel
    source (avcodec/ffmpeg).
- Changes from version 0.4.7:
  * src/io/, src/notes/, src/pitch: prevent crashes on corrupted
    files.
  * src/spectral/dct.h: add dct type II object with optimised
    versions.
  * examples/: fix jack midi output, improve messages when jack
    disabled.
  * python/: add dct support, minor bug fixes tests and demos.
  * wscript: improve support for BLAS/ATLAS.
- Drop upstream fixed patches:
  * aubio-wavread-input-validation.patch
  * aubio-resampler-NULL-deref-fix.patch
  * 0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch
  * 0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch
  * 0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch
  * 0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch
- Run spec-cleaner, modernize spec.
- Replace ffmpeg3-devel with pkgconfig(libavdevice) BuildRequires:
  Allow to build with ffmpeg v4 and newer.</changelog>
  <changelog author="Tom&#xE1;&#x161; Chv&#xE1;tal &lt;tchvatal@suse.com&gt;" date="1580385600">- Do not pull in the python2 as a dependency since we can build
  fine with python3</changelog>
  <changelog author="dliw@posteo.net" date="1649505600">- Enable fftw3</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670932800">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as ffmpeg-5 does not provide libavresample.
- Add cdfe9ce.patch: [source_avcodec] avoid deprecation warning
  with latest avcodec api (58.134.100).
- Add 8a05420.patch: [source_avcodec] define FF_API_LAVF_AVCTX for
  libavcodec &gt; 59, thx @berolinux (closes gh-353).</changelog>
  <changelog author="Dave Plater &lt;davejplater@gmail.com&gt;" date="1678795200">- Replace ffmpeg libs pkgconfig build requires with actual
  ffmpeg-4 devel packages to fix build for Tumbleweed</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1683201600">- Add _multibuild to define 2nd spec file as additional flavor.
  Eliminates the need for source package links in OBS.</changelog>
  <changelog author="Edgar Aichinger &lt;edogawa@aon.at&gt;" date="1689508800">- Add waflib_deprecated.patch (fixes TW compilation)</changelog>
</package>
<package pkgid="086b4f3b4878550717ec80a96d958f7ea1f9567405081c95b4548625e632a628faaac3643700732089e727f15f740c884ce40ad149fac7cb357a7b5cbaf49ba5" name="aubio-debugsource" arch="x86_64">
  <version epoch="0" ver="0.4.9" rel="12.1"/>
  <changelog author="tiwai@suse.de" date="1528459200">- Fix segfault with malformed input file (CVE-2017-17554,
  bsc#1072317):
  aubio-resampler-NULL-deref-fix.patch</changelog>
  <changelog author="tiwai@suse.de" date="1528459201">- Use license file tag</changelog>
  <changelog author="tiwai@suse.de" date="1533643200">- Fix minor security issues leading to segfault or buffer overread
  (CVE-2018-14522, bsc#1102359, CVE-2018-14523, bsc#1102364):
  0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch
  0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch
  0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch
  0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch
- Refresh the previous fixes from the upstream version
  aubio-wavread-input-validation.patch
  aubio-resampler-NULL-deref-fix.patch</changelog>
  <changelog author="bjorn.lie@gmail.com" date="1549972800">- Update to version 0.4.9:
  * No upstream changes provided, please see
    https://git.aubio.org/?p=aubio.git;a=shortlog
- Changes from version 0.4.8:
  * src/notes: new option release_drop.
  * src/spectral: new parameters added to filterbank and mfcc.
  * python/lib: start documenting module, improve build for
    win-amd64.
  * src fixes: prevent crash when using fft sizes unsupported by
    vDSP, prevent saturation when down-mixing a multi-channel
    source (avcodec/ffmpeg).
- Changes from version 0.4.7:
  * src/io/, src/notes/, src/pitch: prevent crashes on corrupted
    files.
  * src/spectral/dct.h: add dct type II object with optimised
    versions.
  * examples/: fix jack midi output, improve messages when jack
    disabled.
  * python/: add dct support, minor bug fixes tests and demos.
  * wscript: improve support for BLAS/ATLAS.
- Drop upstream fixed patches:
  * aubio-wavread-input-validation.patch
  * aubio-resampler-NULL-deref-fix.patch
  * 0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch
  * 0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch
  * 0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch
  * 0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch
- Run spec-cleaner, modernize spec.
- Replace ffmpeg3-devel with pkgconfig(libavdevice) BuildRequires:
  Allow to build with ffmpeg v4 and newer.</changelog>
  <changelog author="Tom&#xE1;&#x161; Chv&#xE1;tal &lt;tchvatal@suse.com&gt;" date="1580385600">- Do not pull in the python2 as a dependency since we can build
  fine with python3</changelog>
  <changelog author="dliw@posteo.net" date="1649505600">- Enable fftw3</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670932800">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as ffmpeg-5 does not provide libavresample.
- Add cdfe9ce.patch: [source_avcodec] avoid deprecation warning
  with latest avcodec api (58.134.100).
- Add 8a05420.patch: [source_avcodec] define FF_API_LAVF_AVCTX for
  libavcodec &gt; 59, thx @berolinux (closes gh-353).</changelog>
  <changelog author="Dave Plater &lt;davejplater@gmail.com&gt;" date="1678795200">- Replace ffmpeg libs pkgconfig build requires with actual
  ffmpeg-4 devel packages to fix build for Tumbleweed</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1683201600">- Add _multibuild to define 2nd spec file as additional flavor.
  Eliminates the need for source package links in OBS.</changelog>
  <changelog author="Edgar Aichinger &lt;edogawa@aon.at&gt;" date="1689508800">- Add waflib_deprecated.patch (fixes TW compilation)</changelog>
</package>
<package pkgid="ff4544cb5acd15a1ac91771475eb48ae42e2baf8a8cd8372c16d002e2cedab6fc62674ea7edef47c8f0ea9cfe8fc44369145e046aa9b7f86872b6f4769787f74" name="aubio-docs" arch="noarch">
  <version epoch="0" ver="0.4.9" rel="12.1"/>
  <changelog author="tiwai@suse.de" date="1528459200">- Fix segfault with malformed input file (CVE-2017-17554,
  bsc#1072317):
  aubio-resampler-NULL-deref-fix.patch</changelog>
  <changelog author="tiwai@suse.de" date="1528459201">- Use license file tag</changelog>
  <changelog author="tiwai@suse.de" date="1533643200">- Fix minor security issues leading to segfault or buffer overread
  (CVE-2018-14522, bsc#1102359, CVE-2018-14523, bsc#1102364):
  0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch
  0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch
  0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch
  0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch
- Refresh the previous fixes from the upstream version
  aubio-wavread-input-validation.patch
  aubio-resampler-NULL-deref-fix.patch</changelog>
  <changelog author="bjorn.lie@gmail.com" date="1549972800">- Update to version 0.4.9:
  * No upstream changes provided, please see
    https://git.aubio.org/?p=aubio.git;a=shortlog
- Changes from version 0.4.8:
  * src/notes: new option release_drop.
  * src/spectral: new parameters added to filterbank and mfcc.
  * python/lib: start documenting module, improve build for
    win-amd64.
  * src fixes: prevent crash when using fft sizes unsupported by
    vDSP, prevent saturation when down-mixing a multi-channel
    source (avcodec/ffmpeg).
- Changes from version 0.4.7:
  * src/io/, src/notes/, src/pitch: prevent crashes on corrupted
    files.
  * src/spectral/dct.h: add dct type II object with optimised
    versions.
  * examples/: fix jack midi output, improve messages when jack
    disabled.
  * python/: add dct support, minor bug fixes tests and demos.
  * wscript: improve support for BLAS/ATLAS.
- Drop upstream fixed patches:
  * aubio-wavread-input-validation.patch
  * aubio-resampler-NULL-deref-fix.patch
  * 0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch
  * 0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch
  * 0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch
  * 0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch
- Run spec-cleaner, modernize spec.
- Replace ffmpeg3-devel with pkgconfig(libavdevice) BuildRequires:
  Allow to build with ffmpeg v4 and newer.</changelog>
  <changelog author="Tom&#xE1;&#x161; Chv&#xE1;tal &lt;tchvatal@suse.com&gt;" date="1580385600">- Do not pull in the python2 as a dependency since we can build
  fine with python3</changelog>
  <changelog author="dliw@posteo.net" date="1649505600">- Enable fftw3</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670932800">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as ffmpeg-5 does not provide libavresample.
- Add cdfe9ce.patch: [source_avcodec] avoid deprecation warning
  with latest avcodec api (58.134.100).
- Add 8a05420.patch: [source_avcodec] define FF_API_LAVF_AVCTX for
  libavcodec &gt; 59, thx @berolinux (closes gh-353).</changelog>
  <changelog author="Dave Plater &lt;davejplater@gmail.com&gt;" date="1678795200">- Replace ffmpeg libs pkgconfig build requires with actual
  ffmpeg-4 devel packages to fix build for Tumbleweed</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1683201600">- Add _multibuild to define 2nd spec file as additional flavor.
  Eliminates the need for source package links in OBS.</changelog>
  <changelog author="Edgar Aichinger &lt;edogawa@aon.at&gt;" date="1689508800">- Add waflib_deprecated.patch (fixes TW compilation)</changelog>
</package>
<package pkgid="6e3379c56ba120c9426c422a67611fd1f5b8dbc7b82e106f7ac3da3efa3827c487e5eb41469c295191fc5ef4541d6c2c3e852202f978ec20e98cc83afc7404c7" name="aubio-tools" arch="x86_64">
  <version epoch="0" ver="0.4.9" rel="12.1"/>
  <changelog author="tiwai@suse.de" date="1528459200">- Fix segfault with malformed input file (CVE-2017-17554,
  bsc#1072317):
  aubio-resampler-NULL-deref-fix.patch</changelog>
  <changelog author="tiwai@suse.de" date="1528459201">- Use license file tag</changelog>
  <changelog author="tiwai@suse.de" date="1533643200">- Fix minor security issues leading to segfault or buffer overread
  (CVE-2018-14522, bsc#1102359, CVE-2018-14523, bsc#1102364):
  0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch
  0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch
  0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch
  0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch
- Refresh the previous fixes from the upstream version
  aubio-wavread-input-validation.patch
  aubio-resampler-NULL-deref-fix.patch</changelog>
  <changelog author="bjorn.lie@gmail.com" date="1549972800">- Update to version 0.4.9:
  * No upstream changes provided, please see
    https://git.aubio.org/?p=aubio.git;a=shortlog
- Changes from version 0.4.8:
  * src/notes: new option release_drop.
  * src/spectral: new parameters added to filterbank and mfcc.
  * python/lib: start documenting module, improve build for
    win-amd64.
  * src fixes: prevent crash when using fft sizes unsupported by
    vDSP, prevent saturation when down-mixing a multi-channel
    source (avcodec/ffmpeg).
- Changes from version 0.4.7:
  * src/io/, src/notes/, src/pitch: prevent crashes on corrupted
    files.
  * src/spectral/dct.h: add dct type II object with optimised
    versions.
  * examples/: fix jack midi output, improve messages when jack
    disabled.
  * python/: add dct support, minor bug fixes tests and demos.
  * wscript: improve support for BLAS/ATLAS.
- Drop upstream fixed patches:
  * aubio-wavread-input-validation.patch
  * aubio-resampler-NULL-deref-fix.patch
  * 0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch
  * 0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch
  * 0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch
  * 0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch
- Run spec-cleaner, modernize spec.
- Replace ffmpeg3-devel with pkgconfig(libavdevice) BuildRequires:
  Allow to build with ffmpeg v4 and newer.</changelog>
  <changelog author="Tom&#xE1;&#x161; Chv&#xE1;tal &lt;tchvatal@suse.com&gt;" date="1580385600">- Do not pull in the python2 as a dependency since we can build
  fine with python3</changelog>
  <changelog author="dliw@posteo.net" date="1649505600">- Enable fftw3</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670932800">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as ffmpeg-5 does not provide libavresample.
- Add cdfe9ce.patch: [source_avcodec] avoid deprecation warning
  with latest avcodec api (58.134.100).
- Add 8a05420.patch: [source_avcodec] define FF_API_LAVF_AVCTX for
  libavcodec &gt; 59, thx @berolinux (closes gh-353).</changelog>
  <changelog author="Dave Plater &lt;davejplater@gmail.com&gt;" date="1678795200">- Replace ffmpeg libs pkgconfig build requires with actual
  ffmpeg-4 devel packages to fix build for Tumbleweed</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1683201600">- Add _multibuild to define 2nd spec file as additional flavor.
  Eliminates the need for source package links in OBS.</changelog>
  <changelog author="Edgar Aichinger &lt;edogawa@aon.at&gt;" date="1689508800">- Add waflib_deprecated.patch (fixes TW compilation)</changelog>
</package>
<package pkgid="befa14706b843f8540674437f5d0c0bcd7c2ff0fc6932d491eb2e9ef710b00dc077e05e6ae7379fe3e49d82e6283ca7995d4e09631f8ba71540c0f50fbe62c22" name="aubio-tools-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.4.9" rel="12.1"/>
  <changelog author="tiwai@suse.de" date="1528459200">- Fix segfault with malformed input file (CVE-2017-17554,
  bsc#1072317):
  aubio-resampler-NULL-deref-fix.patch</changelog>
  <changelog author="tiwai@suse.de" date="1528459201">- Use license file tag</changelog>
  <changelog author="tiwai@suse.de" date="1533643200">- Fix minor security issues leading to segfault or buffer overread
  (CVE-2018-14522, bsc#1102359, CVE-2018-14523, bsc#1102364):
  0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch
  0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch
  0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch
  0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch
- Refresh the previous fixes from the upstream version
  aubio-wavread-input-validation.patch
  aubio-resampler-NULL-deref-fix.patch</changelog>
  <changelog author="bjorn.lie@gmail.com" date="1549972800">- Update to version 0.4.9:
  * No upstream changes provided, please see
    https://git.aubio.org/?p=aubio.git;a=shortlog
- Changes from version 0.4.8:
  * src/notes: new option release_drop.
  * src/spectral: new parameters added to filterbank and mfcc.
  * python/lib: start documenting module, improve build for
    win-amd64.
  * src fixes: prevent crash when using fft sizes unsupported by
    vDSP, prevent saturation when down-mixing a multi-channel
    source (avcodec/ffmpeg).
- Changes from version 0.4.7:
  * src/io/, src/notes/, src/pitch: prevent crashes on corrupted
    files.
  * src/spectral/dct.h: add dct type II object with optimised
    versions.
  * examples/: fix jack midi output, improve messages when jack
    disabled.
  * python/: add dct support, minor bug fixes tests and demos.
  * wscript: improve support for BLAS/ATLAS.
- Drop upstream fixed patches:
  * aubio-wavread-input-validation.patch
  * aubio-resampler-NULL-deref-fix.patch
  * 0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch
  * 0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch
  * 0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch
  * 0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch
- Run spec-cleaner, modernize spec.
- Replace ffmpeg3-devel with pkgconfig(libavdevice) BuildRequires:
  Allow to build with ffmpeg v4 and newer.</changelog>
  <changelog author="Tom&#xE1;&#x161; Chv&#xE1;tal &lt;tchvatal@suse.com&gt;" date="1580385600">- Do not pull in the python2 as a dependency since we can build
  fine with python3</changelog>
  <changelog author="dliw@posteo.net" date="1649505600">- Enable fftw3</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1670932800">- Replace pkgconfig(libavresample) with pkgconfig(libswresample)
  BuildRequires as ffmpeg-5 does not provide libavresample.
- Add cdfe9ce.patch: [source_avcodec] avoid deprecation warning
  with latest avcodec api (58.134.100).
- Add 8a05420.patch: [source_avcodec] define FF_API_LAVF_AVCTX for
  libavcodec &gt; 59, thx @berolinux (closes gh-353).</changelog>
  <changelog author="Dave Plater &lt;davejplater@gmail.com&gt;" date="1678795200">- Replace ffmpeg libs pkgconfig build requires with actual
  ffmpeg-4 devel packages to fix build for Tumbleweed</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1683201600">- Add _multibuild to define 2nd spec file as additional flavor.
  Eliminates the need for source package links in OBS.</changelog>
  <changelog author="Edgar Aichinger &lt;edogawa@aon.at&gt;" date="1689508800">- Add waflib_deprecated.patch (fixes TW compilation)</changelog>
</package>
<package pkgid="014c184517838d955bcb7de2de5236246c210b86c20206f2f09a844cfaff7dc479fd46cf4a0368585058fb9b9362072bc9fb946f31dc52bf38f1ff4af8e52c5e" name="audex" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="bitshuffler@opensuse.org" date="1238328000">- Updated to 0.62b</changelog>
  <changelog author="bitshuffler@opensuse.org" date="1241784000">- Updated to 0.70b1</changelog>
  <changelog author="bitshuffler@opensuse.org" date="1243598400">- Updated to 0.71b2</changelog>
  <changelog author="tittiatcoke@gmail.com" date="1245758400">- Updated to 0.71b3
  + Added translations (Dutch &amp; Portugees)
  + Bugfixes (slider, Update profile loaded from external file)</changelog>
  <changelog author="tittiatcoke@gmail.com" date="1251028800">- Updated to 0.71b5
  + Updated header information (all GPLv3+ now)
  + Slightly improved czech translation (Pavel Fric)
  + Slightly improved german translation (this is already not perfect!)
  + Minor bugfix.</changelog>
  <changelog author="tittiatcoke@gmail.com" date="1254312000">- Updated to 0.72b1
  * Cover fetch from google.
  * Minor bugfixes.</changelog>
  <changelog author="bitshuffler@opensuse.org" date="1279195200">- Added 02_useless_include.diff
- Added audex-0.72b1-compilation_fixes.patch</changelog>
  <changelog author="asterios.dramis@gmail.com" date="1294574400">- Updated to 0.73b1
  * New feature: Use eyeD3 for MP3 tagging if available
  * Bugfix: Crash on cancel
  * Fixes some compile issues with GCC 4.5
  * Some cosmetic fixes
  * English language fix: Uses the word "folder" instead of "directory"
  * Uses KDiskFreeSpaceInfo for calculating free space on a device
  * New feature: Uses mimetype icons for profiles and allows user to change these
  * Settings in profile editing dialog now grouped with tabs
  * Fixes a crash when adding a new profile via the UI
  * New feature: New simple view of the ripping progress dialog
  * Adds more detail to CDDB errors
  * Some small bugfixes... (thx to all reporters!)
- Spec file updates
  - Added a audex-lang package.
  - Changes after spec-cleaner run.
  - Updates in BuildRequires: and %install sections.
  - Added python-eyeD3 to Recommends: entry.
- Removed the 02_useless_include.diff and audex-0.72b1-compilation_fixes.patch
  patches (fixed upstream).
- Added a patch to make the package use cmake-2.6.4 (fixes build in openSUSE
  11.2).</changelog>
  <changelog author="asterios.dramis@gmail.com" date="1297771200">- Updated to 0.74b1
  * New feature: Simple cue sheet support (but does not detect pregaps yet)
  * New feature: Single file rip
  * New feature: Adds MD5 to hashlist options
  * Fixes some issues with cover browser
  * Uses external image viewer to show cover
  * Bugfix in Ogg Vorbis settings widget
  * Ogg Vorbis setting widget now allows to set fractional quality values
  * Bugfix in commandline for FAAC
  * 2 digits track number option for filenames
  * New parameters for file name scheme variables: left (see
    kde.maniatek.com/audex for full documentation)
  * New helptext for scheme wizard dialogs
  * Pattern of playlists, hashlists and cover files now need a $suffix variable
  * Some more small bugfixes...
- Spec file updates
  * Changed License: to GPLv3+.
  * Minor fixes.
  * Fix Categories: entry of audex.desktop file.</changelog>
  <changelog author="idonmez@suse.com" date="1335787200">- Fix compilation with gcc 4.7</changelog>
  <changelog author="ctrippe@opensuse.org" date="1358769600">- Update to 0.76b1
  * Fix google cover fetcher (bnc#799499)
  * Fix compile issues with GCC 4.7 (drop audex-gcc47.patch)
- Added patch to install translations</changelog>
  <changelog author="asterios.dramis@gmail.com" date="1361016000">- Update to 0.77b1:
  * Removed store discid file feature as this is useless considering info file
    feature
  * Integrated new playlist module (relative filenames in playlists and
    playlist merging)
  * Minor bugfixes, code modifications and typo fixes...
  From 0.76b2:
  * Some minor code fixes
  * Cue sheet writer now follows the file format specs (not using OGG and FLAC
    anymore)
  * Some minor bugfixes...
- Removed require_cmake_2.6.4.patch (not needed anymore).
- Removed install_translations.diff (fixed upstream).</changelog>
  <changelog author="ecsos@opensuse.org" date="1393070400">- update to 0.78
  * Fixed google cover search
  * Embed cover in FLAC files
  * Minor bugfixes, code modifications and typo fixes...</changelog>
  <changelog author="ecsos@opensuse.org" date="1416225600">- update to 0.79
  * This is only a bugfix release.</changelog>
  <changelog author="olaf@aepfle.de" date="1480420800">- Expand macro kde4_runtime_requires only when its available
  to fix quilt setup</changelog>
  <changelog author="fabian@ritter-vogt.de" date="1481198400">- Revert kde4_runtime_requires change</changelog>
  <changelog author="christophe@krop.fr" date="1610280000">- Use a snapshot tracking git for audex. The current package still
  uses KDE4/Qt4 which is long dead.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
  * Port to KF6/Qt6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Update logo</changelog>
</package>
<package pkgid="e507eef33cf85f22f93fa89c5cdd06df6d6da2f755fbe5c915e26e54370a83b240bd2d9310d67568d55e575b5e93059c23e36a4ab6449b3ad0c3b080e53e985f" name="audex" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="ctrippe@opensuse.org" date="1358769600">- Update to 0.76b1
  * Fix google cover fetcher (bnc#799499)
  * Fix compile issues with GCC 4.7 (drop audex-gcc47.patch)
- Added patch to install translations</changelog>
  <changelog author="asterios.dramis@gmail.com" date="1361016000">- Update to 0.77b1:
  * Removed store discid file feature as this is useless considering info file
    feature
  * Integrated new playlist module (relative filenames in playlists and
    playlist merging)
  * Minor bugfixes, code modifications and typo fixes...
  From 0.76b2:
  * Some minor code fixes
  * Cue sheet writer now follows the file format specs (not using OGG and FLAC
    anymore)
  * Some minor bugfixes...
- Removed require_cmake_2.6.4.patch (not needed anymore).
- Removed install_translations.diff (fixed upstream).</changelog>
  <changelog author="ecsos@opensuse.org" date="1393070400">- update to 0.78
  * Fixed google cover search
  * Embed cover in FLAC files
  * Minor bugfixes, code modifications and typo fixes...</changelog>
  <changelog author="ecsos@opensuse.org" date="1416225600">- update to 0.79
  * This is only a bugfix release.</changelog>
  <changelog author="olaf@aepfle.de" date="1480420800">- Expand macro kde4_runtime_requires only when its available
  to fix quilt setup</changelog>
  <changelog author="fabian@ritter-vogt.de" date="1481198400">- Revert kde4_runtime_requires change</changelog>
  <changelog author="christophe@krop.fr" date="1610280000">- Use a snapshot tracking git for audex. The current package still
  uses KDE4/Qt4 which is long dead.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
  * Port to KF6/Qt6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Update logo</changelog>
</package>
<package pkgid="92d7da6505ea61498a197ceebb7e511ee3ffac092bd91f9d1ae1dbf3af167bcbc68939336f91c53de319748d9d40b57e8635b83d43c0023408589c65d9201bda" name="audex-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="ctrippe@opensuse.org" date="1358769600">- Update to 0.76b1
  * Fix google cover fetcher (bnc#799499)
  * Fix compile issues with GCC 4.7 (drop audex-gcc47.patch)
- Added patch to install translations</changelog>
  <changelog author="asterios.dramis@gmail.com" date="1361016000">- Update to 0.77b1:
  * Removed store discid file feature as this is useless considering info file
    feature
  * Integrated new playlist module (relative filenames in playlists and
    playlist merging)
  * Minor bugfixes, code modifications and typo fixes...
  From 0.76b2:
  * Some minor code fixes
  * Cue sheet writer now follows the file format specs (not using OGG and FLAC
    anymore)
  * Some minor bugfixes...
- Removed require_cmake_2.6.4.patch (not needed anymore).
- Removed install_translations.diff (fixed upstream).</changelog>
  <changelog author="ecsos@opensuse.org" date="1393070400">- update to 0.78
  * Fixed google cover search
  * Embed cover in FLAC files
  * Minor bugfixes, code modifications and typo fixes...</changelog>
  <changelog author="ecsos@opensuse.org" date="1416225600">- update to 0.79
  * This is only a bugfix release.</changelog>
  <changelog author="olaf@aepfle.de" date="1480420800">- Expand macro kde4_runtime_requires only when its available
  to fix quilt setup</changelog>
  <changelog author="fabian@ritter-vogt.de" date="1481198400">- Revert kde4_runtime_requires change</changelog>
  <changelog author="christophe@krop.fr" date="1610280000">- Use a snapshot tracking git for audex. The current package still
  uses KDE4/Qt4 which is long dead.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
  * Port to KF6/Qt6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Update logo</changelog>
</package>
<package pkgid="9ad307fb2ad8178e95c3677eef416b1d6f77c52286b4c940de3bffc7915dcd291aef9897e33546e9d56b4b52a5e1b094ee389240a9785d051725412aa4a9470b" name="audex-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="ctrippe@opensuse.org" date="1358769600">- Update to 0.76b1
  * Fix google cover fetcher (bnc#799499)
  * Fix compile issues with GCC 4.7 (drop audex-gcc47.patch)
- Added patch to install translations</changelog>
  <changelog author="asterios.dramis@gmail.com" date="1361016000">- Update to 0.77b1:
  * Removed store discid file feature as this is useless considering info file
    feature
  * Integrated new playlist module (relative filenames in playlists and
    playlist merging)
  * Minor bugfixes, code modifications and typo fixes...
  From 0.76b2:
  * Some minor code fixes
  * Cue sheet writer now follows the file format specs (not using OGG and FLAC
    anymore)
  * Some minor bugfixes...
- Removed require_cmake_2.6.4.patch (not needed anymore).
- Removed install_translations.diff (fixed upstream).</changelog>
  <changelog author="ecsos@opensuse.org" date="1393070400">- update to 0.78
  * Fixed google cover search
  * Embed cover in FLAC files
  * Minor bugfixes, code modifications and typo fixes...</changelog>
  <changelog author="ecsos@opensuse.org" date="1416225600">- update to 0.79
  * This is only a bugfix release.</changelog>
  <changelog author="olaf@aepfle.de" date="1480420800">- Expand macro kde4_runtime_requires only when its available
  to fix quilt setup</changelog>
  <changelog author="fabian@ritter-vogt.de" date="1481198400">- Revert kde4_runtime_requires change</changelog>
  <changelog author="christophe@krop.fr" date="1610280000">- Use a snapshot tracking git for audex. The current package still
  uses KDE4/Qt4 which is long dead.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
  * Port to KF6/Qt6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Update logo</changelog>
</package>
<package pkgid="dfc5d33f2740b6c1a7ce288fc94c2f3963e6463a5e3023e195e5321a367f79c93aad95b0b3f09cd333d59a3a2782b3569f831fec4d213ea29d1d9eec329d2731" name="audex-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="ctrippe@opensuse.org" date="1358769600">- Update to 0.76b1
  * Fix google cover fetcher (bnc#799499)
  * Fix compile issues with GCC 4.7 (drop audex-gcc47.patch)
- Added patch to install translations</changelog>
  <changelog author="asterios.dramis@gmail.com" date="1361016000">- Update to 0.77b1:
  * Removed store discid file feature as this is useless considering info file
    feature
  * Integrated new playlist module (relative filenames in playlists and
    playlist merging)
  * Minor bugfixes, code modifications and typo fixes...
  From 0.76b2:
  * Some minor code fixes
  * Cue sheet writer now follows the file format specs (not using OGG and FLAC
    anymore)
  * Some minor bugfixes...
- Removed require_cmake_2.6.4.patch (not needed anymore).
- Removed install_translations.diff (fixed upstream).</changelog>
  <changelog author="ecsos@opensuse.org" date="1393070400">- update to 0.78
  * Fixed google cover search
  * Embed cover in FLAC files
  * Minor bugfixes, code modifications and typo fixes...</changelog>
  <changelog author="ecsos@opensuse.org" date="1416225600">- update to 0.79
  * This is only a bugfix release.</changelog>
  <changelog author="olaf@aepfle.de" date="1480420800">- Expand macro kde4_runtime_requires only when its available
  to fix quilt setup</changelog>
  <changelog author="fabian@ritter-vogt.de" date="1481198400">- Revert kde4_runtime_requires change</changelog>
  <changelog author="christophe@krop.fr" date="1610280000">- Use a snapshot tracking git for audex. The current package still
  uses KDE4/Qt4 which is long dead.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
  * Port to KF6/Qt6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Update logo</changelog>
</package>
<package pkgid="b265d0d1820a8dbf3cda3aad9d4e735ea7e1abea4301abc45db614d9971f7dedd950fb84b819a0b0784ded802126b0bd8f568e5553e17f67ab3830ba0d75d7b9" name="autofs" arch="src">
  <version epoch="0" ver="5.1.9" rel="4.1"/>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1598875200">- autofs-nsswitch-usr-etc.patch: Use /usr/etc/nsswitch.conf if
  /etc/nsswitch.con is unavailable (bsc#1175238)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1603454400">- automount-fix-master-wait.patch: Fix options string for master wait
  (bsc#1178006)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1619092800">- Upgrade to 5.1.7
  - make bind mounts propagation slave by default.
  - update ldap READMEs and schema definitions.
  - fix program map multi-mount lookup after mount fail.
  - fix browse dir not re-created on symlink expire.
  - fix a regression with map instance lookup.
  - correct fsf address.
  - samples: fix Makefile targets' directory dependencies
  - remove intr hosts map mount option.
  - fix trailing dollar sun entry expansion.
  - initialize struct addrinfo for getaddrinfo() calls.
  - fix quoted string length calc in expandsunent().
  - fix autofs mount options construction.
  - mount_nfs.c fix local rdma share not mounting.
  - configure.in: Remove unneeded second call to PKG_PROG_PKG_CONFIG.
  - configure.in: Do not append parentheses to PKG_PROG_PKG_CONFIG.
  - Use PKG_CHECK_MODULES to detect the libxml2 library.
  - fix ldap sasl reconnect problem.
  - samples/ldap.schema fix.
  - fix configure force shutdown check.
  - fix crash in sun_mount().
  - fix lookup_nss_read_master() nsswicth check return.
  - fix typo in open_sss_lib().
  - fix sss_master_map_wait timing.
  - add sss ECONREFUSED return handling.
  - use mapname in sss context for setautomntent().
  - add support for new sss autofs proto version call.
  - fix retries check in setautomntent_wait().
  - refactor sss setautomntent().
  - improve sss setautomntent() error handling.
  - refactor sss getautomntent().
  - improve sss getautomntent() error handling.
  - sss introduce calculate_retry_count() function.
  - move readall into struct master.
  - sss introduce a flag to indicate map being read.
  - update sss timeout documentation.
  - refactor sss getautomntbyname().
  - improve sss getautomntbyname() error handling.
  - use a valid timeout in lookup_prune_one_cache().
  - dont prune offset map entries.
  - simplify sss source stale check.
  - include linux/nfs.h directly in rpc_subs.h.
  - fix typo in daemon/automount.c.
  - fix direct mount unlink_mount_tree() path.
  - fix unlink mounts umount order.
  - fix incorrect logical compare in unlink_mount_tree().
  - use bit flag for force unlink mounts.
  - improve force unlink option description.
  - remove command fifo on autofs mount fail.
  - add force unlink mounts and exit option.
  - cleanup stale logpri fifo pipes on unlink and exit.
  - fix incorrect systemctl command syntax in autofs(8).
  - update list.h.
  - add hashtable implementation.
  - change mountpoint to mp in struct ext_mount.
  - make external mounts independent of amd_entry.
  - make external mounts use simpler hashtable.
  - add a hash index to mnt_list.
  - use mnt_list for submounts.
  - use mnt_list for amdmounts.
  - make umount_autofs() static.
  - remove force parameter from umount_all().
  - fix remount expire.
  - fix stale offset directories disable mount.
  - use struct mnt_list to track mounted mounts.
  - use struct mnt_list mounted list for expire.
  - remove unused function tree_get_mnt_list().
  - only add expre alarm for active mounts.
  - move submount check into conditional_alarm_add().
  - move lib/master.c to daemon/master.c.
  - use master_list_empty() for list empty check.
  - add helper to construct mount point path.
  - check defaults_read_config() return.
  - move AUTOFS_LIB to end of build rule lines.
  - make autofs.a a shared library.
  - make lookup_file.c nss map read status return handling consistent.
  - fix empty mounts list return from unlink_mount_tree().
- Refreshed autofs-5.1.1-dbus-udisks-monitor.patch
- Replaced automount-fix-master-wait.patch with upstream patch
  autofs-5.1.7-Fix-option-for-master_read_wait.patch</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1619092801">- Update pidfile path to /run from /var/run (bsc#1185155)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1631102400">-  autofs-5.1.7-use-default-stack-size-for-threads.patch: Use default
  stack size for threads (bsc#1189199)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1641297600">- update to 5.1.8:
  * add xdr_exports().
  * remove mount.x and rpcgen dependencies.
  * dont use realloc in host exports list processing.
  * use sprintf() when constructing hosts mapent.
  * fix mnts_remove_amdmount() uses wrong list.
  * Fix option for master read wait.
  * eliminate cache_lookup_offset() usage.
  * fix is mounted check on non existent path.
  * simplify cache_get_parent().
  * set offset parent in update_offset_entry().
  * remove redundant variables from mount_autofs_offset().
  * remove unused parameter form do_mount_autofs_offset().
  * refactor umount_multi_triggers().
  * eliminate clean_stale_multi_triggers().
  * simplify mount_subtree() mount check.
  * fix mnts_get_expire_list() expire list construction.
  * fix inconsistent locking in umount_subtree_mounts().
  * fix return from umount_subtree_mounts() on offset list delete.
  * pass mapent_cache to update_offset_entry().
  * fix inconsistent locking in parse_mount().
  * remove unused mount offset list lock functions.
  * eliminate count_mounts() from expire_proc_indirect().
  * eliminate some strlen calls in offset handling.
  * don't add offset mounts to mounted mounts table.
  * reduce umount EBUSY check delay.
  * cleanup cache_delete() a little.
  * rename path to m_offset in update_offset_entry().
  * don't pass root to do_mount_autofs_offset().
  * rename tree implementation functions.
  * add some multi-mount macros.
  * remove unused functions cache_dump_multi() and cache_dump_cache().
  * add a len field to struct autofs_point.
  * make tree implementation data independent.
  * add mapent tree implementation.
  * add tree_mapent_add_node().
  * add tree_mapent_delete_offsets().
  * add tree_mapent_traverse_subtree().
  * fix mount_fullpath().
  * add tree_mapent_cleanup_offsets().
  * add set_offset_tree_catatonic().
  * add mount and umount offsets functions.
  * switch to use tree implementation for offsets.
  * remove obsolete functions.
  * remove redundant local var from sun_mount().
  * use mount_fullpath() in one spot in parse_mount().
  * pass root length to mount_fullpath().
  * remove unused function master_submount_list_empty().
  * move amd mounts removal into lib/mounts.c.
  * check for offset with no mount location.
  * remove mounts_mutex.
  * remove unused variable from get_exports().
  * add missing free in handle_mounts().
  * remove redundant if check.
  * fix possible memory leak in master_parse().
  * fix possible memory leak in mnts_add_amdmount().
  * fix double unlock in parse_mount().
  * add length check in umount_subtree_mounts().
  * fix flags check in umount_multi().
  * dont try umount after stat() ENOENT fail.
  * remove redundant assignment in master_add_amd_mount_section_mounts().
  * fix dead code in mnts_add_mount().
  * fix arg not used in error print.
  * fix missing lock release in mount_subtree().
  * fix double free in parse_mapent().
  * refactor lookup_prune_one_cache() a bit.
  * cater for empty mounts list in mnts_get_expire_list().
  * add ext_mount_hash_mutex lock helpers.
  * fix amd section mounts map reload.
  * fix dandling symlink creation if nis support is not available.
  * dont use AUTOFS_DEV_IOCTL_CLOSEMOUNT.
  * fix lookup_prune_one_cache() refactoring change.
  * fix amd hosts mount expire.
  * fix offset entries order.
  * use mapent tree root for tree_mapent_add_node().
  * eliminate redundant cache lookup in tree_mapent_add_node().
  * fix hosts map offset order.
  * fix direct mount deadlock.
  * add missing description of null map option.
  * fix nonstrict offset mount fail handling.
  * fix concat_options() error handling.
  * eliminate some more alloca usage.
  * use default stack size for threads.
  * fix use of possibly NULL var in lookup_program.c:match_key().
  * fix incorrect print format specifiers in get_pkt().
  * add mapent path length check in handle_packet_expire_direct().
  * add copy length check in umount_autofs_indirect().
  * add some buffer length checks to master map parser.
  * add buffer length check to rmdir_path().
  * eliminate buffer usage from handle_mounts_cleanup().
  * add buffer length checks to autofs mount_mount().
  * make NFS version check flags consistent.
  * refactor get_nfs_info().
- drop autofs-5.1.7-Fix-option-for-master_read_wait.patch,
  autofs-5.1.7-use-default-stack-size-for-threads.patch: upstream</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1644494400">- Add autofs-Test-TCP-request-correctly-in-nfs_get_info.patch
  Fix bug when rpcbind not visible
  (bsc#1195587 bsc#1195595)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1644840000">- 0004-autofs-5.1.3-add-port-parameter-to-rpc_ping.patch
  Suppress portmap calls when port explicitly given
  (bsc#1195697)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1647259200">- 0005-autofs-5.1.4-fix-incorrect-locking-in-sss-lookup.patch
  Fix locking problem that causes deadlock when sss used.
  (bsc#1196485)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1647345600">- autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch
  Fix problem with quote handling
  (bsc#1181715)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1652097600">- Use OPTIONS instead of AUTOFS_OPTIONS in /etc/sysconfig/autofs
  (bsc#1199027)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.de&gt;" date="1652356800">- Moved -autofs- file from user specif directory
  /etc/NetworkManager/dispatcher.d to vendor specific directory
  /usr/lib/NetworkManager/dispatcher.d. So, users changes can
  still be done in /etc and will not be overwritten by an update.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1663070400">- Move dbus-1 system.d file to /usr (bsc#1203362)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1681732800">- Add autofs-suse-manpage-remove-initdir.patch
  Removes references of initdir from man pages (bsc#1207881)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1682164800">- autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  Fix off-by-one error in recursive map handling. (bsc#1209653)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1704974400">- Removed following upstreamed patches because of upgrade:
  * autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch
  * 0001-use_hostname_for_mounts-shouldn-t-prevent-selection-.patch
  * 0002-Fix-monotonic_elapsed.patch Deleted
  * 0003-autofs-5.1.4-fix-fd-leak-in-rpc_do_create_client.patch Deleted
  * 0004-autofs-5.1.3-add-port-parameter-to-rpc_ping.patch
  * 0005-autofs-5.1.4-fix-incorrect-locking-in-sss-lookup.patch
  * autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  * autofs-5-1-3-check-map-instances-for-staleness-on-map-update.patch
  * autofs-5-1-3-fix-ordering-of-seteuid-setegid-in-do_spawn.patch
  * autofs-5-1-3-fix-possible-map-instance-memory-leak.patch
  * autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  * autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707566400">- update to 5.1.9 (bsc#1219508)
  * fix kernel mount status notification.
  * fix fedfs build flags.
  * fix set open file limit.
  * improve descriptor open error reporting.
  * fix root offset error handling.
  * fix fix root offset error handling.
  * fix nonstrict fail handling of last offset mount.
  * dont fail on duplicate offset entry tree add.
  * fix loop under run in cache_get_offset_parent().
  * bailout on rpc systemerror.
  * fix nfsv4 only mounts should not use rpcbind.
  * simplify cache_add() a little.
  * fix use after free in tree_mapent_delete_offset_tree().
  * fix memory leak in xdr_exports().
  * avoid calling pthread_getspecific() with NULL key_thread_attempt_id.
  * fix sysconf(3) return handling.
  * remove nonstrict parameter from tree_mapent_umount_offsets().
  * fix handling of incorrect return from umount_ent().
  * dont use initgroups() at spawn.
  * fix bashism in configure.
  * musl: fix missing include in hash.h.
  * musl: define fallback dummy NSS config path
  * musl: avoid internal stat.h definitions.
  * musl: add missing include to hash.h for _WORDSIZE.
  * musl: add missing include to log.h for pid_t.
  * musl: define _SWORD_TYPE.
  * add autofs_strerror_r() helper for musl.
  * update configure.
  * handle innetgr() not present in musl.
  * fix missing unlock in sasl_do_kinit_ext_cc().
  * fix a couple of null cache locking problems.
  * restore gcc flags after autoconf Kerberos 5 check.
  * prepare for OpenLDAP SASL binding.
  * let OpenLDAP handle SASL binding.
  * configure: LDAP function checks ignore implicit declarations.
  * improve debug logging of LDAP binds.
  * improve debug logging of SASL binds.
  * internal SASL logging only in debug log mode.
  * more comprehensive verbose logging for LDAP maps.
  * fix invalid tsv access.
  * support SCRAM for SASL binding.
  * ldap_sasl_interactive_bind() needs credentials for auto-detection.
  * fix autofs regression due to positive_timeout.
  * fix parse module instance mutex naming.
  * serialise lookup module open and reinit.
  * coverity fix for invalid access.
  * fix hosts map deadlock on restart.
  * fix deadlock with hosts map reload.
  * fix memory leak in update_hosts_mounts().
  * fix minus only option handling in concat_options().
  * fix incorrect path for is_mounted() in try_remount().
  * fix additional tsv invalid access.
  * fix use_ignore_mount_option description.
  * include addtional log info for mounts.
  * fail on empty replicated host name.
  * improve handling of ENOENT in sss setautomntent().
  * don't immediately call function when waiting.
  * define LDAP_DEPRECATED during LDAP configure check.
  * fix return status of mount_autofs().
  * don't close lookup at umount.
  * fix deadlock in lookups.
  * dont delay expire.
  * make amd mapent search function name clear.
  * rename statemachine() to signal_handler().
  * make signal handling consistent.
  * eliminate last remaining state_pipe usage.
  * add function master_find_mapent_by_devid().
  * use device id to locate autofs_point when setting log priotity.
  * add command pipe handling functions.
  * switch to application wide command pipe.
  * get rid of unused field submnt_count.
  * fix mount tree startup reconnect.
  * fix unterminated read in handle_cmd_pipe_fifo_message().
  * fix memory leak in sasl_do_kinit()
  * fix fix mount tree startup reconnect.
  * fix amd selector function matching.
  * get rid entry thid field.
  * continue expire immediately after submount check.
  * eliminate realpath from mount of submount.
  * eliminate root param from autofs mount and umount.
  * remove redundant fstat from do_mount_direct().
  * get rid of strlen call in handle_packet_missing_direct().
  * remove redundant stat call in lookup_ghost().
  * set mapent dev and ino before adding to index.
  * change to use printf functions in amd parser.
  * dont call umount_subtree_mounts() on parent at umount.
  * dont take parent source lock at mount shutdown.
  * fix possible use after free in handle_mounts_exit().
  * make submount cleanup the same as top level mounts.
  * add soucre parameter to module functions.
  * add ioctlfd open helper.
  * make open files limit configurable.
  * use correct reference for IN6 macro call.
  * dont probe interface that cant send packet.
  * fix some sss error return cases.
  * fix incorrect matching of cached wildcard key.
  * fix expire retry looping.
  * allow -null map in indirect maps.
  * fix multi-mount check.
  * fix let OpenLDAP handle SASL binding.
  * always recreate credential cache.
  * fix ldap_parse_page_control() check.
  * fix typo in create_cmd_pipe_fifo().
  * add null check in master_kill().
  * be more careful with cmd pipe at exit.
  * rename configure.in to configure.ac.
  * update autoconf macros.
  * update autoconf release.
  * update autofs release.
- drop autofs-5-1-3-fix-unset-tsd-group-name-handling.patch, upstream
  as ab8ca82 ("autofs-5.1.3 - fix unset tsd group name handling")
- drop autofs-Test-TCP-request-correctly-in-nfs_get_info.patch,
  superseded by 80845bb ("autofs-5.1.8 - fix nfsv4 only mounts should
  not use rpcbind")
- rebase autofs-5.1.1-dbus-udisks-monitor.patch atop 37fda2c
  ("autofs-5.1.8 - add soucre parameter to module functions")</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1710936000">- Fix -Werror=incompatible-pointer-types issues (bsc#1221682)
  * Add autofs-5.1.9-fix-ldap_parse_page_control-check.patch
  * Add autofs-5.1.9-cast-sasl_callback_t-function-pointers.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1717416000">- Fix xmlStructuredErrorFunc callback parameter type (bsc#1221682)
  * Refresh autofs-5.1.1-dbus-udisks-monitor.patch
- Use upstream sasl_callback_t patch
  * Remove autofs-5.1.9-cast-sasl_callback_t-function-pointers.patch
  * Add autofs-5.1.9-Fix-incompatible-function-pointer-types.patch</changelog>
</package>
<package pkgid="f3307672b5366ba35f41604de8aa329aebba744315b45641fbce67cacd2884e03f74c8234bbaf921298b5797ee2229f593b447f15a20c7dfb5db152333968aef" name="autofs" arch="x86_64">
  <version epoch="0" ver="5.1.9" rel="4.1"/>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1619092800">- Upgrade to 5.1.7
  - make bind mounts propagation slave by default.
  - update ldap READMEs and schema definitions.
  - fix program map multi-mount lookup after mount fail.
  - fix browse dir not re-created on symlink expire.
  - fix a regression with map instance lookup.
  - correct fsf address.
  - samples: fix Makefile targets' directory dependencies
  - remove intr hosts map mount option.
  - fix trailing dollar sun entry expansion.
  - initialize struct addrinfo for getaddrinfo() calls.
  - fix quoted string length calc in expandsunent().
  - fix autofs mount options construction.
  - mount_nfs.c fix local rdma share not mounting.
  - configure.in: Remove unneeded second call to PKG_PROG_PKG_CONFIG.
  - configure.in: Do not append parentheses to PKG_PROG_PKG_CONFIG.
  - Use PKG_CHECK_MODULES to detect the libxml2 library.
  - fix ldap sasl reconnect problem.
  - samples/ldap.schema fix.
  - fix configure force shutdown check.
  - fix crash in sun_mount().
  - fix lookup_nss_read_master() nsswicth check return.
  - fix typo in open_sss_lib().
  - fix sss_master_map_wait timing.
  - add sss ECONREFUSED return handling.
  - use mapname in sss context for setautomntent().
  - add support for new sss autofs proto version call.
  - fix retries check in setautomntent_wait().
  - refactor sss setautomntent().
  - improve sss setautomntent() error handling.
  - refactor sss getautomntent().
  - improve sss getautomntent() error handling.
  - sss introduce calculate_retry_count() function.
  - move readall into struct master.
  - sss introduce a flag to indicate map being read.
  - update sss timeout documentation.
  - refactor sss getautomntbyname().
  - improve sss getautomntbyname() error handling.
  - use a valid timeout in lookup_prune_one_cache().
  - dont prune offset map entries.
  - simplify sss source stale check.
  - include linux/nfs.h directly in rpc_subs.h.
  - fix typo in daemon/automount.c.
  - fix direct mount unlink_mount_tree() path.
  - fix unlink mounts umount order.
  - fix incorrect logical compare in unlink_mount_tree().
  - use bit flag for force unlink mounts.
  - improve force unlink option description.
  - remove command fifo on autofs mount fail.
  - add force unlink mounts and exit option.
  - cleanup stale logpri fifo pipes on unlink and exit.
  - fix incorrect systemctl command syntax in autofs(8).
  - update list.h.
  - add hashtable implementation.
  - change mountpoint to mp in struct ext_mount.
  - make external mounts independent of amd_entry.
  - make external mounts use simpler hashtable.
  - add a hash index to mnt_list.
  - use mnt_list for submounts.
  - use mnt_list for amdmounts.
  - make umount_autofs() static.
  - remove force parameter from umount_all().
  - fix remount expire.
  - fix stale offset directories disable mount.
  - use struct mnt_list to track mounted mounts.
  - use struct mnt_list mounted list for expire.
  - remove unused function tree_get_mnt_list().
  - only add expre alarm for active mounts.
  - move submount check into conditional_alarm_add().
  - move lib/master.c to daemon/master.c.
  - use master_list_empty() for list empty check.
  - add helper to construct mount point path.
  - check defaults_read_config() return.
  - move AUTOFS_LIB to end of build rule lines.
  - make autofs.a a shared library.
  - make lookup_file.c nss map read status return handling consistent.
  - fix empty mounts list return from unlink_mount_tree().
- Refreshed autofs-5.1.1-dbus-udisks-monitor.patch
- Replaced automount-fix-master-wait.patch with upstream patch
  autofs-5.1.7-Fix-option-for-master_read_wait.patch</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1619092801">- Update pidfile path to /run from /var/run (bsc#1185155)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1631102400">-  autofs-5.1.7-use-default-stack-size-for-threads.patch: Use default
  stack size for threads (bsc#1189199)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1641297600">- update to 5.1.8:
  * add xdr_exports().
  * remove mount.x and rpcgen dependencies.
  * dont use realloc in host exports list processing.
  * use sprintf() when constructing hosts mapent.
  * fix mnts_remove_amdmount() uses wrong list.
  * Fix option for master read wait.
  * eliminate cache_lookup_offset() usage.
  * fix is mounted check on non existent path.
  * simplify cache_get_parent().
  * set offset parent in update_offset_entry().
  * remove redundant variables from mount_autofs_offset().
  * remove unused parameter form do_mount_autofs_offset().
  * refactor umount_multi_triggers().
  * eliminate clean_stale_multi_triggers().
  * simplify mount_subtree() mount check.
  * fix mnts_get_expire_list() expire list construction.
  * fix inconsistent locking in umount_subtree_mounts().
  * fix return from umount_subtree_mounts() on offset list delete.
  * pass mapent_cache to update_offset_entry().
  * fix inconsistent locking in parse_mount().
  * remove unused mount offset list lock functions.
  * eliminate count_mounts() from expire_proc_indirect().
  * eliminate some strlen calls in offset handling.
  * don't add offset mounts to mounted mounts table.
  * reduce umount EBUSY check delay.
  * cleanup cache_delete() a little.
  * rename path to m_offset in update_offset_entry().
  * don't pass root to do_mount_autofs_offset().
  * rename tree implementation functions.
  * add some multi-mount macros.
  * remove unused functions cache_dump_multi() and cache_dump_cache().
  * add a len field to struct autofs_point.
  * make tree implementation data independent.
  * add mapent tree implementation.
  * add tree_mapent_add_node().
  * add tree_mapent_delete_offsets().
  * add tree_mapent_traverse_subtree().
  * fix mount_fullpath().
  * add tree_mapent_cleanup_offsets().
  * add set_offset_tree_catatonic().
  * add mount and umount offsets functions.
  * switch to use tree implementation for offsets.
  * remove obsolete functions.
  * remove redundant local var from sun_mount().
  * use mount_fullpath() in one spot in parse_mount().
  * pass root length to mount_fullpath().
  * remove unused function master_submount_list_empty().
  * move amd mounts removal into lib/mounts.c.
  * check for offset with no mount location.
  * remove mounts_mutex.
  * remove unused variable from get_exports().
  * add missing free in handle_mounts().
  * remove redundant if check.
  * fix possible memory leak in master_parse().
  * fix possible memory leak in mnts_add_amdmount().
  * fix double unlock in parse_mount().
  * add length check in umount_subtree_mounts().
  * fix flags check in umount_multi().
  * dont try umount after stat() ENOENT fail.
  * remove redundant assignment in master_add_amd_mount_section_mounts().
  * fix dead code in mnts_add_mount().
  * fix arg not used in error print.
  * fix missing lock release in mount_subtree().
  * fix double free in parse_mapent().
  * refactor lookup_prune_one_cache() a bit.
  * cater for empty mounts list in mnts_get_expire_list().
  * add ext_mount_hash_mutex lock helpers.
  * fix amd section mounts map reload.
  * fix dandling symlink creation if nis support is not available.
  * dont use AUTOFS_DEV_IOCTL_CLOSEMOUNT.
  * fix lookup_prune_one_cache() refactoring change.
  * fix amd hosts mount expire.
  * fix offset entries order.
  * use mapent tree root for tree_mapent_add_node().
  * eliminate redundant cache lookup in tree_mapent_add_node().
  * fix hosts map offset order.
  * fix direct mount deadlock.
  * add missing description of null map option.
  * fix nonstrict offset mount fail handling.
  * fix concat_options() error handling.
  * eliminate some more alloca usage.
  * use default stack size for threads.
  * fix use of possibly NULL var in lookup_program.c:match_key().
  * fix incorrect print format specifiers in get_pkt().
  * add mapent path length check in handle_packet_expire_direct().
  * add copy length check in umount_autofs_indirect().
  * add some buffer length checks to master map parser.
  * add buffer length check to rmdir_path().
  * eliminate buffer usage from handle_mounts_cleanup().
  * add buffer length checks to autofs mount_mount().
  * make NFS version check flags consistent.
  * refactor get_nfs_info().
- drop autofs-5.1.7-Fix-option-for-master_read_wait.patch,
  autofs-5.1.7-use-default-stack-size-for-threads.patch: upstream</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1644494400">- Add autofs-Test-TCP-request-correctly-in-nfs_get_info.patch
  Fix bug when rpcbind not visible
  (bsc#1195587 bsc#1195595)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1644840000">- 0004-autofs-5.1.3-add-port-parameter-to-rpc_ping.patch
  Suppress portmap calls when port explicitly given
  (bsc#1195697)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1647259200">- 0005-autofs-5.1.4-fix-incorrect-locking-in-sss-lookup.patch
  Fix locking problem that causes deadlock when sss used.
  (bsc#1196485)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1647345600">- autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch
  Fix problem with quote handling
  (bsc#1181715)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1652097600">- Use OPTIONS instead of AUTOFS_OPTIONS in /etc/sysconfig/autofs
  (bsc#1199027)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.de&gt;" date="1652356800">- Moved -autofs- file from user specif directory
  /etc/NetworkManager/dispatcher.d to vendor specific directory
  /usr/lib/NetworkManager/dispatcher.d. So, users changes can
  still be done in /etc and will not be overwritten by an update.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1663070400">- Move dbus-1 system.d file to /usr (bsc#1203362)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1681732800">- Add autofs-suse-manpage-remove-initdir.patch
  Removes references of initdir from man pages (bsc#1207881)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1682164800">- autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  Fix off-by-one error in recursive map handling. (bsc#1209653)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1704974400">- Removed following upstreamed patches because of upgrade:
  * autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch
  * 0001-use_hostname_for_mounts-shouldn-t-prevent-selection-.patch
  * 0002-Fix-monotonic_elapsed.patch Deleted
  * 0003-autofs-5.1.4-fix-fd-leak-in-rpc_do_create_client.patch Deleted
  * 0004-autofs-5.1.3-add-port-parameter-to-rpc_ping.patch
  * 0005-autofs-5.1.4-fix-incorrect-locking-in-sss-lookup.patch
  * autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  * autofs-5-1-3-check-map-instances-for-staleness-on-map-update.patch
  * autofs-5-1-3-fix-ordering-of-seteuid-setegid-in-do_spawn.patch
  * autofs-5-1-3-fix-possible-map-instance-memory-leak.patch
  * autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  * autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707566400">- update to 5.1.9 (bsc#1219508)
  * fix kernel mount status notification.
  * fix fedfs build flags.
  * fix set open file limit.
  * improve descriptor open error reporting.
  * fix root offset error handling.
  * fix fix root offset error handling.
  * fix nonstrict fail handling of last offset mount.
  * dont fail on duplicate offset entry tree add.
  * fix loop under run in cache_get_offset_parent().
  * bailout on rpc systemerror.
  * fix nfsv4 only mounts should not use rpcbind.
  * simplify cache_add() a little.
  * fix use after free in tree_mapent_delete_offset_tree().
  * fix memory leak in xdr_exports().
  * avoid calling pthread_getspecific() with NULL key_thread_attempt_id.
  * fix sysconf(3) return handling.
  * remove nonstrict parameter from tree_mapent_umount_offsets().
  * fix handling of incorrect return from umount_ent().
  * dont use initgroups() at spawn.
  * fix bashism in configure.
  * musl: fix missing include in hash.h.
  * musl: define fallback dummy NSS config path
  * musl: avoid internal stat.h definitions.
  * musl: add missing include to hash.h for _WORDSIZE.
  * musl: add missing include to log.h for pid_t.
  * musl: define _SWORD_TYPE.
  * add autofs_strerror_r() helper for musl.
  * update configure.
  * handle innetgr() not present in musl.
  * fix missing unlock in sasl_do_kinit_ext_cc().
  * fix a couple of null cache locking problems.
  * restore gcc flags after autoconf Kerberos 5 check.
  * prepare for OpenLDAP SASL binding.
  * let OpenLDAP handle SASL binding.
  * configure: LDAP function checks ignore implicit declarations.
  * improve debug logging of LDAP binds.
  * improve debug logging of SASL binds.
  * internal SASL logging only in debug log mode.
  * more comprehensive verbose logging for LDAP maps.
  * fix invalid tsv access.
  * support SCRAM for SASL binding.
  * ldap_sasl_interactive_bind() needs credentials for auto-detection.
  * fix autofs regression due to positive_timeout.
  * fix parse module instance mutex naming.
  * serialise lookup module open and reinit.
  * coverity fix for invalid access.
  * fix hosts map deadlock on restart.
  * fix deadlock with hosts map reload.
  * fix memory leak in update_hosts_mounts().
  * fix minus only option handling in concat_options().
  * fix incorrect path for is_mounted() in try_remount().
  * fix additional tsv invalid access.
  * fix use_ignore_mount_option description.
  * include addtional log info for mounts.
  * fail on empty replicated host name.
  * improve handling of ENOENT in sss setautomntent().
  * don't immediately call function when waiting.
  * define LDAP_DEPRECATED during LDAP configure check.
  * fix return status of mount_autofs().
  * don't close lookup at umount.
  * fix deadlock in lookups.
  * dont delay expire.
  * make amd mapent search function name clear.
  * rename statemachine() to signal_handler().
  * make signal handling consistent.
  * eliminate last remaining state_pipe usage.
  * add function master_find_mapent_by_devid().
  * use device id to locate autofs_point when setting log priotity.
  * add command pipe handling functions.
  * switch to application wide command pipe.
  * get rid of unused field submnt_count.
  * fix mount tree startup reconnect.
  * fix unterminated read in handle_cmd_pipe_fifo_message().
  * fix memory leak in sasl_do_kinit()
  * fix fix mount tree startup reconnect.
  * fix amd selector function matching.
  * get rid entry thid field.
  * continue expire immediately after submount check.
  * eliminate realpath from mount of submount.
  * eliminate root param from autofs mount and umount.
  * remove redundant fstat from do_mount_direct().
  * get rid of strlen call in handle_packet_missing_direct().
  * remove redundant stat call in lookup_ghost().
  * set mapent dev and ino before adding to index.
  * change to use printf functions in amd parser.
  * dont call umount_subtree_mounts() on parent at umount.
  * dont take parent source lock at mount shutdown.
  * fix possible use after free in handle_mounts_exit().
  * make submount cleanup the same as top level mounts.
  * add soucre parameter to module functions.
  * add ioctlfd open helper.
  * make open files limit configurable.
  * use correct reference for IN6 macro call.
  * dont probe interface that cant send packet.
  * fix some sss error return cases.
  * fix incorrect matching of cached wildcard key.
  * fix expire retry looping.
  * allow -null map in indirect maps.
  * fix multi-mount check.
  * fix let OpenLDAP handle SASL binding.
  * always recreate credential cache.
  * fix ldap_parse_page_control() check.
  * fix typo in create_cmd_pipe_fifo().
  * add null check in master_kill().
  * be more careful with cmd pipe at exit.
  * rename configure.in to configure.ac.
  * update autoconf macros.
  * update autoconf release.
  * update autofs release.
- drop autofs-5-1-3-fix-unset-tsd-group-name-handling.patch, upstream
  as ab8ca82 ("autofs-5.1.3 - fix unset tsd group name handling")
- drop autofs-Test-TCP-request-correctly-in-nfs_get_info.patch,
  superseded by 80845bb ("autofs-5.1.8 - fix nfsv4 only mounts should
  not use rpcbind")
- rebase autofs-5.1.1-dbus-udisks-monitor.patch atop 37fda2c
  ("autofs-5.1.8 - add soucre parameter to module functions")</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1710936000">- Fix -Werror=incompatible-pointer-types issues (bsc#1221682)
  * Add autofs-5.1.9-fix-ldap_parse_page_control-check.patch
  * Add autofs-5.1.9-cast-sasl_callback_t-function-pointers.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1717416000">- Fix xmlStructuredErrorFunc callback parameter type (bsc#1221682)
  * Refresh autofs-5.1.1-dbus-udisks-monitor.patch
- Use upstream sasl_callback_t patch
  * Remove autofs-5.1.9-cast-sasl_callback_t-function-pointers.patch
  * Add autofs-5.1.9-Fix-incompatible-function-pointer-types.patch</changelog>
</package>
<package pkgid="e08b4eed5c184b4c2f4f1f33105a3931a80405496a3de7d4343a98b9c7365da3b8dbbdb79de18d528ae8342049a9277322f77b1907edc0874247c71e37d1253b" name="autofs-debuginfo" arch="x86_64">
  <version epoch="0" ver="5.1.9" rel="4.1"/>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1619092800">- Upgrade to 5.1.7
  - make bind mounts propagation slave by default.
  - update ldap READMEs and schema definitions.
  - fix program map multi-mount lookup after mount fail.
  - fix browse dir not re-created on symlink expire.
  - fix a regression with map instance lookup.
  - correct fsf address.
  - samples: fix Makefile targets' directory dependencies
  - remove intr hosts map mount option.
  - fix trailing dollar sun entry expansion.
  - initialize struct addrinfo for getaddrinfo() calls.
  - fix quoted string length calc in expandsunent().
  - fix autofs mount options construction.
  - mount_nfs.c fix local rdma share not mounting.
  - configure.in: Remove unneeded second call to PKG_PROG_PKG_CONFIG.
  - configure.in: Do not append parentheses to PKG_PROG_PKG_CONFIG.
  - Use PKG_CHECK_MODULES to detect the libxml2 library.
  - fix ldap sasl reconnect problem.
  - samples/ldap.schema fix.
  - fix configure force shutdown check.
  - fix crash in sun_mount().
  - fix lookup_nss_read_master() nsswicth check return.
  - fix typo in open_sss_lib().
  - fix sss_master_map_wait timing.
  - add sss ECONREFUSED return handling.
  - use mapname in sss context for setautomntent().
  - add support for new sss autofs proto version call.
  - fix retries check in setautomntent_wait().
  - refactor sss setautomntent().
  - improve sss setautomntent() error handling.
  - refactor sss getautomntent().
  - improve sss getautomntent() error handling.
  - sss introduce calculate_retry_count() function.
  - move readall into struct master.
  - sss introduce a flag to indicate map being read.
  - update sss timeout documentation.
  - refactor sss getautomntbyname().
  - improve sss getautomntbyname() error handling.
  - use a valid timeout in lookup_prune_one_cache().
  - dont prune offset map entries.
  - simplify sss source stale check.
  - include linux/nfs.h directly in rpc_subs.h.
  - fix typo in daemon/automount.c.
  - fix direct mount unlink_mount_tree() path.
  - fix unlink mounts umount order.
  - fix incorrect logical compare in unlink_mount_tree().
  - use bit flag for force unlink mounts.
  - improve force unlink option description.
  - remove command fifo on autofs mount fail.
  - add force unlink mounts and exit option.
  - cleanup stale logpri fifo pipes on unlink and exit.
  - fix incorrect systemctl command syntax in autofs(8).
  - update list.h.
  - add hashtable implementation.
  - change mountpoint to mp in struct ext_mount.
  - make external mounts independent of amd_entry.
  - make external mounts use simpler hashtable.
  - add a hash index to mnt_list.
  - use mnt_list for submounts.
  - use mnt_list for amdmounts.
  - make umount_autofs() static.
  - remove force parameter from umount_all().
  - fix remount expire.
  - fix stale offset directories disable mount.
  - use struct mnt_list to track mounted mounts.
  - use struct mnt_list mounted list for expire.
  - remove unused function tree_get_mnt_list().
  - only add expre alarm for active mounts.
  - move submount check into conditional_alarm_add().
  - move lib/master.c to daemon/master.c.
  - use master_list_empty() for list empty check.
  - add helper to construct mount point path.
  - check defaults_read_config() return.
  - move AUTOFS_LIB to end of build rule lines.
  - make autofs.a a shared library.
  - make lookup_file.c nss map read status return handling consistent.
  - fix empty mounts list return from unlink_mount_tree().
- Refreshed autofs-5.1.1-dbus-udisks-monitor.patch
- Replaced automount-fix-master-wait.patch with upstream patch
  autofs-5.1.7-Fix-option-for-master_read_wait.patch</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1619092801">- Update pidfile path to /run from /var/run (bsc#1185155)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1631102400">-  autofs-5.1.7-use-default-stack-size-for-threads.patch: Use default
  stack size for threads (bsc#1189199)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1641297600">- update to 5.1.8:
  * add xdr_exports().
  * remove mount.x and rpcgen dependencies.
  * dont use realloc in host exports list processing.
  * use sprintf() when constructing hosts mapent.
  * fix mnts_remove_amdmount() uses wrong list.
  * Fix option for master read wait.
  * eliminate cache_lookup_offset() usage.
  * fix is mounted check on non existent path.
  * simplify cache_get_parent().
  * set offset parent in update_offset_entry().
  * remove redundant variables from mount_autofs_offset().
  * remove unused parameter form do_mount_autofs_offset().
  * refactor umount_multi_triggers().
  * eliminate clean_stale_multi_triggers().
  * simplify mount_subtree() mount check.
  * fix mnts_get_expire_list() expire list construction.
  * fix inconsistent locking in umount_subtree_mounts().
  * fix return from umount_subtree_mounts() on offset list delete.
  * pass mapent_cache to update_offset_entry().
  * fix inconsistent locking in parse_mount().
  * remove unused mount offset list lock functions.
  * eliminate count_mounts() from expire_proc_indirect().
  * eliminate some strlen calls in offset handling.
  * don't add offset mounts to mounted mounts table.
  * reduce umount EBUSY check delay.
  * cleanup cache_delete() a little.
  * rename path to m_offset in update_offset_entry().
  * don't pass root to do_mount_autofs_offset().
  * rename tree implementation functions.
  * add some multi-mount macros.
  * remove unused functions cache_dump_multi() and cache_dump_cache().
  * add a len field to struct autofs_point.
  * make tree implementation data independent.
  * add mapent tree implementation.
  * add tree_mapent_add_node().
  * add tree_mapent_delete_offsets().
  * add tree_mapent_traverse_subtree().
  * fix mount_fullpath().
  * add tree_mapent_cleanup_offsets().
  * add set_offset_tree_catatonic().
  * add mount and umount offsets functions.
  * switch to use tree implementation for offsets.
  * remove obsolete functions.
  * remove redundant local var from sun_mount().
  * use mount_fullpath() in one spot in parse_mount().
  * pass root length to mount_fullpath().
  * remove unused function master_submount_list_empty().
  * move amd mounts removal into lib/mounts.c.
  * check for offset with no mount location.
  * remove mounts_mutex.
  * remove unused variable from get_exports().
  * add missing free in handle_mounts().
  * remove redundant if check.
  * fix possible memory leak in master_parse().
  * fix possible memory leak in mnts_add_amdmount().
  * fix double unlock in parse_mount().
  * add length check in umount_subtree_mounts().
  * fix flags check in umount_multi().
  * dont try umount after stat() ENOENT fail.
  * remove redundant assignment in master_add_amd_mount_section_mounts().
  * fix dead code in mnts_add_mount().
  * fix arg not used in error print.
  * fix missing lock release in mount_subtree().
  * fix double free in parse_mapent().
  * refactor lookup_prune_one_cache() a bit.
  * cater for empty mounts list in mnts_get_expire_list().
  * add ext_mount_hash_mutex lock helpers.
  * fix amd section mounts map reload.
  * fix dandling symlink creation if nis support is not available.
  * dont use AUTOFS_DEV_IOCTL_CLOSEMOUNT.
  * fix lookup_prune_one_cache() refactoring change.
  * fix amd hosts mount expire.
  * fix offset entries order.
  * use mapent tree root for tree_mapent_add_node().
  * eliminate redundant cache lookup in tree_mapent_add_node().
  * fix hosts map offset order.
  * fix direct mount deadlock.
  * add missing description of null map option.
  * fix nonstrict offset mount fail handling.
  * fix concat_options() error handling.
  * eliminate some more alloca usage.
  * use default stack size for threads.
  * fix use of possibly NULL var in lookup_program.c:match_key().
  * fix incorrect print format specifiers in get_pkt().
  * add mapent path length check in handle_packet_expire_direct().
  * add copy length check in umount_autofs_indirect().
  * add some buffer length checks to master map parser.
  * add buffer length check to rmdir_path().
  * eliminate buffer usage from handle_mounts_cleanup().
  * add buffer length checks to autofs mount_mount().
  * make NFS version check flags consistent.
  * refactor get_nfs_info().
- drop autofs-5.1.7-Fix-option-for-master_read_wait.patch,
  autofs-5.1.7-use-default-stack-size-for-threads.patch: upstream</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1644494400">- Add autofs-Test-TCP-request-correctly-in-nfs_get_info.patch
  Fix bug when rpcbind not visible
  (bsc#1195587 bsc#1195595)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1644840000">- 0004-autofs-5.1.3-add-port-parameter-to-rpc_ping.patch
  Suppress portmap calls when port explicitly given
  (bsc#1195697)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1647259200">- 0005-autofs-5.1.4-fix-incorrect-locking-in-sss-lookup.patch
  Fix locking problem that causes deadlock when sss used.
  (bsc#1196485)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1647345600">- autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch
  Fix problem with quote handling
  (bsc#1181715)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1652097600">- Use OPTIONS instead of AUTOFS_OPTIONS in /etc/sysconfig/autofs
  (bsc#1199027)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.de&gt;" date="1652356800">- Moved -autofs- file from user specif directory
  /etc/NetworkManager/dispatcher.d to vendor specific directory
  /usr/lib/NetworkManager/dispatcher.d. So, users changes can
  still be done in /etc and will not be overwritten by an update.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1663070400">- Move dbus-1 system.d file to /usr (bsc#1203362)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1681732800">- Add autofs-suse-manpage-remove-initdir.patch
  Removes references of initdir from man pages (bsc#1207881)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1682164800">- autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  Fix off-by-one error in recursive map handling. (bsc#1209653)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1704974400">- Removed following upstreamed patches because of upgrade:
  * autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch
  * 0001-use_hostname_for_mounts-shouldn-t-prevent-selection-.patch
  * 0002-Fix-monotonic_elapsed.patch Deleted
  * 0003-autofs-5.1.4-fix-fd-leak-in-rpc_do_create_client.patch Deleted
  * 0004-autofs-5.1.3-add-port-parameter-to-rpc_ping.patch
  * 0005-autofs-5.1.4-fix-incorrect-locking-in-sss-lookup.patch
  * autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  * autofs-5-1-3-check-map-instances-for-staleness-on-map-update.patch
  * autofs-5-1-3-fix-ordering-of-seteuid-setegid-in-do_spawn.patch
  * autofs-5-1-3-fix-possible-map-instance-memory-leak.patch
  * autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  * autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707566400">- update to 5.1.9 (bsc#1219508)
  * fix kernel mount status notification.
  * fix fedfs build flags.
  * fix set open file limit.
  * improve descriptor open error reporting.
  * fix root offset error handling.
  * fix fix root offset error handling.
  * fix nonstrict fail handling of last offset mount.
  * dont fail on duplicate offset entry tree add.
  * fix loop under run in cache_get_offset_parent().
  * bailout on rpc systemerror.
  * fix nfsv4 only mounts should not use rpcbind.
  * simplify cache_add() a little.
  * fix use after free in tree_mapent_delete_offset_tree().
  * fix memory leak in xdr_exports().
  * avoid calling pthread_getspecific() with NULL key_thread_attempt_id.
  * fix sysconf(3) return handling.
  * remove nonstrict parameter from tree_mapent_umount_offsets().
  * fix handling of incorrect return from umount_ent().
  * dont use initgroups() at spawn.
  * fix bashism in configure.
  * musl: fix missing include in hash.h.
  * musl: define fallback dummy NSS config path
  * musl: avoid internal stat.h definitions.
  * musl: add missing include to hash.h for _WORDSIZE.
  * musl: add missing include to log.h for pid_t.
  * musl: define _SWORD_TYPE.
  * add autofs_strerror_r() helper for musl.
  * update configure.
  * handle innetgr() not present in musl.
  * fix missing unlock in sasl_do_kinit_ext_cc().
  * fix a couple of null cache locking problems.
  * restore gcc flags after autoconf Kerberos 5 check.
  * prepare for OpenLDAP SASL binding.
  * let OpenLDAP handle SASL binding.
  * configure: LDAP function checks ignore implicit declarations.
  * improve debug logging of LDAP binds.
  * improve debug logging of SASL binds.
  * internal SASL logging only in debug log mode.
  * more comprehensive verbose logging for LDAP maps.
  * fix invalid tsv access.
  * support SCRAM for SASL binding.
  * ldap_sasl_interactive_bind() needs credentials for auto-detection.
  * fix autofs regression due to positive_timeout.
  * fix parse module instance mutex naming.
  * serialise lookup module open and reinit.
  * coverity fix for invalid access.
  * fix hosts map deadlock on restart.
  * fix deadlock with hosts map reload.
  * fix memory leak in update_hosts_mounts().
  * fix minus only option handling in concat_options().
  * fix incorrect path for is_mounted() in try_remount().
  * fix additional tsv invalid access.
  * fix use_ignore_mount_option description.
  * include addtional log info for mounts.
  * fail on empty replicated host name.
  * improve handling of ENOENT in sss setautomntent().
  * don't immediately call function when waiting.
  * define LDAP_DEPRECATED during LDAP configure check.
  * fix return status of mount_autofs().
  * don't close lookup at umount.
  * fix deadlock in lookups.
  * dont delay expire.
  * make amd mapent search function name clear.
  * rename statemachine() to signal_handler().
  * make signal handling consistent.
  * eliminate last remaining state_pipe usage.
  * add function master_find_mapent_by_devid().
  * use device id to locate autofs_point when setting log priotity.
  * add command pipe handling functions.
  * switch to application wide command pipe.
  * get rid of unused field submnt_count.
  * fix mount tree startup reconnect.
  * fix unterminated read in handle_cmd_pipe_fifo_message().
  * fix memory leak in sasl_do_kinit()
  * fix fix mount tree startup reconnect.
  * fix amd selector function matching.
  * get rid entry thid field.
  * continue expire immediately after submount check.
  * eliminate realpath from mount of submount.
  * eliminate root param from autofs mount and umount.
  * remove redundant fstat from do_mount_direct().
  * get rid of strlen call in handle_packet_missing_direct().
  * remove redundant stat call in lookup_ghost().
  * set mapent dev and ino before adding to index.
  * change to use printf functions in amd parser.
  * dont call umount_subtree_mounts() on parent at umount.
  * dont take parent source lock at mount shutdown.
  * fix possible use after free in handle_mounts_exit().
  * make submount cleanup the same as top level mounts.
  * add soucre parameter to module functions.
  * add ioctlfd open helper.
  * make open files limit configurable.
  * use correct reference for IN6 macro call.
  * dont probe interface that cant send packet.
  * fix some sss error return cases.
  * fix incorrect matching of cached wildcard key.
  * fix expire retry looping.
  * allow -null map in indirect maps.
  * fix multi-mount check.
  * fix let OpenLDAP handle SASL binding.
  * always recreate credential cache.
  * fix ldap_parse_page_control() check.
  * fix typo in create_cmd_pipe_fifo().
  * add null check in master_kill().
  * be more careful with cmd pipe at exit.
  * rename configure.in to configure.ac.
  * update autoconf macros.
  * update autoconf release.
  * update autofs release.
- drop autofs-5-1-3-fix-unset-tsd-group-name-handling.patch, upstream
  as ab8ca82 ("autofs-5.1.3 - fix unset tsd group name handling")
- drop autofs-Test-TCP-request-correctly-in-nfs_get_info.patch,
  superseded by 80845bb ("autofs-5.1.8 - fix nfsv4 only mounts should
  not use rpcbind")
- rebase autofs-5.1.1-dbus-udisks-monitor.patch atop 37fda2c
  ("autofs-5.1.8 - add soucre parameter to module functions")</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1710936000">- Fix -Werror=incompatible-pointer-types issues (bsc#1221682)
  * Add autofs-5.1.9-fix-ldap_parse_page_control-check.patch
  * Add autofs-5.1.9-cast-sasl_callback_t-function-pointers.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1717416000">- Fix xmlStructuredErrorFunc callback parameter type (bsc#1221682)
  * Refresh autofs-5.1.1-dbus-udisks-monitor.patch
- Use upstream sasl_callback_t patch
  * Remove autofs-5.1.9-cast-sasl_callback_t-function-pointers.patch
  * Add autofs-5.1.9-Fix-incompatible-function-pointer-types.patch</changelog>
</package>
<package pkgid="821b3cb8c8c076fb16edd57f865dd72fdf2475cc43aa467d18144327b5367e82987e7c3375bb67ff6184076b44012c4be42bf6cad3c1763046f49afc42a55739" name="autofs-debugsource" arch="x86_64">
  <version epoch="0" ver="5.1.9" rel="4.1"/>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1619092800">- Upgrade to 5.1.7
  - make bind mounts propagation slave by default.
  - update ldap READMEs and schema definitions.
  - fix program map multi-mount lookup after mount fail.
  - fix browse dir not re-created on symlink expire.
  - fix a regression with map instance lookup.
  - correct fsf address.
  - samples: fix Makefile targets' directory dependencies
  - remove intr hosts map mount option.
  - fix trailing dollar sun entry expansion.
  - initialize struct addrinfo for getaddrinfo() calls.
  - fix quoted string length calc in expandsunent().
  - fix autofs mount options construction.
  - mount_nfs.c fix local rdma share not mounting.
  - configure.in: Remove unneeded second call to PKG_PROG_PKG_CONFIG.
  - configure.in: Do not append parentheses to PKG_PROG_PKG_CONFIG.
  - Use PKG_CHECK_MODULES to detect the libxml2 library.
  - fix ldap sasl reconnect problem.
  - samples/ldap.schema fix.
  - fix configure force shutdown check.
  - fix crash in sun_mount().
  - fix lookup_nss_read_master() nsswicth check return.
  - fix typo in open_sss_lib().
  - fix sss_master_map_wait timing.
  - add sss ECONREFUSED return handling.
  - use mapname in sss context for setautomntent().
  - add support for new sss autofs proto version call.
  - fix retries check in setautomntent_wait().
  - refactor sss setautomntent().
  - improve sss setautomntent() error handling.
  - refactor sss getautomntent().
  - improve sss getautomntent() error handling.
  - sss introduce calculate_retry_count() function.
  - move readall into struct master.
  - sss introduce a flag to indicate map being read.
  - update sss timeout documentation.
  - refactor sss getautomntbyname().
  - improve sss getautomntbyname() error handling.
  - use a valid timeout in lookup_prune_one_cache().
  - dont prune offset map entries.
  - simplify sss source stale check.
  - include linux/nfs.h directly in rpc_subs.h.
  - fix typo in daemon/automount.c.
  - fix direct mount unlink_mount_tree() path.
  - fix unlink mounts umount order.
  - fix incorrect logical compare in unlink_mount_tree().
  - use bit flag for force unlink mounts.
  - improve force unlink option description.
  - remove command fifo on autofs mount fail.
  - add force unlink mounts and exit option.
  - cleanup stale logpri fifo pipes on unlink and exit.
  - fix incorrect systemctl command syntax in autofs(8).
  - update list.h.
  - add hashtable implementation.
  - change mountpoint to mp in struct ext_mount.
  - make external mounts independent of amd_entry.
  - make external mounts use simpler hashtable.
  - add a hash index to mnt_list.
  - use mnt_list for submounts.
  - use mnt_list for amdmounts.
  - make umount_autofs() static.
  - remove force parameter from umount_all().
  - fix remount expire.
  - fix stale offset directories disable mount.
  - use struct mnt_list to track mounted mounts.
  - use struct mnt_list mounted list for expire.
  - remove unused function tree_get_mnt_list().
  - only add expre alarm for active mounts.
  - move submount check into conditional_alarm_add().
  - move lib/master.c to daemon/master.c.
  - use master_list_empty() for list empty check.
  - add helper to construct mount point path.
  - check defaults_read_config() return.
  - move AUTOFS_LIB to end of build rule lines.
  - make autofs.a a shared library.
  - make lookup_file.c nss map read status return handling consistent.
  - fix empty mounts list return from unlink_mount_tree().
- Refreshed autofs-5.1.1-dbus-udisks-monitor.patch
- Replaced automount-fix-master-wait.patch with upstream patch
  autofs-5.1.7-Fix-option-for-master_read_wait.patch</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1619092801">- Update pidfile path to /run from /var/run (bsc#1185155)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1631102400">-  autofs-5.1.7-use-default-stack-size-for-threads.patch: Use default
  stack size for threads (bsc#1189199)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1641297600">- update to 5.1.8:
  * add xdr_exports().
  * remove mount.x and rpcgen dependencies.
  * dont use realloc in host exports list processing.
  * use sprintf() when constructing hosts mapent.
  * fix mnts_remove_amdmount() uses wrong list.
  * Fix option for master read wait.
  * eliminate cache_lookup_offset() usage.
  * fix is mounted check on non existent path.
  * simplify cache_get_parent().
  * set offset parent in update_offset_entry().
  * remove redundant variables from mount_autofs_offset().
  * remove unused parameter form do_mount_autofs_offset().
  * refactor umount_multi_triggers().
  * eliminate clean_stale_multi_triggers().
  * simplify mount_subtree() mount check.
  * fix mnts_get_expire_list() expire list construction.
  * fix inconsistent locking in umount_subtree_mounts().
  * fix return from umount_subtree_mounts() on offset list delete.
  * pass mapent_cache to update_offset_entry().
  * fix inconsistent locking in parse_mount().
  * remove unused mount offset list lock functions.
  * eliminate count_mounts() from expire_proc_indirect().
  * eliminate some strlen calls in offset handling.
  * don't add offset mounts to mounted mounts table.
  * reduce umount EBUSY check delay.
  * cleanup cache_delete() a little.
  * rename path to m_offset in update_offset_entry().
  * don't pass root to do_mount_autofs_offset().
  * rename tree implementation functions.
  * add some multi-mount macros.
  * remove unused functions cache_dump_multi() and cache_dump_cache().
  * add a len field to struct autofs_point.
  * make tree implementation data independent.
  * add mapent tree implementation.
  * add tree_mapent_add_node().
  * add tree_mapent_delete_offsets().
  * add tree_mapent_traverse_subtree().
  * fix mount_fullpath().
  * add tree_mapent_cleanup_offsets().
  * add set_offset_tree_catatonic().
  * add mount and umount offsets functions.
  * switch to use tree implementation for offsets.
  * remove obsolete functions.
  * remove redundant local var from sun_mount().
  * use mount_fullpath() in one spot in parse_mount().
  * pass root length to mount_fullpath().
  * remove unused function master_submount_list_empty().
  * move amd mounts removal into lib/mounts.c.
  * check for offset with no mount location.
  * remove mounts_mutex.
  * remove unused variable from get_exports().
  * add missing free in handle_mounts().
  * remove redundant if check.
  * fix possible memory leak in master_parse().
  * fix possible memory leak in mnts_add_amdmount().
  * fix double unlock in parse_mount().
  * add length check in umount_subtree_mounts().
  * fix flags check in umount_multi().
  * dont try umount after stat() ENOENT fail.
  * remove redundant assignment in master_add_amd_mount_section_mounts().
  * fix dead code in mnts_add_mount().
  * fix arg not used in error print.
  * fix missing lock release in mount_subtree().
  * fix double free in parse_mapent().
  * refactor lookup_prune_one_cache() a bit.
  * cater for empty mounts list in mnts_get_expire_list().
  * add ext_mount_hash_mutex lock helpers.
  * fix amd section mounts map reload.
  * fix dandling symlink creation if nis support is not available.
  * dont use AUTOFS_DEV_IOCTL_CLOSEMOUNT.
  * fix lookup_prune_one_cache() refactoring change.
  * fix amd hosts mount expire.
  * fix offset entries order.
  * use mapent tree root for tree_mapent_add_node().
  * eliminate redundant cache lookup in tree_mapent_add_node().
  * fix hosts map offset order.
  * fix direct mount deadlock.
  * add missing description of null map option.
  * fix nonstrict offset mount fail handling.
  * fix concat_options() error handling.
  * eliminate some more alloca usage.
  * use default stack size for threads.
  * fix use of possibly NULL var in lookup_program.c:match_key().
  * fix incorrect print format specifiers in get_pkt().
  * add mapent path length check in handle_packet_expire_direct().
  * add copy length check in umount_autofs_indirect().
  * add some buffer length checks to master map parser.
  * add buffer length check to rmdir_path().
  * eliminate buffer usage from handle_mounts_cleanup().
  * add buffer length checks to autofs mount_mount().
  * make NFS version check flags consistent.
  * refactor get_nfs_info().
- drop autofs-5.1.7-Fix-option-for-master_read_wait.patch,
  autofs-5.1.7-use-default-stack-size-for-threads.patch: upstream</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1644494400">- Add autofs-Test-TCP-request-correctly-in-nfs_get_info.patch
  Fix bug when rpcbind not visible
  (bsc#1195587 bsc#1195595)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1644840000">- 0004-autofs-5.1.3-add-port-parameter-to-rpc_ping.patch
  Suppress portmap calls when port explicitly given
  (bsc#1195697)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1647259200">- 0005-autofs-5.1.4-fix-incorrect-locking-in-sss-lookup.patch
  Fix locking problem that causes deadlock when sss used.
  (bsc#1196485)</changelog>
  <changelog author="Neil Brown &lt;nfbrown@suse.com&gt;" date="1647345600">- autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch
  Fix problem with quote handling
  (bsc#1181715)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1652097600">- Use OPTIONS instead of AUTOFS_OPTIONS in /etc/sysconfig/autofs
  (bsc#1199027)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.de&gt;" date="1652356800">- Moved -autofs- file from user specif directory
  /etc/NetworkManager/dispatcher.d to vendor specific directory
  /usr/lib/NetworkManager/dispatcher.d. So, users changes can
  still be done in /etc and will not be overwritten by an update.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1663070400">- Move dbus-1 system.d file to /usr (bsc#1203362)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1681732800">- Add autofs-suse-manpage-remove-initdir.patch
  Removes references of initdir from man pages (bsc#1207881)</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1682164800">- autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  Fix off-by-one error in recursive map handling. (bsc#1209653)</changelog>
  <changelog author="Goldwyn Rodrigues &lt;rgoldwyn@suse.com&gt;" date="1704974400">- Removed following upstreamed patches because of upgrade:
  * autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch
  * 0001-use_hostname_for_mounts-shouldn-t-prevent-selection-.patch
  * 0002-Fix-monotonic_elapsed.patch Deleted
  * 0003-autofs-5.1.4-fix-fd-leak-in-rpc_do_create_client.patch Deleted
  * 0004-autofs-5.1.3-add-port-parameter-to-rpc_ping.patch
  * 0005-autofs-5.1.4-fix-incorrect-locking-in-sss-lookup.patch
  * autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  * autofs-5-1-3-check-map-instances-for-staleness-on-map-update.patch
  * autofs-5-1-3-fix-ordering-of-seteuid-setegid-in-do_spawn.patch
  * autofs-5-1-3-fix-possible-map-instance-memory-leak.patch
  * autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_aut.patch
  * autofs-5.1.6-fix-quoted-string-length-calc-in-expand.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1707566400">- update to 5.1.9 (bsc#1219508)
  * fix kernel mount status notification.
  * fix fedfs build flags.
  * fix set open file limit.
  * improve descriptor open error reporting.
  * fix root offset error handling.
  * fix fix root offset error handling.
  * fix nonstrict fail handling of last offset mount.
  * dont fail on duplicate offset entry tree add.
  * fix loop under run in cache_get_offset_parent().
  * bailout on rpc systemerror.
  * fix nfsv4 only mounts should not use rpcbind.
  * simplify cache_add() a little.
  * fix use after free in tree_mapent_delete_offset_tree().
  * fix memory leak in xdr_exports().
  * avoid calling pthread_getspecific() with NULL key_thread_attempt_id.
  * fix sysconf(3) return handling.
  * remove nonstrict parameter from tree_mapent_umount_offsets().
  * fix handling of incorrect return from umount_ent().
  * dont use initgroups() at spawn.
  * fix bashism in configure.
  * musl: fix missing include in hash.h.
  * musl: define fallback dummy NSS config path
  * musl: avoid internal stat.h definitions.
  * musl: add missing include to hash.h for _WORDSIZE.
  * musl: add missing include to log.h for pid_t.
  * musl: define _SWORD_TYPE.
  * add autofs_strerror_r() helper for musl.
  * update configure.
  * handle innetgr() not present in musl.
  * fix missing unlock in sasl_do_kinit_ext_cc().
  * fix a couple of null cache locking problems.
  * restore gcc flags after autoconf Kerberos 5 check.
  * prepare for OpenLDAP SASL binding.
  * let OpenLDAP handle SASL binding.
  * configure: LDAP function checks ignore implicit declarations.
  * improve debug logging of LDAP binds.
  * improve debug logging of SASL binds.
  * internal SASL logging only in debug log mode.
  * more comprehensive verbose logging for LDAP maps.
  * fix invalid tsv access.
  * support SCRAM for SASL binding.
  * ldap_sasl_interactive_bind() needs credentials for auto-detection.
  * fix autofs regression due to positive_timeout.
  * fix parse module instance mutex naming.
  * serialise lookup module open and reinit.
  * coverity fix for invalid access.
  * fix hosts map deadlock on restart.
  * fix deadlock with hosts map reload.
  * fix memory leak in update_hosts_mounts().
  * fix minus only option handling in concat_options().
  * fix incorrect path for is_mounted() in try_remount().
  * fix additional tsv invalid access.
  * fix use_ignore_mount_option description.
  * include addtional log info for mounts.
  * fail on empty replicated host name.
  * improve handling of ENOENT in sss setautomntent().
  * don't immediately call function when waiting.
  * define LDAP_DEPRECATED during LDAP configure check.
  * fix return status of mount_autofs().
  * don't close lookup at umount.
  * fix deadlock in lookups.
  * dont delay expire.
  * make amd mapent search function name clear.
  * rename statemachine() to signal_handler().
  * make signal handling consistent.
  * eliminate last remaining state_pipe usage.
  * add function master_find_mapent_by_devid().
  * use device id to locate autofs_point when setting log priotity.
  * add command pipe handling functions.
  * switch to application wide command pipe.
  * get rid of unused field submnt_count.
  * fix mount tree startup reconnect.
  * fix unterminated read in handle_cmd_pipe_fifo_message().
  * fix memory leak in sasl_do_kinit()
  * fix fix mount tree startup reconnect.
  * fix amd selector function matching.
  * get rid entry thid field.
  * continue expire immediately after submount check.
  * eliminate realpath from mount of submount.
  * eliminate root param from autofs mount and umount.
  * remove redundant fstat from do_mount_direct().
  * get rid of strlen call in handle_packet_missing_direct().
  * remove redundant stat call in lookup_ghost().
  * set mapent dev and ino before adding to index.
  * change to use printf functions in amd parser.
  * dont call umount_subtree_mounts() on parent at umount.
  * dont take parent source lock at mount shutdown.
  * fix possible use after free in handle_mounts_exit().
  * make submount cleanup the same as top level mounts.
  * add soucre parameter to module functions.
  * add ioctlfd open helper.
  * make open files limit configurable.
  * use correct reference for IN6 macro call.
  * dont probe interface that cant send packet.
  * fix some sss error return cases.
  * fix incorrect matching of cached wildcard key.
  * fix expire retry looping.
  * allow -null map in indirect maps.
  * fix multi-mount check.
  * fix let OpenLDAP handle SASL binding.
  * always recreate credential cache.
  * fix ldap_parse_page_control() check.
  * fix typo in create_cmd_pipe_fifo().
  * add null check in master_kill().
  * be more careful with cmd pipe at exit.
  * rename configure.in to configure.ac.
  * update autoconf macros.
  * update autoconf release.
  * update autofs release.
- drop autofs-5-1-3-fix-unset-tsd-group-name-handling.patch, upstream
  as ab8ca82 ("autofs-5.1.3 - fix unset tsd group name handling")
- drop autofs-Test-TCP-request-correctly-in-nfs_get_info.patch,
  superseded by 80845bb ("autofs-5.1.8 - fix nfsv4 only mounts should
  not use rpcbind")
- rebase autofs-5.1.1-dbus-udisks-monitor.patch atop 37fda2c
  ("autofs-5.1.8 - add soucre parameter to module functions")</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1710936000">- Fix -Werror=incompatible-pointer-types issues (bsc#1221682)
  * Add autofs-5.1.9-fix-ldap_parse_page_control-check.patch
  * Add autofs-5.1.9-cast-sasl_callback_t-function-pointers.patch</changelog>
  <changelog author="David Disseldorp &lt;ddiss@suse.com&gt;" date="1717416000">- Fix xmlStructuredErrorFunc callback parameter type (bsc#1221682)
  * Refresh autofs-5.1.1-dbus-udisks-monitor.patch
- Use upstream sasl_callback_t patch
  * Remove autofs-5.1.9-cast-sasl_callback_t-function-pointers.patch
  * Add autofs-5.1.9-Fix-incompatible-function-pointer-types.patch</changelog>
</package>
<package pkgid="ce7ecaf3139c486a043048b5ca9aad8abed008608537357339485595d19eaf3309809411c4073a8530c62fdcbc33051a467ece86f18b939215ddfd6dc365610c" name="avahi" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="bbacb77645ab6e1e9855bc65ddd8410dc8cde033f231f75c1e23402910e2e041410b27462933006328bdbb013f7f075419345249f8926653885a02bcf6b35632" name="avahi" arch="src">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="66f884d2563bc1a428d47293779a832dda36a5a08dbd7d3b999fb5b43b2fe4e7ef5499247653aabcb88e40242c6d1a95b0a0584dc733b7156252c9587ea6a8a6" name="avahi" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="4623da1c97e9141db5d827597621542bb3585bcfb92a3fd844c66d459e60c1e782379a71a2af754372b180fe82c1a9bfaa13cf1e5f5f76544a7671d2da6318b8" name="avahi-32bit-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="33ff51bd53529c5d5987f7840a145b501a23cd86586490b774d1dc88b9a2e96f0d55ea0f0a6a9257c3bb964720156a826f5ef9e707a238eb1fd03cf563ec31f6" name="avahi-autoipd" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="e11f821c8ce502de79d65319e28f4f8edb161820e5b14223ae4f9b1d2083b452294a88cc9011c196a1f2b82803241ccf6a8ac2e336365b79cbaef6d5c351f141" name="avahi-autoipd" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="da62b9b809dd6f3d3b5988889b43ec0189ca9ee61f16faa1f932662ce8a0167deab0ea6809f1bf8407bc2a9c077349ceb14a8e6d7744f7bac88521c6966bf99f" name="avahi-autoipd-debuginfo" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="39b6e1e115446085d6cc515e1806e9ea8e87231bd7f6ad9bcaca4568b0b2018ac0637e86586d221c226646fc829361f59428dd0056f8a67ec6680b54b0cf2e94" name="avahi-autoipd-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="5d7b5b0014aed3956d1dad07b038db9539afff843063840d1b0ada3488c5df3460f8b876909187efdd87bdc34bcfba89e54c6e0fe2c6ee052842e0edf32db42c" name="avahi-compat-howl-devel" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="7353c60b8b60987c65bbd9104f85a8d83728a8a8d724f52b69672333a73002917843408f6182536f3220dbdbd05f9ef04b268627a6d1920dc5980c2a58b5a455" name="avahi-compat-howl-devel" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="f3abaca699b80273584e12078b75293a1007153bc1dd08686bf32e57013fd18f681dd31ff481afd44c5b32b7f0ebf485892f7bb03e3a8bba1a878d0f0e56df10" name="avahi-compat-mDNSResponder-devel" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="48c211e03117f9263e0c7dc68c4271d785693962ad8c43165a3ba32878ff6da7843e8d89f4d7546a41ea9d9764bba7dc69817824b20e2ac2b6ec6248f776ff48" name="avahi-compat-mDNSResponder-devel" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="ac4840434551647a9e672a4a43abfe13a9716f297492f81e9bc33c0f067d260af7af1be363d793ae9a53b681b7929928aa98ebc12240502c11d171d084da9c5c" name="avahi-debuginfo" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="712465b6c52c2a7ec9f4c43a6eccdd7dc306eda1598e4faeaf1ede2bac808bda972793a870302e8743676275521edcee69dea2b4fa79ec2b1e112592a4568a7d" name="avahi-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="6d07d6c88d77ad3cfed5da984c87a43016497ecb51ed711245bd93e5625c5cf5ecd2166fe089efa60654eefb9f44f2d3843a086b4d2ee276240c093de16139b4" name="avahi-debugsource" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="3273eef33ade4b8996df22c578eddd8bba070386325628423abdf572a23965a8c01b1944903297e53362e46d0bf11a1db1506eade1f60d34311a9f94d4f46acc" name="avahi-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="62dbe06bcda58b14bd865c8319749b66148a9b22283e1e662785fa524d5e89407cf883e83596a22255c46a7aec838b642c021a26c4a70b582a662223598db7f5" name="avahi-glib2" arch="src">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="19b9e5314ae6c93cab39907647ffcc5117920744b38b77d3b228b7451278a48270d42c97130a97a49def62bf4c59cfcbbf1960c768762f4479f75ae8749affe2" name="avahi-glib2-debugsource" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="836415746f88210a9bb33012556cfef64e4611bf140f0e006189f1fb837839ab6f55be2b168bc960205858ff11c60ae8d988e1db81960fa2b920c000e07249df" name="avahi-glib2-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="598d293c92e93cf0649b90b7f7562a5912a35251e547f23cedfb2b1e8e806bb8b25cc2cda6777a6eb7d39b55321b0708d44258f6a37d8c3582ec5397036ab139" name="avahi-lang" arch="noarch">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="bfc4a1eb8b4624942b592371f0ec935ff52419d612509c23564b2cd40cfd0e015cf7d9827da3aba5618a757c72b0c43be4dd6a851ae26570dfd1c4878a78dc89" name="avahi-qt5" arch="src">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="a317149098139cf5a716ee68002bac50a1f80f1adf8ff9981a88f6b9b2108e54e4c0666ad263a29376ebc093cf845fa17b836ff50db60646ac36ad2c826b49d1" name="avahi-qt5-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="20dc082f323255d0003b55277eed462dff974f16e8c4d55d83fc74f28696cf722c8123a9d63ad2404eb51b9cbac5667562cdaf05fc7953c2d70257c7d153803a" name="avahi-utils" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="04c202fa946fc32540394ef0abd9f5cf60af2ddbd54d7aba4e59186fe7c379fa170175001f26ae0d3f307c79eef7692280725e67aa6c5572cb8fbb3301f972dd" name="avahi-utils" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="5b72e027c857215343100b8051c4e6f4bc336375b12199f2b52ec47fff9275cc1784ca26eb3f4a1ff54757f21a070abeccf27fbf552f92e816fa81635bdd5ebc" name="avahi-utils-debuginfo" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="376e8d64c5b520a0e9603372023e953e1652bfc7d517aaf3c95e6bfecf13f5e23ada9b2347638461db687626279a0848bc1122465adc90f22e9661004c779b87" name="avahi-utils-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="fe605f697de68d0e3d4e3ded89a0fe3b4b77eb1e9ba4b46a6426e0bf08c3edbb7acdfc940f2d5bde6892ee272d0f918734c53d24ce485cc6f2e48f80a845e247" name="avahi-utils-gtk" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="ea859cc92d529a8636f76890102fb78911ccc03194ba6530a68b82b7a91fcb69f31af787803e1108704f57654d6c98afa0d21a4ab67dfcc4fe69f5f99a2a7ab9" name="avahi-utils-gtk" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="481f8afd8e00ab64131fae56c7ae5d4a8ce617d233760ef8461cb983665ec82923aeef815e793d1134fc2ab12673fea93538e0adcfe1d7a15bde7dbd3dbe43f9" name="avahi-utils-gtk-debuginfo" arch="i586">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="8e77af0ced814ed9437af5efe4737e6af10fa41b99c41fd0abe96350e48620ba88e9f713cbb89f4e0b79407724f32fcc8e823bce20b2eb9ff1df16741eb9d51c" name="avahi-utils-gtk-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8" rel="35.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1650024000">- Stop requiring "avahi" from "libavahi-devel". The devel package
  ought to facilitate building programs with avahi, not run the
  whole deamon.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201345)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1662292800">- avahi-daemon-check-dns.sh: convert obsolete egrep call to grep -E
  (boo#1203092)</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1670241600">- Added hardening to systemd service(s) (bsc#1181400). Added patch(es):
  * harden_avahi-daemon.service.patch
  * harden_avahi-dnsconfd.service.patch</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1670500800">- Remove avahi-daemon-check-dns.sh, avahi-daemon-check-dns-suse.patch
  and avahi-daemon.if-up
  Doesn't work since about 9 years and will not be executed on a
  fresh default installation anymore</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1671451200">- Drop %{_sysconfdir}/sysconfig/network/if-{up,down}.d scripts:
  they are not used, or supported, in a while already.</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1681214400">- Add avahi-CVE-2023-1981.patch: emit error if requested service
  is not found (boo#1210328 CVE-2023-1981).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1681214401">- Use ldconfig_scriptlets macro.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1695211200">- Don't require sudo. There is no indication it's actually used for
  anything.</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1698321600">- Add avahi-CVE-2023-38473.patch: derive alternative host name from
  its unescaped version (bsc#1216419 CVE-2023-38473).</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1698840000">- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one
  byte long (bsc#1215947, CVE-2023-38470).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1699876800">- avahi-autoipd: only migrate files owned by avahi user if said
  user exists: if the user does not exist (fresh installs), then
  there is no chance any file is owned by the user (boo#1216730).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700654400">- avahi-autoipd: guard %post chown with -h, to not follow symlinks
  (boo#1217398).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1700740800">- avahi-autoipd: drop the post script part migrating the user
  owning files in /var/lib/avahi-autoipd: the code was aiding
  migrations from SLE&lt;=11/openSUSE&lt;=12.3, which are no longer in
  scope for upgrades nowadays.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1701086400">- Reformat avahi-gacdir.patch to apply as patch -p1.
- Use %autopatch instead of deprecated %patchN format.</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1701345600">- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in
  avahi_rdata_parse (bsc#1216853, CVE-2023-38472).</changelog>
  <changelog author="pgajdos@suse.com" date="1710244800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
  <changelog author="Xiaoguang Wang &lt;xiaoguang.wang@suse.com&gt;" date="1711454400">- Add avahi-CVE-2023-38471.patch: Extract host name using
  avahi_unescape_label (bsc#1216594, CVE-2023-38471).
- Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource
  records (bsc#1216598, CVE-2023-38469).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1712232000">- Tag hardening patches as PATCH-FEATURE-OPENSUSE</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1718884800">- Add avahi-filter-bogus-services.patch: no longer supply bogus
  services to callbacks (bsc#1226586).</changelog>
</package>
<package pkgid="e7435ab906344f10e27285a7b85ea6a820f9c634123cddd55183e6cb75e55cea8a840820a283b947c5166685ef6b3382f3c6591a2b222b2dca57057e3d4d8bfd" name="avfs" arch="src">
  <version epoch="0" ver="1.1.5" rel="1.6.2.2.sr20240429"/>
  <changelog author="werner@suse.de" date="1336478400">- First initial package for mounting tar and other bells and whistles</changelog>
  <changelog author="mpluskal@suse.com" date="1431086400">- Update to 1.0.2
- Add gpg signature
- Clenup spec file with spec-cleaner
- Drop avfs-1.0.0.dif as it fails to apply to current release</changelog>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="b054714076b0faeeff67796a0289e869166e03330e8a44930a7b50044b8c9aea3e548687d4201d2e8379531b2fae27331649fd0b9d867e0d6c1dbdfd43f2bf7a" name="avfs" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="1.6.2.2.sr20240429"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="eb0a511313599e49863d52b407e2ca19e5d4228d373fd88cf3370b0e3014cd0ebd4145823848b172293b7787e7afff52fa45d07a3d2c8c548a6d3486e6a0e764" name="avfs" arch="src">
  <version epoch="0" ver="1.1.5" rel="1.7"/>
  <changelog author="werner@suse.de" date="1336478400">- First initial package for mounting tar and other bells and whistles</changelog>
  <changelog author="mpluskal@suse.com" date="1431086400">- Update to 1.0.2
- Add gpg signature
- Clenup spec file with spec-cleaner
- Drop avfs-1.0.0.dif as it fails to apply to current release</changelog>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="540a871f3eb45135bb5ba0f5c7dc16256534c681c17e86c280ddabcf3bc75b95979f39b39b1c9d09964ae7cba88045f1af9efb03c567ff7dc237d96804995a56" name="avfs" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="1.7"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="471d5ab24e6231fef2b7c006f89b09874dc39aec55eeb295d3ced7280fb14e7a14ea4d6b1163944a74e7c6cca0ea1a8efa9e204dc41794bf34fce37a04e942ec" name="avfs" arch="src">
  <version epoch="0" ver="1.1.5" rel="3.2.sr20240605"/>
  <changelog author="werner@suse.de" date="1336478400">- First initial package for mounting tar and other bells and whistles</changelog>
  <changelog author="mpluskal@suse.com" date="1431086400">- Update to 1.0.2
- Add gpg signature
- Clenup spec file with spec-cleaner
- Drop avfs-1.0.0.dif as it fails to apply to current release</changelog>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="96ca5a69678bda69eaea9eadfb7ea38d38be8e0620653d37a604fccff2bdf552c34e57f7da4e542fecb7654d6de8a38efb233030f662c5ae6f8ca730eae13db6" name="avfs" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="3.2.sr20240605"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="006447c6b2e46b2f057d0c2191b398d3e0b8f1a5c781f5c226c987dc80b681624131ef899707f1bd3ee22e858d40096c27c87910762dc89e15b92860c0be9cca" name="avfs-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="1.6.2.2.sr20240429"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="906b96477330632849810400839857cc3d4802104571bdb0e82d8ba49254a3f687464c756ec8cdf974342c5ce3a49ab327a57d13f7ae1626c65662056153b063" name="avfs-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="1.7"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="05f6e719d2c45e58c0c717a275c9ebba258dfb2c9d68630cd976a72b00f4e93d99026bd597239ca772da79b868a773f4ed4693e14710da423534d4535aa594c5" name="avfs-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="3.2.sr20240605"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="f65c8d67346719dcbe170cace7250ac1912c086d4b7cdaa86456785e17e40f02814aec26f687b92f91326fad280337d7b93c23583cab27a4c93b78d5e6df733f" name="avfs-debugsource" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="1.6.2.2.sr20240429"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="abd8cefdc38d3855ecb72940009f5229e29ecf65a25d97b193146984bc77f2f20efa9119adf0820dd8ea4995321ad22e5c75bde786a8e3d39989216bc806e861" name="avfs-debugsource" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="1.7"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="b3fd89587b2e06fd82ac69f817457528a3b8c63c8ab1d404d5767b2b3a891f107d68b185f59e8fb51c86dd2c2aa0ed77e5ba00cb5a87cb16302d2c87b29a5d42" name="avfs-debugsource" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="3.2.sr20240605"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="dd06fb748b56cc29845419121328d9d531659ec3313da538000d9a854ee6da48bbda2ac39dcb69223b3f450b28b365981118ca5f785b8630290a0dda5a789983" name="avfs-devel" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="1.6.2.2.sr20240429"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="5a2103e7ca16eba92f0ce8989f649f9449770cd4f127ba6fe41a1de48a512123ad406307c5e1360761f9e086ac73c132f333ba0f2c4a3b65efff4756b0617632" name="avfs-devel" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="1.7"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="24cc3b335fe419fe070e1cd30dbcdfb792c75e8686a0343b11a6f60506c9b2602e133a8814649c0b8619e4ce615deef1c28956182c701dceaa169b36474d31e6" name="avfs-devel" arch="x86_64">
  <version epoch="0" ver="1.1.5" rel="3.2.sr20240605"/>
  <changelog author="mpluskal@suse.com" date="1431432000">- Update licensing information</changelog>
  <changelog author="jengelh@inai.de" date="1431864000">- Improve summary and description. -devel subpackage should require
  same-version shared library. Drop --with-pic, because it is
  implicit for shared libraries (and we do not build static).
  Use short Sourceforge download URLs.</changelog>
  <changelog author="p.drouand@gmail.com" date="1447243200">- Update to version 1.0.3
  * fixed zlib assert triggered for some Huffman encodings
  * added rar v5 in extfs urar (which is also renamed to uextrar to avoid
    collision with internal rar module)
  * some configure script improvements have been done for fuse and liblzma
    dependencies</changelog>
  <changelog author="mpluskal@suse.com" date="1482408000">- Update to version 1.0.4:
  * fixed zip module to correctly read archives with a lot of
    files or very large files
- Use pkgconfig() style requires</changelog>
  <changelog author="aloisio@gmx.com" date="1519041600">- Update to version 1.0.5
  * limit the file cache to 50 elements and age of 10 minutes to
    avoid endless grow of internal cache
  * allow reproducable builds
  * fixed crash in parsing ls output for modules which need to
    handle ls-like output
  * fix urar module when external rar/unrar tool crashed
- Spec cleanup</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1585828800">- Update to version 1.1.0:
  * improved handling of single '#' to stop resolving archive
    handlers when it makes no sense to add another chain
  * support multiple gzip member in a single file (concatenated
    gzip files)
  * updated webdav module with work with latest libneon (which is
    no longer bundled)
  * CODA and PRELOAD support has been removed
- Changes for version 1.0.6:
  * added support for libzstd (zst files)
  * fixed arbitrary command execution in rsh/ssh module
  * zip workaround for zip archives with unix attributes but
    regular files are not marked correctly</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 1.1.3:
  - fix compilation problem on MacOS
  - fix encoding problem in ulha extfs module
  - add support for rar 5.0 files
  - fix memleak in zstd support
  - small fix for extfs udar module
  - updated internal bzlib to 1.0.8 to fix security bug</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1622030400">- Update to version 1.1.4:
  * add support for lzip (ulzip module for .lz files)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678190400">- update to 1.1.5:
  * added support for ls output with SElinux attributes.
  * improved handling of xz memory limit to allow detecting
    when the limit is reached and to increase it on demand.
  * added basic decoding of tar's extended headers to support
    longer file names.</changelog>
</package>
<package pkgid="67b17beea0a306d036e5abc6acc6b2653fe49359272242165f6aa480e51cedeac60ba6ee7943ee2ed5dd7e04b364c92731b43f85cca306017154520a10de6d0d" name="awkward-devel" arch="x86_64">
  <version epoch="0" ver="34" rel="1.1"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1674820800">- Initial specfile for v7
- Required by awkward 2</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1676030400">- update to 8:
  * Add GenericDocument ctor overload to specify JSON type
  * Add FAQ
  * Add forward declaration header `fwd.h`
  * Add @PlatformIO Library Registry manifest file
  * Implement assignment operator for BigInteger
  * Add comments support
  * Adding coapp definition
  * documenttest.cpp: EXPECT_THROW when checking empty allocator
  * GenericDocument: add implicit conversion to ParseResult
  * Use &lt;wchar.h&gt; with C++ linkage on Windows ARM
  * Detect little endian for Microsoft ARM targets
  * Check Nan/Inf when writing a double
  * Add JSON Schema Implementation
  * Add iostream wrapper
  * Add Jsonx example for converting JSON into JSONx (a XML
    format)
  * Add optional unresolvedTokenIndex parameter to Pointer::Get()
  * Add encoding validation option for Writer/PrettyWriter
  * Add Writer::SetMaxDecimalPlaces()
  * Support {0, } and {0, m} in Regex
  * Add Value::Get/SetFloat(), Value::IsLossLessFloat/Double()
  * Add stream position check to reader unit tests
  * Add Templated accessors and range-based for
  * Add (Pretty)Writer::RawValue()
  * Add Document::Parse(std::string), Document::Parse(const
    char*, size_t length) and related APIs.
  * Add move constructor for GenericSchemaDocument
  * Add VS2010 and VS2015 to AppVeyor CI
  * Add parse-by-parts example
  * Support parse number as string</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1683115200">- update to 15:
  * Add parse-by-parts example (#556, #562)
  * Support parse number as string (#564, #589)
  * Add kFormatSingleLineArray for PrettyWriter (#577)
  * Added optional support for trailing commas (#584)
  * Added filterkey and filterkeydom examples (#615)
  * Added npm docs (#639)
  * Allow options for writing and parsing NaN/Infinity (#641)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1686484800">- update to 16:
  * Add GenericDocument ctor overload to specify JSON type (#369)
  * Add FAQ (#372, #373, #374, #376)
  * Add forward declaration header `fwd.h`
  * Add @PlatformIO Library Registry manifest file (#400)
  * Implement assignment operator for BigInteger (#404)
  * Add comments support (#443)
  * Adding coapp definition (#460)
  * documenttest.cpp: EXPECT_THROW when checking empty allocator
    (470)
  * GenericDocument: add implicit conversion to ParseResult
    (#480)
  * Use &lt;wchar.h&gt; with C++ linkage on Windows ARM (#485)
  * Detect little endian for Microsoft ARM targets
  * Check Nan/Inf when writing a double (#510)
  * Add JSON Schema Implementation (#522)
  * Add iostream wrapper (#530)
  * Add Jsonx example for converting JSON into JSONx (a XML
    format) (#531)
  * Add optional unresolvedTokenIndex parameter to Pointer::Get()
    (#532)
  * Add encoding validation option for Writer/PrettyWriter (#534)
  * Add Writer::SetMaxDecimalPlaces() (#536)
  * Support {0, } and {0, m} in Regex (#539)
  * Add Value::Get/SetFloat(), Value::IsLossLessFloat/Double()
    (#540)
  * Add stream position check to reader unit tests (#541)
  * Add Templated accessors and range-based for (#542)
  * Add (Pretty)Writer::RawValue() (#543)
  * Add Document::Parse(std::string), Document::Parse(const
    char*, size_t length) and related APIs. (#553)
  * Add move constructor for GenericSchemaDocument (#554)
  * Add VS2010 and VS2015 to AppVeyor CI (#555)
  * Add parse-by-parts example (#556, #562)
  * Support parse number as string (#564, #589)
  * Add kFormatSingleLineArray for PrettyWriter (#577)
  * Added optional support for trailing commas (#584)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1687262400">- update to 17:
  * Make GenericSchemaDocument constructor explicit (#674)
  * Optimize FindMember when use std::string (#690)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1688212800">- update to 18:
  * update pyodide parts a bit</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1688990400">- Update to version 21:
  * Bug fix: added kernel specializations for
    awkward_ListOffsetArray_reduce_local_nextparents_64
    [gh#scikit-hep/awkward#2572].
- Now requires python &gt;= 3.8.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1690459200">- mark as python311 on sle15 as it requires &gt;= 3.8</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1694433600">- update to 22:
  * Add iostream wrapper (#530)
  * Add Jsonx example for converting JSON into JSONx (a XML
    format) (#531)
  * Add optional unresolvedTokenIndex parameter to Pointer::Get()
    (#532)
  * Add encoding validation option for Writer/PrettyWriter (#534)
  * Add Writer::SetMaxDecimalPlaces() (#536)
  * Support {0, } and {0, m} in Regex (#539)
  * Add Value::Get/SetFloat(), Value::IsLossLessFloat/Double()
    (#540)
  * Add stream position check to reader unit tests (#541)
  * Add Templated accessors and range-based for (#542)
  * Add (Pretty)Writer::RawValue() (#543)
  * Add Document::Parse(std::string), Document::Parse(const
    char*, size_t length) and related APIs. (#553)
  * Add move constructor for GenericSchemaDocument (#554)
  * Add VS2010 and VS2015 to AppVeyor CI (#555)
  * Add parse-by-parts example (#556, #562)
  * Support parse number as string (#564, #589)
  * Add kFormatSingleLineArray for PrettyWriter (#577)
  * Added optional support for trailing commas (#584)
  * Added filterkey and filterkeydom examples (#615)
  * Added npm docs (#639)
  * Allow options for writing and parsing NaN/Infinity (#641)
  * Add std::string overload to PrettyWriter::Key() when
    RAPIDJSON_HAS_STDSTRING is defined (#698)</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1694952000">- Update to version 23:
  * refactor: set flags on targets
  * fix: restore std
  * fix: drop more references to CXX_EXTENSIONS et al.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1696507200">- update to 24:
  * CMakeLists for include as a thirdparty in projects
  * Change Document::ParseStream() to use stack allocator for
    Reader</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699963200">- update to 26:
  * Keep Document value unchanged on parse error (#439)
  * Add missing return statement (#450)
  * Fix Document::Parse(const Ch*) for transcoding (#478)
  * encodings.h: fix typo in preprocessor condition (#495)
  * Custom Microsoft headers are necessary only for Visual Studio
    2012 and lower (#559)
  * Fix memory leak for invalid regex
    (26e69ffde95ba4773ab06db6457b78f308716f4b)
  * Fix a bug in schema minimum/maximum keywords for 64-bit
    integer (e7149d665941068ccf8c565e77495521331cf390)
  * Fix a crash bug in regex (#605)
  * Fix schema "required" keyword cannot handle duplicated keys</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1702641600">- Update to version 27:
  * Remove obsolete cuda_kernels (gh#scikit-hep/awkward#2876).</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1705320000">- Update to version 28:
  * No changelog available.</changelog>
  <changelog author="Steve Kowalik &lt;steven.kowalik@suse.com&gt;" date="1710763200">- Update to version 30:
  * No changelog available.</changelog>
  <changelog author="Atri Bhattacharya &lt;badshah400@gmail.com&gt;" date="1714305600">- Update to version 32:
  * No changelog available.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1715083200">- update to 33:
  * Fix a crash bug in regex
  * Fix schema "required" keyword cannot handle duplicated keys
  * Fix cmake CMP0054 warning
  * Added missing include guards in istreamwrapper.h and
    ostreamwrapper.h
  * Fix undefined behaviour
  * Fix buffer overrun using PutN
  * Fix rapidjson::value::Get&lt;std::string&gt;() may returns wrong
    data
  * Add Flush() for all value types
  * Handle malloc() fail in PoolAllocator
  * Fix builds on x32 platform. #703</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717588800">- Update to version 34
  * chore: Update RapidJSON (#3110)</changelog>
</package>
<package pkgid="d162dca8353c64177b350b1eacca372cf6cfb37e420610889afc32bf3532957ff9379ed800fcd0a1e945c7476f600c5d5760c9fcace9825061968293e4e37c54" name="aws-c-auth" arch="src">
  <version epoch="0" ver="0.7.22" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1677844800">- Update to version 0.6.25
  * Event Signing Support via Sigv4 by @waahm7 in (#186)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1678881600">- Update to version 0.6.26
  * Add Option to Use Cached Profile Collection by @waahm7 in (#187)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1683633600">- Update to version 0.6.27
  * Fix aws_parse_credentials_from_json_document by @waahm7 in (#192)
  * Fix the doc, decrement for release by @TingDaoK in (#194)
  * Add github templates and bots by @jmklix in (#196)
  * Update builder version to fix aws-lc build
    on manylinux-1 by @TingDaoK in (#197)
  * Implement SSOCredentialsProvider by @waahm7 in (#189)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1684238400">- Update to version 0.6.28
  * Fix warnings in public headers by @waahm7 in (#198)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1687521600">- Update to version 0.6.29
  * Don't use the default cursor to override if
    no override needed by @TingDaoK in (#200)
  * Fix the function that saying accepting null
    but actually not by @TingDaoK in (#201)
  * Send Host header in IMDS requests
    by @jamesbornholt in (#203)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1688385600">- Update to version 0.6.30
  * Add process credentials provider in default chain by @waahm7 in (#204)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1688558400">- Update to version 0.7.0
  * Fix session token in ProcessCredentialsProvider by @waahm7 in (#205)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690286400">- Update to version 0.7.2
  * Allow Overriding of Profile in Default Chain by @waahm7 in (#209)
- from version 0.7.1
  * Treat empty environment variable as unset by @TingDaoK in (#206)
  * Adapt to XML API changes by @graebm in (#207)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692100800">- Update to version 0.7.3
  * Remove Outdated Comment by @waahm7 in (#210)
  * Fix ProcessCredentialsProvider Callback to
    trigger once by @waahm7 in (#211)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.7.7
  * Add an Option to Disable v2 to v1 Fallback by @waahm7 in (#218)
- from version 0.7.6
  * Fix the imds client endless retry by @TingDaoK in (#217)
- from version 0.7.5
  * aws_signable refcounts request by @graebm in (#216)
- from version 0.7.4
  * Increase ancient bot by @jmklix in (#199)
  * Fix permissions for stale issue bot by @jmklix in (#212)
  * Minor CMakelists.txt cleanup by @graebm in (#213)
  * Added workflow for handling answerable discussions
    by @yasminetalby in (#214)
  * StsWebIdentity allow parameters by @waahm7 in (#215)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1701345600">- Update to version 0.7.8
  * Performance optimization updates by @TingDaoK in (#219)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.7.10
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#220)
- from version 0.7.9
  * Fix error when tests run in parallel by @graebm in (#221)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1706270400">- Update to version 0.7.14
  * Make Partial Creds a Transient Error by @waahm7 in (#226)
- from version 0.7.13
  * Handle empty path in AWS_CONTAINER_CREDENTIALS_FULL_URI
    by @jamesbornholt in (#225)
- from version 0.7.12
  * Remove old test files by @graebm in (#223)
  * Add assumeRole chain support by @waahm7 in (#224)
- from version 0.7.11
  * Add an option to disable environment credentials provider
    in the default chain by @waahm7 in (#222)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706356800">- fix packaging shlib naming</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.7.16
  * Fix a bunch of places we forget to aws_raise_error() by @graebm in (#229)
- from version 0.7.15
  * Make Partial Creds a Transient Error by @waahm7 in (#226)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.7.17
  * Additional logging for default credentials chain by @jamesbornholt in (#231)
  * Remove unused test files by @jmklix in (#232)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715169600">- Update to version 0.7.19
  * Refactor ECSCredentialsProvider Part 1 by @waahm7 in (#236)
  * Refactor ECSCredentialsProvider Part 2 by @waahm7 in (#235)
- from version 0.7.18
  * Update ECS Credentials Provider to add support for
    AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE by @waahm7 in (#233)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715601600">- Update to version 0.7.21
  * Fix STSCredentialsProvider Signing Region by @waahm7 in (#239)
- from version 0.7.20
  * Fix STS Credentials Provider to use regional
    endpoint if possible by @waahm7 in (#237)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718280000">- Update to version 0.7.22
  * trivial: add_net_test_case for credentials_provider_ecs_basic_success_uri_env
    test by @waahm7 in (#240)</changelog>
</package>
<package pkgid="a859f0fb3cd59b2f5f9dbc3565737c83ba86181617079776b96ae5a6e13f15e3b005233a6f0ad04938d100185062689af4ad94633ea5da75147c3026eca1a4ce" name="aws-c-auth-debugsource" arch="x86_64">
  <version epoch="0" ver="0.7.22" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1677844800">- Update to version 0.6.25
  * Event Signing Support via Sigv4 by @waahm7 in (#186)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1678881600">- Update to version 0.6.26
  * Add Option to Use Cached Profile Collection by @waahm7 in (#187)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1683633600">- Update to version 0.6.27
  * Fix aws_parse_credentials_from_json_document by @waahm7 in (#192)
  * Fix the doc, decrement for release by @TingDaoK in (#194)
  * Add github templates and bots by @jmklix in (#196)
  * Update builder version to fix aws-lc build
    on manylinux-1 by @TingDaoK in (#197)
  * Implement SSOCredentialsProvider by @waahm7 in (#189)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1684238400">- Update to version 0.6.28
  * Fix warnings in public headers by @waahm7 in (#198)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1687521600">- Update to version 0.6.29
  * Don't use the default cursor to override if
    no override needed by @TingDaoK in (#200)
  * Fix the function that saying accepting null
    but actually not by @TingDaoK in (#201)
  * Send Host header in IMDS requests
    by @jamesbornholt in (#203)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1688385600">- Update to version 0.6.30
  * Add process credentials provider in default chain by @waahm7 in (#204)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1688558400">- Update to version 0.7.0
  * Fix session token in ProcessCredentialsProvider by @waahm7 in (#205)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690286400">- Update to version 0.7.2
  * Allow Overriding of Profile in Default Chain by @waahm7 in (#209)
- from version 0.7.1
  * Treat empty environment variable as unset by @TingDaoK in (#206)
  * Adapt to XML API changes by @graebm in (#207)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692100800">- Update to version 0.7.3
  * Remove Outdated Comment by @waahm7 in (#210)
  * Fix ProcessCredentialsProvider Callback to
    trigger once by @waahm7 in (#211)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.7.7
  * Add an Option to Disable v2 to v1 Fallback by @waahm7 in (#218)
- from version 0.7.6
  * Fix the imds client endless retry by @TingDaoK in (#217)
- from version 0.7.5
  * aws_signable refcounts request by @graebm in (#216)
- from version 0.7.4
  * Increase ancient bot by @jmklix in (#199)
  * Fix permissions for stale issue bot by @jmklix in (#212)
  * Minor CMakelists.txt cleanup by @graebm in (#213)
  * Added workflow for handling answerable discussions
    by @yasminetalby in (#214)
  * StsWebIdentity allow parameters by @waahm7 in (#215)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1701345600">- Update to version 0.7.8
  * Performance optimization updates by @TingDaoK in (#219)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.7.10
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#220)
- from version 0.7.9
  * Fix error when tests run in parallel by @graebm in (#221)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1706270400">- Update to version 0.7.14
  * Make Partial Creds a Transient Error by @waahm7 in (#226)
- from version 0.7.13
  * Handle empty path in AWS_CONTAINER_CREDENTIALS_FULL_URI
    by @jamesbornholt in (#225)
- from version 0.7.12
  * Remove old test files by @graebm in (#223)
  * Add assumeRole chain support by @waahm7 in (#224)
- from version 0.7.11
  * Add an option to disable environment credentials provider
    in the default chain by @waahm7 in (#222)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706356800">- fix packaging shlib naming</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.7.16
  * Fix a bunch of places we forget to aws_raise_error() by @graebm in (#229)
- from version 0.7.15
  * Make Partial Creds a Transient Error by @waahm7 in (#226)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.7.17
  * Additional logging for default credentials chain by @jamesbornholt in (#231)
  * Remove unused test files by @jmklix in (#232)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715169600">- Update to version 0.7.19
  * Refactor ECSCredentialsProvider Part 1 by @waahm7 in (#236)
  * Refactor ECSCredentialsProvider Part 2 by @waahm7 in (#235)
- from version 0.7.18
  * Update ECS Credentials Provider to add support for
    AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE by @waahm7 in (#233)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715601600">- Update to version 0.7.21
  * Fix STSCredentialsProvider Signing Region by @waahm7 in (#239)
- from version 0.7.20
  * Fix STS Credentials Provider to use regional
    endpoint if possible by @waahm7 in (#237)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718280000">- Update to version 0.7.22
  * trivial: add_net_test_case for credentials_provider_ecs_basic_success_uri_env
    test by @waahm7 in (#240)</changelog>
</package>
<package pkgid="18987e6bf6f17ed6e4206b81fbbdae18ab82d2e73403c4abacdb989e04844730d342c7a0bc8af736f5a6c36481bbef2fe0bfe4ff277c7c9cbc79840f711053c8" name="aws-c-auth-devel" arch="x86_64">
  <version epoch="0" ver="0.7.22" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1677844800">- Update to version 0.6.25
  * Event Signing Support via Sigv4 by @waahm7 in (#186)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1678881600">- Update to version 0.6.26
  * Add Option to Use Cached Profile Collection by @waahm7 in (#187)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1683633600">- Update to version 0.6.27
  * Fix aws_parse_credentials_from_json_document by @waahm7 in (#192)
  * Fix the doc, decrement for release by @TingDaoK in (#194)
  * Add github templates and bots by @jmklix in (#196)
  * Update builder version to fix aws-lc build
    on manylinux-1 by @TingDaoK in (#197)
  * Implement SSOCredentialsProvider by @waahm7 in (#189)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1684238400">- Update to version 0.6.28
  * Fix warnings in public headers by @waahm7 in (#198)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1687521600">- Update to version 0.6.29
  * Don't use the default cursor to override if
    no override needed by @TingDaoK in (#200)
  * Fix the function that saying accepting null
    but actually not by @TingDaoK in (#201)
  * Send Host header in IMDS requests
    by @jamesbornholt in (#203)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1688385600">- Update to version 0.6.30
  * Add process credentials provider in default chain by @waahm7 in (#204)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1688558400">- Update to version 0.7.0
  * Fix session token in ProcessCredentialsProvider by @waahm7 in (#205)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690286400">- Update to version 0.7.2
  * Allow Overriding of Profile in Default Chain by @waahm7 in (#209)
- from version 0.7.1
  * Treat empty environment variable as unset by @TingDaoK in (#206)
  * Adapt to XML API changes by @graebm in (#207)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692100800">- Update to version 0.7.3
  * Remove Outdated Comment by @waahm7 in (#210)
  * Fix ProcessCredentialsProvider Callback to
    trigger once by @waahm7 in (#211)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.7.7
  * Add an Option to Disable v2 to v1 Fallback by @waahm7 in (#218)
- from version 0.7.6
  * Fix the imds client endless retry by @TingDaoK in (#217)
- from version 0.7.5
  * aws_signable refcounts request by @graebm in (#216)
- from version 0.7.4
  * Increase ancient bot by @jmklix in (#199)
  * Fix permissions for stale issue bot by @jmklix in (#212)
  * Minor CMakelists.txt cleanup by @graebm in (#213)
  * Added workflow for handling answerable discussions
    by @yasminetalby in (#214)
  * StsWebIdentity allow parameters by @waahm7 in (#215)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1701345600">- Update to version 0.7.8
  * Performance optimization updates by @TingDaoK in (#219)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.7.10
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#220)
- from version 0.7.9
  * Fix error when tests run in parallel by @graebm in (#221)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1706270400">- Update to version 0.7.14
  * Make Partial Creds a Transient Error by @waahm7 in (#226)
- from version 0.7.13
  * Handle empty path in AWS_CONTAINER_CREDENTIALS_FULL_URI
    by @jamesbornholt in (#225)
- from version 0.7.12
  * Remove old test files by @graebm in (#223)
  * Add assumeRole chain support by @waahm7 in (#224)
- from version 0.7.11
  * Add an option to disable environment credentials provider
    in the default chain by @waahm7 in (#222)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706356800">- fix packaging shlib naming</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.7.16
  * Fix a bunch of places we forget to aws_raise_error() by @graebm in (#229)
- from version 0.7.15
  * Make Partial Creds a Transient Error by @waahm7 in (#226)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708430400">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.7.17
  * Additional logging for default credentials chain by @jamesbornholt in (#231)
  * Remove unused test files by @jmklix in (#232)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715169600">- Update to version 0.7.19
  * Refactor ECSCredentialsProvider Part 1 by @waahm7 in (#236)
  * Refactor ECSCredentialsProvider Part 2 by @waahm7 in (#235)
- from version 0.7.18
  * Update ECS Credentials Provider to add support for
    AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE by @waahm7 in (#233)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715601600">- Update to version 0.7.21
  * Fix STSCredentialsProvider Signing Region by @waahm7 in (#239)
- from version 0.7.20
  * Fix STS Credentials Provider to use regional
    endpoint if possible by @waahm7 in (#237)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718280000">- Update to version 0.7.22
  * trivial: add_net_test_case for credentials_provider_ecs_basic_success_uri_env
    test by @waahm7 in (#240)</changelog>
</package>
<package pkgid="e7ec2cc84d475616315144e25eefe633dacc9f760be62065e08f022647850aebaf71e54b1311eae8b04c1db78efe00647f01ec37d3fcfe653d34ace7a48289a9" name="aws-c-common" arch="src">
  <version epoch="0" ver="0.9.21" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1678363200">- Update to version 0.8.14
  * Fix C++ compiler warning by @graebm in (#989)
- from version 0.8.13
  * Add scripts/latest_submodules.py by @graebm in (#988)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1680004800">- Update to version 0.8.15
  * Replace old ARM images with raspbian-bullseye image by @knightjoel in (#990)
  * CI job for OpenBSD by @knightjoel in (#991)
  * Improved output from test harness by @graebm in (#995)
  * Remove unused system: aws_bus by @graebm in (#996)
  * Buffer ub by @DmitriyMusatkin in (#999)
  * Add CBMC proof for `aws_byte_buf_append_and_update` by @feliperodri in (#1000)
  * Fix comment in uri.h by @jamesbornholt in (#986)
  * CMake feature detection with gcc 7.3.1 misses backtrace by @jeking3 in (#1002)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1681819200">- Update to version 0.8.17
  * Add a way to skip a test by @xiazhvera in (#1012)
  * Add github templates and bots by @jmklix in (#1015)
- from version 0.8.16
  * Add function for writing N bytes of randomness by @graebm in (#1005)
  * Remove debugging printf by @graebm in (#1009)
  * Adds aws_normalize_directory_separator by @waahm7 in (#1010)
  * Fix cv signal outside of lock by @jeking3 in (#1008)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1683547200">- Update to version 0.8.19
  * Tolerate uninitialized list in array_list_clear by @waahm7 in (#1021)
- from version 0.8.18
  * Improved sanitizer support by @DmitriyMusatkin in (#1016)
  * Reduce spam when configuring multiple projects at once by @graebm in (#1018)
  * Update builder version to fix aws-lc build on manylinux1 by @TingDaoK in (#1017)
  * Tolerate unintialized list in aws_array_list_length by @waahm7 in (#1019)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1684238400">- Update to version 0.8.20
  * Pin CBMC version to 5.81.0 by @karkhaz in (#1022)
  * Fix race condition in promise.c by @evanmiller in (#1023)
  * Remove unimplemented prototype from ring_buffer.h by @evanmiller in (#1024)
  * Move CBMC back to latest by @tautschnig in (#1026)
  * Fix warnings in public headers by @graebm in (#998)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685534400">- Update to version 0.8.22
  * Let cursor equals assert print string on failure by @DmitriyMusatkin in (#1030)
  * Remove dangling symlink in CMBC proofs by @jamesbornholt in (#1031)
- from version 0.8.21
  * Update time to ancient by @jmklix in (#1029)
  * Merge header checker with cpp header checker by @waahm7 in (#1028)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685966400">- Update to version 0.8.23
  * Disable MSVC warning triggered by aws_future macros by @graebm in (#1033)
  * Update AwsTestHarness.cmake typo by @eherozhao in (#1034)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690286400">- Update to version 0.9.0
  * Use W4 for all MSVC by @TingDaoK in (#1035)
  * New API to wrap an initialized array with an array list by @bretambrose in (#1040)
  * AVX512 feature detection by @pbadari in (#1037)
  * Simplify error handling in XML API - BREAKING CHANGE by @graebm in (#1043)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1693396800">- Update to version 0.9.1
  * Pickup latest release from cJSON by @TingDaoK in (#1047)
  * Fix stale issue bot permissions by @jmklix in (#1049)
  * Intel Vtune tracing integration by @waahm7 in (#1050)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694001600">- Update to version 0.9.3
  * Fix CMake option for choosing MSVC runtime library by @graebm in (#1054)
- from version 0.9.2
  * Added workflow for handling answerable discussions by @yasminetalby in (#1051)
  * Change SKIP code value to reduce the chance of clashing by @sfod in (#1055)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696420800">- Update to version 0.9.4
  * Authorize requests to GitHub API in Run CBMC proofs workflow by @adpaco-aws in (#1057)
  * Reflexive vs symmetric in hash_table.h doc by @jmklix in (#1056)
  * Add error codes for file read/write/open failures by @graebm in (#1061)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.9.10
  * Fixed directory creation to ignore umask, and allow cross process
    lock to fall back to read only if it can't open the file in rw mode
    by @JonathanHenson in (#1078)
- from version 0.9.9
  * Fix WSL Crash by @waahm7 in (#1076)
- from version 0.9.8
  * Adds high resolution clock timestamps to android logging in
    order to investigate scheduling/clock misbehavior
    by @bretambrose in (#1075)
- from version 0.9.7
  * Cross process lock fix for musl by @JonathanHenson in (#1073)
- from version 0.9.6
  * Add additional priority queue related APIs by @bretambrose in (#1067)
  * Switch default allocator to basic system one by @DmitriyMusatkin in (#1066)
- from version 0.9.5
  * Report actual bytes leaked/Fix realloc tracing by @DmitriyMusatkin in (#1053)
  * Support reading "special files" that lie about their size by @graebm in (#1064)
  * Add an environment loader API and implementation for some DMI related fields
    by @JonathanHenson in (#1063)
  * Update third party licenses file by @yasminetalby in (#1062)
  * Basic process mem usage functions by @DmitriyMusatkin in (#1065)
  * Fix loading of libnuma.so by @waahm7 in (#1068)
  * Comment fix by @alfred2g in (#1069)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.9.12
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#1079)
- from version 0.9.11
  * Add a query string helper from byte cursor directly by @TingDaoK in (#1080)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.9.13
  * cJSON update to 1.7.17 by @graebm in (#1081)
  * Add more generic AVX feature detection as well as flags for if
    avx512 intrinsics are available. by @JonathanHenson in (#1041)
  * chore: Relax stale issue timings by @kellertk in (#1085)
  * Use _Exit() on test failure, to avoid LeakSanitizer spam by @graebm in (#1088)
  * Fix a bunch of places we forget to aws_raise_error() by @graebm in (#1089)
  * Consistently use lowercase for Windows libraries
    and header files by @giordano in (#1058)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1710763200">- update to 0.9.14:
  * Accept all RFC3339-compliant timestamps</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.9.15
  * Claim range for aws-crt-kotlin by @aajtodd in (#1095)
  * Remove unused external headers by @TingDaoK in (#1097)
  * Best Effort Thread Pinning to CPU_ID by @waahm7 in (#1096)
  * Add support for WIN ARM64 by @alfred2g in (#1092)
  * Better vectorization and crc64. Cleaned up cmake and
    added better runtime cpu detection by @JonathanHenson in (#1083)
  * Avoid overallocating for strings by @DmitriyMusatkin in (#1099)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715169600">- Update to version 0.9.17
  * Fix invalid cpu_id for RHEL_5 by @waahm7 in (#1106)
- from version 0.9.16
  * Switch test harness to print errors in decimal by @DmitriyMusatkin in (#1100)
  * Add list membership API and uint64 hash utilities by @bretambrose in (#1103)
  * Clarity updates for uint64_t hash helper by @bretambrose in (#1104)
  * Move is ipv4/ipv6 functions from Aws-c-sdkutils to Aws-c-common by @waahm7 in (#1105)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715601600">- Update to version 0.9.19
  * Fix aws_host_utils_is_ipv6 function by @waahm7 in (#1114)
- from version 0.9.18
  * memtrace: Fix underflow when stack_depth &lt; FRAMES_TO_SKIP
    by @zhaofengli in (#873)
  * chore: Make CBMC stubs with zero parameters proper
    declarations by @tautschnig in (#1107)
  * Satisfy some signed vs unsigned comparison
    warnings by @KaibaLopez in (#809)
  * Remove promise class by @waahm7 in (#1110)
  * Fix host parsing for IPv6 URI by @waahm7 in (#1112)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717588800">- Update to version 0.9.20
  * Task scheduler: log at TRACE, instead of DEBUG by @graebm in (#1115)
  * Update CJson to v1.7.18 by @waahm7 in (#1116)
  * Avoid overflowing pointers passed to memcpy by @qinheping in (#874)
  * Fix test skipping by @graebm in (#1118)
  * Fix CMake Windows ARM typo by @graebm in (#1119)
  * Fix weird decimal formatting in tests by @graebm in (#1121)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718107200">- Update to version 0.9.21
  * Fix memtracer bad assumptions on the size of stack trace
    by @DmitriyMusatkin in (#1122)
  * Disable optimization was not working by @TingDaoK in (#1123)</changelog>
</package>
<package pkgid="12821d9d1c670eaa71e8a785de726c4fdfc1fbcf5a9dd31c8a04d9082717ee8e8a8fdf2d11551e827e83cff1c372cb1d0d4a96174dad8f62477d3a1116b1dc89" name="aws-c-common" arch="src">
  <version epoch="0" ver="0.9.23" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1680004800">- Update to version 0.8.15
  * Replace old ARM images with raspbian-bullseye image by @knightjoel in (#990)
  * CI job for OpenBSD by @knightjoel in (#991)
  * Improved output from test harness by @graebm in (#995)
  * Remove unused system: aws_bus by @graebm in (#996)
  * Buffer ub by @DmitriyMusatkin in (#999)
  * Add CBMC proof for `aws_byte_buf_append_and_update` by @feliperodri in (#1000)
  * Fix comment in uri.h by @jamesbornholt in (#986)
  * CMake feature detection with gcc 7.3.1 misses backtrace by @jeking3 in (#1002)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1681819200">- Update to version 0.8.17
  * Add a way to skip a test by @xiazhvera in (#1012)
  * Add github templates and bots by @jmklix in (#1015)
- from version 0.8.16
  * Add function for writing N bytes of randomness by @graebm in (#1005)
  * Remove debugging printf by @graebm in (#1009)
  * Adds aws_normalize_directory_separator by @waahm7 in (#1010)
  * Fix cv signal outside of lock by @jeking3 in (#1008)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1683547200">- Update to version 0.8.19
  * Tolerate uninitialized list in array_list_clear by @waahm7 in (#1021)
- from version 0.8.18
  * Improved sanitizer support by @DmitriyMusatkin in (#1016)
  * Reduce spam when configuring multiple projects at once by @graebm in (#1018)
  * Update builder version to fix aws-lc build on manylinux1 by @TingDaoK in (#1017)
  * Tolerate unintialized list in aws_array_list_length by @waahm7 in (#1019)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1684238400">- Update to version 0.8.20
  * Pin CBMC version to 5.81.0 by @karkhaz in (#1022)
  * Fix race condition in promise.c by @evanmiller in (#1023)
  * Remove unimplemented prototype from ring_buffer.h by @evanmiller in (#1024)
  * Move CBMC back to latest by @tautschnig in (#1026)
  * Fix warnings in public headers by @graebm in (#998)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685534400">- Update to version 0.8.22
  * Let cursor equals assert print string on failure by @DmitriyMusatkin in (#1030)
  * Remove dangling symlink in CMBC proofs by @jamesbornholt in (#1031)
- from version 0.8.21
  * Update time to ancient by @jmklix in (#1029)
  * Merge header checker with cpp header checker by @waahm7 in (#1028)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685966400">- Update to version 0.8.23
  * Disable MSVC warning triggered by aws_future macros by @graebm in (#1033)
  * Update AwsTestHarness.cmake typo by @eherozhao in (#1034)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690286400">- Update to version 0.9.0
  * Use W4 for all MSVC by @TingDaoK in (#1035)
  * New API to wrap an initialized array with an array list by @bretambrose in (#1040)
  * AVX512 feature detection by @pbadari in (#1037)
  * Simplify error handling in XML API - BREAKING CHANGE by @graebm in (#1043)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1693396800">- Update to version 0.9.1
  * Pickup latest release from cJSON by @TingDaoK in (#1047)
  * Fix stale issue bot permissions by @jmklix in (#1049)
  * Intel Vtune tracing integration by @waahm7 in (#1050)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694001600">- Update to version 0.9.3
  * Fix CMake option for choosing MSVC runtime library by @graebm in (#1054)
- from version 0.9.2
  * Added workflow for handling answerable discussions by @yasminetalby in (#1051)
  * Change SKIP code value to reduce the chance of clashing by @sfod in (#1055)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696420800">- Update to version 0.9.4
  * Authorize requests to GitHub API in Run CBMC proofs workflow by @adpaco-aws in (#1057)
  * Reflexive vs symmetric in hash_table.h doc by @jmklix in (#1056)
  * Add error codes for file read/write/open failures by @graebm in (#1061)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.9.10
  * Fixed directory creation to ignore umask, and allow cross process
    lock to fall back to read only if it can't open the file in rw mode
    by @JonathanHenson in (#1078)
- from version 0.9.9
  * Fix WSL Crash by @waahm7 in (#1076)
- from version 0.9.8
  * Adds high resolution clock timestamps to android logging in
    order to investigate scheduling/clock misbehavior
    by @bretambrose in (#1075)
- from version 0.9.7
  * Cross process lock fix for musl by @JonathanHenson in (#1073)
- from version 0.9.6
  * Add additional priority queue related APIs by @bretambrose in (#1067)
  * Switch default allocator to basic system one by @DmitriyMusatkin in (#1066)
- from version 0.9.5
  * Report actual bytes leaked/Fix realloc tracing by @DmitriyMusatkin in (#1053)
  * Support reading "special files" that lie about their size by @graebm in (#1064)
  * Add an environment loader API and implementation for some DMI related fields
    by @JonathanHenson in (#1063)
  * Update third party licenses file by @yasminetalby in (#1062)
  * Basic process mem usage functions by @DmitriyMusatkin in (#1065)
  * Fix loading of libnuma.so by @waahm7 in (#1068)
  * Comment fix by @alfred2g in (#1069)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.9.12
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#1079)
- from version 0.9.11
  * Add a query string helper from byte cursor directly by @TingDaoK in (#1080)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.9.13
  * cJSON update to 1.7.17 by @graebm in (#1081)
  * Add more generic AVX feature detection as well as flags for if
    avx512 intrinsics are available. by @JonathanHenson in (#1041)
  * chore: Relax stale issue timings by @kellertk in (#1085)
  * Use _Exit() on test failure, to avoid LeakSanitizer spam by @graebm in (#1088)
  * Fix a bunch of places we forget to aws_raise_error() by @graebm in (#1089)
  * Consistently use lowercase for Windows libraries
    and header files by @giordano in (#1058)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1710763200">- update to 0.9.14:
  * Accept all RFC3339-compliant timestamps</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.9.15
  * Claim range for aws-crt-kotlin by @aajtodd in (#1095)
  * Remove unused external headers by @TingDaoK in (#1097)
  * Best Effort Thread Pinning to CPU_ID by @waahm7 in (#1096)
  * Add support for WIN ARM64 by @alfred2g in (#1092)
  * Better vectorization and crc64. Cleaned up cmake and
    added better runtime cpu detection by @JonathanHenson in (#1083)
  * Avoid overallocating for strings by @DmitriyMusatkin in (#1099)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715169600">- Update to version 0.9.17
  * Fix invalid cpu_id for RHEL_5 by @waahm7 in (#1106)
- from version 0.9.16
  * Switch test harness to print errors in decimal by @DmitriyMusatkin in (#1100)
  * Add list membership API and uint64 hash utilities by @bretambrose in (#1103)
  * Clarity updates for uint64_t hash helper by @bretambrose in (#1104)
  * Move is ipv4/ipv6 functions from Aws-c-sdkutils to Aws-c-common by @waahm7 in (#1105)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715601600">- Update to version 0.9.19
  * Fix aws_host_utils_is_ipv6 function by @waahm7 in (#1114)
- from version 0.9.18
  * memtrace: Fix underflow when stack_depth &lt; FRAMES_TO_SKIP
    by @zhaofengli in (#873)
  * chore: Make CBMC stubs with zero parameters proper
    declarations by @tautschnig in (#1107)
  * Satisfy some signed vs unsigned comparison
    warnings by @KaibaLopez in (#809)
  * Remove promise class by @waahm7 in (#1110)
  * Fix host parsing for IPv6 URI by @waahm7 in (#1112)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717588800">- Update to version 0.9.20
  * Task scheduler: log at TRACE, instead of DEBUG by @graebm in (#1115)
  * Update CJson to v1.7.18 by @waahm7 in (#1116)
  * Avoid overflowing pointers passed to memcpy by @qinheping in (#874)
  * Fix test skipping by @graebm in (#1118)
  * Fix CMake Windows ARM typo by @graebm in (#1119)
  * Fix weird decimal formatting in tests by @graebm in (#1121)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718107200">- Update to version 0.9.21
  * Fix memtracer bad assumptions on the size of stack trace
    by @DmitriyMusatkin in (#1122)
  * Disable optimization was not working by @TingDaoK in (#1123)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1719316800">- Update to version 0.9.23
  * cbor support by @TingDaoK in (#1131)
- from version 0.9.22
  * clang-format 18 by @graebm in (#1113)
  * Use CBMC version 5.95.1 by @tautschnig in (#1124)
  * latest_submodules.py uses AWS-LC-FIPS releases in
    aws-crt-java by @graebm in (#1125)
  * Use CBMC 6.0.0 by @graebm in (#1128)
  * Fix default thread options for windows to not pin to
    any cpu_id by @waahm7 in (#1126)</changelog>
</package>
<package pkgid="b3b435db2dba4e683a6cab2c9f04784dafde86bd9dcf697fc54f879c0ba67000a96385144d69be391d38a353c1c6c4dd11e0e8b1f38eed81a4743cf44aaebbaa" name="aws-c-common-debugsource" arch="x86_64">
  <version epoch="0" ver="0.9.21" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1678363200">- Update to version 0.8.14
  * Fix C++ compiler warning by @graebm in (#989)
- from version 0.8.13
  * Add scripts/latest_submodules.py by @graebm in (#988)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1680004800">- Update to version 0.8.15
  * Replace old ARM images with raspbian-bullseye image by @knightjoel in (#990)
  * CI job for OpenBSD by @knightjoel in (#991)
  * Improved output from test harness by @graebm in (#995)
  * Remove unused system: aws_bus by @graebm in (#996)
  * Buffer ub by @DmitriyMusatkin in (#999)
  * Add CBMC proof for `aws_byte_buf_append_and_update` by @feliperodri in (#1000)
  * Fix comment in uri.h by @jamesbornholt in (#986)
  * CMake feature detection with gcc 7.3.1 misses backtrace by @jeking3 in (#1002)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1681819200">- Update to version 0.8.17
  * Add a way to skip a test by @xiazhvera in (#1012)
  * Add github templates and bots by @jmklix in (#1015)
- from version 0.8.16
  * Add function for writing N bytes of randomness by @graebm in (#1005)
  * Remove debugging printf by @graebm in (#1009)
  * Adds aws_normalize_directory_separator by @waahm7 in (#1010)
  * Fix cv signal outside of lock by @jeking3 in (#1008)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1683547200">- Update to version 0.8.19
  * Tolerate uninitialized list in array_list_clear by @waahm7 in (#1021)
- from version 0.8.18
  * Improved sanitizer support by @DmitriyMusatkin in (#1016)
  * Reduce spam when configuring multiple projects at once by @graebm in (#1018)
  * Update builder version to fix aws-lc build on manylinux1 by @TingDaoK in (#1017)
  * Tolerate unintialized list in aws_array_list_length by @waahm7 in (#1019)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1684238400">- Update to version 0.8.20
  * Pin CBMC version to 5.81.0 by @karkhaz in (#1022)
  * Fix race condition in promise.c by @evanmiller in (#1023)
  * Remove unimplemented prototype from ring_buffer.h by @evanmiller in (#1024)
  * Move CBMC back to latest by @tautschnig in (#1026)
  * Fix warnings in public headers by @graebm in (#998)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685534400">- Update to version 0.8.22
  * Let cursor equals assert print string on failure by @DmitriyMusatkin in (#1030)
  * Remove dangling symlink in CMBC proofs by @jamesbornholt in (#1031)
- from version 0.8.21
  * Update time to ancient by @jmklix in (#1029)
  * Merge header checker with cpp header checker by @waahm7 in (#1028)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685966400">- Update to version 0.8.23
  * Disable MSVC warning triggered by aws_future macros by @graebm in (#1033)
  * Update AwsTestHarness.cmake typo by @eherozhao in (#1034)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690286400">- Update to version 0.9.0
  * Use W4 for all MSVC by @TingDaoK in (#1035)
  * New API to wrap an initialized array with an array list by @bretambrose in (#1040)
  * AVX512 feature detection by @pbadari in (#1037)
  * Simplify error handling in XML API - BREAKING CHANGE by @graebm in (#1043)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1693396800">- Update to version 0.9.1
  * Pickup latest release from cJSON by @TingDaoK in (#1047)
  * Fix stale issue bot permissions by @jmklix in (#1049)
  * Intel Vtune tracing integration by @waahm7 in (#1050)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694001600">- Update to version 0.9.3
  * Fix CMake option for choosing MSVC runtime library by @graebm in (#1054)
- from version 0.9.2
  * Added workflow for handling answerable discussions by @yasminetalby in (#1051)
  * Change SKIP code value to reduce the chance of clashing by @sfod in (#1055)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696420800">- Update to version 0.9.4
  * Authorize requests to GitHub API in Run CBMC proofs workflow by @adpaco-aws in (#1057)
  * Reflexive vs symmetric in hash_table.h doc by @jmklix in (#1056)
  * Add error codes for file read/write/open failures by @graebm in (#1061)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.9.10
  * Fixed directory creation to ignore umask, and allow cross process
    lock to fall back to read only if it can't open the file in rw mode
    by @JonathanHenson in (#1078)
- from version 0.9.9
  * Fix WSL Crash by @waahm7 in (#1076)
- from version 0.9.8
  * Adds high resolution clock timestamps to android logging in
    order to investigate scheduling/clock misbehavior
    by @bretambrose in (#1075)
- from version 0.9.7
  * Cross process lock fix for musl by @JonathanHenson in (#1073)
- from version 0.9.6
  * Add additional priority queue related APIs by @bretambrose in (#1067)
  * Switch default allocator to basic system one by @DmitriyMusatkin in (#1066)
- from version 0.9.5
  * Report actual bytes leaked/Fix realloc tracing by @DmitriyMusatkin in (#1053)
  * Support reading "special files" that lie about their size by @graebm in (#1064)
  * Add an environment loader API and implementation for some DMI related fields
    by @JonathanHenson in (#1063)
  * Update third party licenses file by @yasminetalby in (#1062)
  * Basic process mem usage functions by @DmitriyMusatkin in (#1065)
  * Fix loading of libnuma.so by @waahm7 in (#1068)
  * Comment fix by @alfred2g in (#1069)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.9.12
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#1079)
- from version 0.9.11
  * Add a query string helper from byte cursor directly by @TingDaoK in (#1080)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.9.13
  * cJSON update to 1.7.17 by @graebm in (#1081)
  * Add more generic AVX feature detection as well as flags for if
    avx512 intrinsics are available. by @JonathanHenson in (#1041)
  * chore: Relax stale issue timings by @kellertk in (#1085)
  * Use _Exit() on test failure, to avoid LeakSanitizer spam by @graebm in (#1088)
  * Fix a bunch of places we forget to aws_raise_error() by @graebm in (#1089)
  * Consistently use lowercase for Windows libraries
    and header files by @giordano in (#1058)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1710763200">- update to 0.9.14:
  * Accept all RFC3339-compliant timestamps</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.9.15
  * Claim range for aws-crt-kotlin by @aajtodd in (#1095)
  * Remove unused external headers by @TingDaoK in (#1097)
  * Best Effort Thread Pinning to CPU_ID by @waahm7 in (#1096)
  * Add support for WIN ARM64 by @alfred2g in (#1092)
  * Better vectorization and crc64. Cleaned up cmake and
    added better runtime cpu detection by @JonathanHenson in (#1083)
  * Avoid overallocating for strings by @DmitriyMusatkin in (#1099)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715169600">- Update to version 0.9.17
  * Fix invalid cpu_id for RHEL_5 by @waahm7 in (#1106)
- from version 0.9.16
  * Switch test harness to print errors in decimal by @DmitriyMusatkin in (#1100)
  * Add list membership API and uint64 hash utilities by @bretambrose in (#1103)
  * Clarity updates for uint64_t hash helper by @bretambrose in (#1104)
  * Move is ipv4/ipv6 functions from Aws-c-sdkutils to Aws-c-common by @waahm7 in (#1105)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715601600">- Update to version 0.9.19
  * Fix aws_host_utils_is_ipv6 function by @waahm7 in (#1114)
- from version 0.9.18
  * memtrace: Fix underflow when stack_depth &lt; FRAMES_TO_SKIP
    by @zhaofengli in (#873)
  * chore: Make CBMC stubs with zero parameters proper
    declarations by @tautschnig in (#1107)
  * Satisfy some signed vs unsigned comparison
    warnings by @KaibaLopez in (#809)
  * Remove promise class by @waahm7 in (#1110)
  * Fix host parsing for IPv6 URI by @waahm7 in (#1112)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717588800">- Update to version 0.9.20
  * Task scheduler: log at TRACE, instead of DEBUG by @graebm in (#1115)
  * Update CJson to v1.7.18 by @waahm7 in (#1116)
  * Avoid overflowing pointers passed to memcpy by @qinheping in (#874)
  * Fix test skipping by @graebm in (#1118)
  * Fix CMake Windows ARM typo by @graebm in (#1119)
  * Fix weird decimal formatting in tests by @graebm in (#1121)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718107200">- Update to version 0.9.21
  * Fix memtracer bad assumptions on the size of stack trace
    by @DmitriyMusatkin in (#1122)
  * Disable optimization was not working by @TingDaoK in (#1123)</changelog>
</package>
<package pkgid="883e87cabd470a100c6a9e4f998cf8b35610ee7982e0d217e18df9e9c41b2a3836aeb26f8732b0befc4447fe5e459f5df4c8aee61d0eeaecdddc397b7edd2d19" name="aws-c-common-debugsource" arch="x86_64">
  <version epoch="0" ver="0.9.23" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1680004800">- Update to version 0.8.15
  * Replace old ARM images with raspbian-bullseye image by @knightjoel in (#990)
  * CI job for OpenBSD by @knightjoel in (#991)
  * Improved output from test harness by @graebm in (#995)
  * Remove unused system: aws_bus by @graebm in (#996)
  * Buffer ub by @DmitriyMusatkin in (#999)
  * Add CBMC proof for `aws_byte_buf_append_and_update` by @feliperodri in (#1000)
  * Fix comment in uri.h by @jamesbornholt in (#986)
  * CMake feature detection with gcc 7.3.1 misses backtrace by @jeking3 in (#1002)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1681819200">- Update to version 0.8.17
  * Add a way to skip a test by @xiazhvera in (#1012)
  * Add github templates and bots by @jmklix in (#1015)
- from version 0.8.16
  * Add function for writing N bytes of randomness by @graebm in (#1005)
  * Remove debugging printf by @graebm in (#1009)
  * Adds aws_normalize_directory_separator by @waahm7 in (#1010)
  * Fix cv signal outside of lock by @jeking3 in (#1008)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1683547200">- Update to version 0.8.19
  * Tolerate uninitialized list in array_list_clear by @waahm7 in (#1021)
- from version 0.8.18
  * Improved sanitizer support by @DmitriyMusatkin in (#1016)
  * Reduce spam when configuring multiple projects at once by @graebm in (#1018)
  * Update builder version to fix aws-lc build on manylinux1 by @TingDaoK in (#1017)
  * Tolerate unintialized list in aws_array_list_length by @waahm7 in (#1019)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1684238400">- Update to version 0.8.20
  * Pin CBMC version to 5.81.0 by @karkhaz in (#1022)
  * Fix race condition in promise.c by @evanmiller in (#1023)
  * Remove unimplemented prototype from ring_buffer.h by @evanmiller in (#1024)
  * Move CBMC back to latest by @tautschnig in (#1026)
  * Fix warnings in public headers by @graebm in (#998)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685534400">- Update to version 0.8.22
  * Let cursor equals assert print string on failure by @DmitriyMusatkin in (#1030)
  * Remove dangling symlink in CMBC proofs by @jamesbornholt in (#1031)
- from version 0.8.21
  * Update time to ancient by @jmklix in (#1029)
  * Merge header checker with cpp header checker by @waahm7 in (#1028)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685966400">- Update to version 0.8.23
  * Disable MSVC warning triggered by aws_future macros by @graebm in (#1033)
  * Update AwsTestHarness.cmake typo by @eherozhao in (#1034)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690286400">- Update to version 0.9.0
  * Use W4 for all MSVC by @TingDaoK in (#1035)
  * New API to wrap an initialized array with an array list by @bretambrose in (#1040)
  * AVX512 feature detection by @pbadari in (#1037)
  * Simplify error handling in XML API - BREAKING CHANGE by @graebm in (#1043)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1693396800">- Update to version 0.9.1
  * Pickup latest release from cJSON by @TingDaoK in (#1047)
  * Fix stale issue bot permissions by @jmklix in (#1049)
  * Intel Vtune tracing integration by @waahm7 in (#1050)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694001600">- Update to version 0.9.3
  * Fix CMake option for choosing MSVC runtime library by @graebm in (#1054)
- from version 0.9.2
  * Added workflow for handling answerable discussions by @yasminetalby in (#1051)
  * Change SKIP code value to reduce the chance of clashing by @sfod in (#1055)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696420800">- Update to version 0.9.4
  * Authorize requests to GitHub API in Run CBMC proofs workflow by @adpaco-aws in (#1057)
  * Reflexive vs symmetric in hash_table.h doc by @jmklix in (#1056)
  * Add error codes for file read/write/open failures by @graebm in (#1061)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.9.10
  * Fixed directory creation to ignore umask, and allow cross process
    lock to fall back to read only if it can't open the file in rw mode
    by @JonathanHenson in (#1078)
- from version 0.9.9
  * Fix WSL Crash by @waahm7 in (#1076)
- from version 0.9.8
  * Adds high resolution clock timestamps to android logging in
    order to investigate scheduling/clock misbehavior
    by @bretambrose in (#1075)
- from version 0.9.7
  * Cross process lock fix for musl by @JonathanHenson in (#1073)
- from version 0.9.6
  * Add additional priority queue related APIs by @bretambrose in (#1067)
  * Switch default allocator to basic system one by @DmitriyMusatkin in (#1066)
- from version 0.9.5
  * Report actual bytes leaked/Fix realloc tracing by @DmitriyMusatkin in (#1053)
  * Support reading "special files" that lie about their size by @graebm in (#1064)
  * Add an environment loader API and implementation for some DMI related fields
    by @JonathanHenson in (#1063)
  * Update third party licenses file by @yasminetalby in (#1062)
  * Basic process mem usage functions by @DmitriyMusatkin in (#1065)
  * Fix loading of libnuma.so by @waahm7 in (#1068)
  * Comment fix by @alfred2g in (#1069)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.9.12
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#1079)
- from version 0.9.11
  * Add a query string helper from byte cursor directly by @TingDaoK in (#1080)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.9.13
  * cJSON update to 1.7.17 by @graebm in (#1081)
  * Add more generic AVX feature detection as well as flags for if
    avx512 intrinsics are available. by @JonathanHenson in (#1041)
  * chore: Relax stale issue timings by @kellertk in (#1085)
  * Use _Exit() on test failure, to avoid LeakSanitizer spam by @graebm in (#1088)
  * Fix a bunch of places we forget to aws_raise_error() by @graebm in (#1089)
  * Consistently use lowercase for Windows libraries
    and header files by @giordano in (#1058)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1710763200">- update to 0.9.14:
  * Accept all RFC3339-compliant timestamps</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.9.15
  * Claim range for aws-crt-kotlin by @aajtodd in (#1095)
  * Remove unused external headers by @TingDaoK in (#1097)
  * Best Effort Thread Pinning to CPU_ID by @waahm7 in (#1096)
  * Add support for WIN ARM64 by @alfred2g in (#1092)
  * Better vectorization and crc64. Cleaned up cmake and
    added better runtime cpu detection by @JonathanHenson in (#1083)
  * Avoid overallocating for strings by @DmitriyMusatkin in (#1099)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715169600">- Update to version 0.9.17
  * Fix invalid cpu_id for RHEL_5 by @waahm7 in (#1106)
- from version 0.9.16
  * Switch test harness to print errors in decimal by @DmitriyMusatkin in (#1100)
  * Add list membership API and uint64 hash utilities by @bretambrose in (#1103)
  * Clarity updates for uint64_t hash helper by @bretambrose in (#1104)
  * Move is ipv4/ipv6 functions from Aws-c-sdkutils to Aws-c-common by @waahm7 in (#1105)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715601600">- Update to version 0.9.19
  * Fix aws_host_utils_is_ipv6 function by @waahm7 in (#1114)
- from version 0.9.18
  * memtrace: Fix underflow when stack_depth &lt; FRAMES_TO_SKIP
    by @zhaofengli in (#873)
  * chore: Make CBMC stubs with zero parameters proper
    declarations by @tautschnig in (#1107)
  * Satisfy some signed vs unsigned comparison
    warnings by @KaibaLopez in (#809)
  * Remove promise class by @waahm7 in (#1110)
  * Fix host parsing for IPv6 URI by @waahm7 in (#1112)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717588800">- Update to version 0.9.20
  * Task scheduler: log at TRACE, instead of DEBUG by @graebm in (#1115)
  * Update CJson to v1.7.18 by @waahm7 in (#1116)
  * Avoid overflowing pointers passed to memcpy by @qinheping in (#874)
  * Fix test skipping by @graebm in (#1118)
  * Fix CMake Windows ARM typo by @graebm in (#1119)
  * Fix weird decimal formatting in tests by @graebm in (#1121)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718107200">- Update to version 0.9.21
  * Fix memtracer bad assumptions on the size of stack trace
    by @DmitriyMusatkin in (#1122)
  * Disable optimization was not working by @TingDaoK in (#1123)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1719316800">- Update to version 0.9.23
  * cbor support by @TingDaoK in (#1131)
- from version 0.9.22
  * clang-format 18 by @graebm in (#1113)
  * Use CBMC version 5.95.1 by @tautschnig in (#1124)
  * latest_submodules.py uses AWS-LC-FIPS releases in
    aws-crt-java by @graebm in (#1125)
  * Use CBMC 6.0.0 by @graebm in (#1128)
  * Fix default thread options for windows to not pin to
    any cpu_id by @waahm7 in (#1126)</changelog>
</package>
<package pkgid="1533acf75af4ed4b4cffaada9d9e3834524bd939c13918be25841a269e726b8c70fced7a2fa6f5f3519fbb5d2ed0ae94830edfcf809f82165348e12d36014046" name="aws-c-common-devel" arch="x86_64">
  <version epoch="0" ver="0.9.21" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1678363200">- Update to version 0.8.14
  * Fix C++ compiler warning by @graebm in (#989)
- from version 0.8.13
  * Add scripts/latest_submodules.py by @graebm in (#988)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1680004800">- Update to version 0.8.15
  * Replace old ARM images with raspbian-bullseye image by @knightjoel in (#990)
  * CI job for OpenBSD by @knightjoel in (#991)
  * Improved output from test harness by @graebm in (#995)
  * Remove unused system: aws_bus by @graebm in (#996)
  * Buffer ub by @DmitriyMusatkin in (#999)
  * Add CBMC proof for `aws_byte_buf_append_and_update` by @feliperodri in (#1000)
  * Fix comment in uri.h by @jamesbornholt in (#986)
  * CMake feature detection with gcc 7.3.1 misses backtrace by @jeking3 in (#1002)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1681819200">- Update to version 0.8.17
  * Add a way to skip a test by @xiazhvera in (#1012)
  * Add github templates and bots by @jmklix in (#1015)
- from version 0.8.16
  * Add function for writing N bytes of randomness by @graebm in (#1005)
  * Remove debugging printf by @graebm in (#1009)
  * Adds aws_normalize_directory_separator by @waahm7 in (#1010)
  * Fix cv signal outside of lock by @jeking3 in (#1008)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1683547200">- Update to version 0.8.19
  * Tolerate uninitialized list in array_list_clear by @waahm7 in (#1021)
- from version 0.8.18
  * Improved sanitizer support by @DmitriyMusatkin in (#1016)
  * Reduce spam when configuring multiple projects at once by @graebm in (#1018)
  * Update builder version to fix aws-lc build on manylinux1 by @TingDaoK in (#1017)
  * Tolerate unintialized list in aws_array_list_length by @waahm7 in (#1019)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1684238400">- Update to version 0.8.20
  * Pin CBMC version to 5.81.0 by @karkhaz in (#1022)
  * Fix race condition in promise.c by @evanmiller in (#1023)
  * Remove unimplemented prototype from ring_buffer.h by @evanmiller in (#1024)
  * Move CBMC back to latest by @tautschnig in (#1026)
  * Fix warnings in public headers by @graebm in (#998)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685534400">- Update to version 0.8.22
  * Let cursor equals assert print string on failure by @DmitriyMusatkin in (#1030)
  * Remove dangling symlink in CMBC proofs by @jamesbornholt in (#1031)
- from version 0.8.21
  * Update time to ancient by @jmklix in (#1029)
  * Merge header checker with cpp header checker by @waahm7 in (#1028)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685966400">- Update to version 0.8.23
  * Disable MSVC warning triggered by aws_future macros by @graebm in (#1033)
  * Update AwsTestHarness.cmake typo by @eherozhao in (#1034)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690286400">- Update to version 0.9.0
  * Use W4 for all MSVC by @TingDaoK in (#1035)
  * New API to wrap an initialized array with an array list by @bretambrose in (#1040)
  * AVX512 feature detection by @pbadari in (#1037)
  * Simplify error handling in XML API - BREAKING CHANGE by @graebm in (#1043)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1693396800">- Update to version 0.9.1
  * Pickup latest release from cJSON by @TingDaoK in (#1047)
  * Fix stale issue bot permissions by @jmklix in (#1049)
  * Intel Vtune tracing integration by @waahm7 in (#1050)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694001600">- Update to version 0.9.3
  * Fix CMake option for choosing MSVC runtime library by @graebm in (#1054)
- from version 0.9.2
  * Added workflow for handling answerable discussions by @yasminetalby in (#1051)
  * Change SKIP code value to reduce the chance of clashing by @sfod in (#1055)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696420800">- Update to version 0.9.4
  * Authorize requests to GitHub API in Run CBMC proofs workflow by @adpaco-aws in (#1057)
  * Reflexive vs symmetric in hash_table.h doc by @jmklix in (#1056)
  * Add error codes for file read/write/open failures by @graebm in (#1061)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.9.10
  * Fixed directory creation to ignore umask, and allow cross process
    lock to fall back to read only if it can't open the file in rw mode
    by @JonathanHenson in (#1078)
- from version 0.9.9
  * Fix WSL Crash by @waahm7 in (#1076)
- from version 0.9.8
  * Adds high resolution clock timestamps to android logging in
    order to investigate scheduling/clock misbehavior
    by @bretambrose in (#1075)
- from version 0.9.7
  * Cross process lock fix for musl by @JonathanHenson in (#1073)
- from version 0.9.6
  * Add additional priority queue related APIs by @bretambrose in (#1067)
  * Switch default allocator to basic system one by @DmitriyMusatkin in (#1066)
- from version 0.9.5
  * Report actual bytes leaked/Fix realloc tracing by @DmitriyMusatkin in (#1053)
  * Support reading "special files" that lie about their size by @graebm in (#1064)
  * Add an environment loader API and implementation for some DMI related fields
    by @JonathanHenson in (#1063)
  * Update third party licenses file by @yasminetalby in (#1062)
  * Basic process mem usage functions by @DmitriyMusatkin in (#1065)
  * Fix loading of libnuma.so by @waahm7 in (#1068)
  * Comment fix by @alfred2g in (#1069)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.9.12
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#1079)
- from version 0.9.11
  * Add a query string helper from byte cursor directly by @TingDaoK in (#1080)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.9.13
  * cJSON update to 1.7.17 by @graebm in (#1081)
  * Add more generic AVX feature detection as well as flags for if
    avx512 intrinsics are available. by @JonathanHenson in (#1041)
  * chore: Relax stale issue timings by @kellertk in (#1085)
  * Use _Exit() on test failure, to avoid LeakSanitizer spam by @graebm in (#1088)
  * Fix a bunch of places we forget to aws_raise_error() by @graebm in (#1089)
  * Consistently use lowercase for Windows libraries
    and header files by @giordano in (#1058)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1710763200">- update to 0.9.14:
  * Accept all RFC3339-compliant timestamps</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.9.15
  * Claim range for aws-crt-kotlin by @aajtodd in (#1095)
  * Remove unused external headers by @TingDaoK in (#1097)
  * Best Effort Thread Pinning to CPU_ID by @waahm7 in (#1096)
  * Add support for WIN ARM64 by @alfred2g in (#1092)
  * Better vectorization and crc64. Cleaned up cmake and
    added better runtime cpu detection by @JonathanHenson in (#1083)
  * Avoid overallocating for strings by @DmitriyMusatkin in (#1099)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715169600">- Update to version 0.9.17
  * Fix invalid cpu_id for RHEL_5 by @waahm7 in (#1106)
- from version 0.9.16
  * Switch test harness to print errors in decimal by @DmitriyMusatkin in (#1100)
  * Add list membership API and uint64 hash utilities by @bretambrose in (#1103)
  * Clarity updates for uint64_t hash helper by @bretambrose in (#1104)
  * Move is ipv4/ipv6 functions from Aws-c-sdkutils to Aws-c-common by @waahm7 in (#1105)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715601600">- Update to version 0.9.19
  * Fix aws_host_utils_is_ipv6 function by @waahm7 in (#1114)
- from version 0.9.18
  * memtrace: Fix underflow when stack_depth &lt; FRAMES_TO_SKIP
    by @zhaofengli in (#873)
  * chore: Make CBMC stubs with zero parameters proper
    declarations by @tautschnig in (#1107)
  * Satisfy some signed vs unsigned comparison
    warnings by @KaibaLopez in (#809)
  * Remove promise class by @waahm7 in (#1110)
  * Fix host parsing for IPv6 URI by @waahm7 in (#1112)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717588800">- Update to version 0.9.20
  * Task scheduler: log at TRACE, instead of DEBUG by @graebm in (#1115)
  * Update CJson to v1.7.18 by @waahm7 in (#1116)
  * Avoid overflowing pointers passed to memcpy by @qinheping in (#874)
  * Fix test skipping by @graebm in (#1118)
  * Fix CMake Windows ARM typo by @graebm in (#1119)
  * Fix weird decimal formatting in tests by @graebm in (#1121)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718107200">- Update to version 0.9.21
  * Fix memtracer bad assumptions on the size of stack trace
    by @DmitriyMusatkin in (#1122)
  * Disable optimization was not working by @TingDaoK in (#1123)</changelog>
</package>
<package pkgid="e4f94569c4c59d5249e10413367d4085c4f03ea2e935db5e93dde30f9ceb6eb00036110bc5e5c00b2ad0b9e6047a2f4e06b7b099b7b29692638ab2056ed6870c" name="aws-c-common-devel" arch="x86_64">
  <version epoch="0" ver="0.9.23" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1680004800">- Update to version 0.8.15
  * Replace old ARM images with raspbian-bullseye image by @knightjoel in (#990)
  * CI job for OpenBSD by @knightjoel in (#991)
  * Improved output from test harness by @graebm in (#995)
  * Remove unused system: aws_bus by @graebm in (#996)
  * Buffer ub by @DmitriyMusatkin in (#999)
  * Add CBMC proof for `aws_byte_buf_append_and_update` by @feliperodri in (#1000)
  * Fix comment in uri.h by @jamesbornholt in (#986)
  * CMake feature detection with gcc 7.3.1 misses backtrace by @jeking3 in (#1002)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1681819200">- Update to version 0.8.17
  * Add a way to skip a test by @xiazhvera in (#1012)
  * Add github templates and bots by @jmklix in (#1015)
- from version 0.8.16
  * Add function for writing N bytes of randomness by @graebm in (#1005)
  * Remove debugging printf by @graebm in (#1009)
  * Adds aws_normalize_directory_separator by @waahm7 in (#1010)
  * Fix cv signal outside of lock by @jeking3 in (#1008)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1683547200">- Update to version 0.8.19
  * Tolerate uninitialized list in array_list_clear by @waahm7 in (#1021)
- from version 0.8.18
  * Improved sanitizer support by @DmitriyMusatkin in (#1016)
  * Reduce spam when configuring multiple projects at once by @graebm in (#1018)
  * Update builder version to fix aws-lc build on manylinux1 by @TingDaoK in (#1017)
  * Tolerate unintialized list in aws_array_list_length by @waahm7 in (#1019)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1684238400">- Update to version 0.8.20
  * Pin CBMC version to 5.81.0 by @karkhaz in (#1022)
  * Fix race condition in promise.c by @evanmiller in (#1023)
  * Remove unimplemented prototype from ring_buffer.h by @evanmiller in (#1024)
  * Move CBMC back to latest by @tautschnig in (#1026)
  * Fix warnings in public headers by @graebm in (#998)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685534400">- Update to version 0.8.22
  * Let cursor equals assert print string on failure by @DmitriyMusatkin in (#1030)
  * Remove dangling symlink in CMBC proofs by @jamesbornholt in (#1031)
- from version 0.8.21
  * Update time to ancient by @jmklix in (#1029)
  * Merge header checker with cpp header checker by @waahm7 in (#1028)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1685966400">- Update to version 0.8.23
  * Disable MSVC warning triggered by aws_future macros by @graebm in (#1033)
  * Update AwsTestHarness.cmake typo by @eherozhao in (#1034)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690286400">- Update to version 0.9.0
  * Use W4 for all MSVC by @TingDaoK in (#1035)
  * New API to wrap an initialized array with an array list by @bretambrose in (#1040)
  * AVX512 feature detection by @pbadari in (#1037)
  * Simplify error handling in XML API - BREAKING CHANGE by @graebm in (#1043)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1693396800">- Update to version 0.9.1
  * Pickup latest release from cJSON by @TingDaoK in (#1047)
  * Fix stale issue bot permissions by @jmklix in (#1049)
  * Intel Vtune tracing integration by @waahm7 in (#1050)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694001600">- Update to version 0.9.3
  * Fix CMake option for choosing MSVC runtime library by @graebm in (#1054)
- from version 0.9.2
  * Added workflow for handling answerable discussions by @yasminetalby in (#1051)
  * Change SKIP code value to reduce the chance of clashing by @sfod in (#1055)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696420800">- Update to version 0.9.4
  * Authorize requests to GitHub API in Run CBMC proofs workflow by @adpaco-aws in (#1057)
  * Reflexive vs symmetric in hash_table.h doc by @jmklix in (#1056)
  * Add error codes for file read/write/open failures by @graebm in (#1061)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.9.10
  * Fixed directory creation to ignore umask, and allow cross process
    lock to fall back to read only if it can't open the file in rw mode
    by @JonathanHenson in (#1078)
- from version 0.9.9
  * Fix WSL Crash by @waahm7 in (#1076)
- from version 0.9.8
  * Adds high resolution clock timestamps to android logging in
    order to investigate scheduling/clock misbehavior
    by @bretambrose in (#1075)
- from version 0.9.7
  * Cross process lock fix for musl by @JonathanHenson in (#1073)
- from version 0.9.6
  * Add additional priority queue related APIs by @bretambrose in (#1067)
  * Switch default allocator to basic system one by @DmitriyMusatkin in (#1066)
- from version 0.9.5
  * Report actual bytes leaked/Fix realloc tracing by @DmitriyMusatkin in (#1053)
  * Support reading "special files" that lie about their size by @graebm in (#1064)
  * Add an environment loader API and implementation for some DMI related fields
    by @JonathanHenson in (#1063)
  * Update third party licenses file by @yasminetalby in (#1062)
  * Basic process mem usage functions by @DmitriyMusatkin in (#1065)
  * Fix loading of libnuma.so by @waahm7 in (#1068)
  * Comment fix by @alfred2g in (#1069)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.9.12
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#1079)
- from version 0.9.11
  * Add a query string helper from byte cursor directly by @TingDaoK in (#1080)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.9.13
  * cJSON update to 1.7.17 by @graebm in (#1081)
  * Add more generic AVX feature detection as well as flags for if
    avx512 intrinsics are available. by @JonathanHenson in (#1041)
  * chore: Relax stale issue timings by @kellertk in (#1085)
  * Use _Exit() on test failure, to avoid LeakSanitizer spam by @graebm in (#1088)
  * Fix a bunch of places we forget to aws_raise_error() by @graebm in (#1089)
  * Consistently use lowercase for Windows libraries
    and header files by @giordano in (#1058)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1710763200">- update to 0.9.14:
  * Accept all RFC3339-compliant timestamps</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.9.15
  * Claim range for aws-crt-kotlin by @aajtodd in (#1095)
  * Remove unused external headers by @TingDaoK in (#1097)
  * Best Effort Thread Pinning to CPU_ID by @waahm7 in (#1096)
  * Add support for WIN ARM64 by @alfred2g in (#1092)
  * Better vectorization and crc64. Cleaned up cmake and
    added better runtime cpu detection by @JonathanHenson in (#1083)
  * Avoid overallocating for strings by @DmitriyMusatkin in (#1099)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715169600">- Update to version 0.9.17
  * Fix invalid cpu_id for RHEL_5 by @waahm7 in (#1106)
- from version 0.9.16
  * Switch test harness to print errors in decimal by @DmitriyMusatkin in (#1100)
  * Add list membership API and uint64 hash utilities by @bretambrose in (#1103)
  * Clarity updates for uint64_t hash helper by @bretambrose in (#1104)
  * Move is ipv4/ipv6 functions from Aws-c-sdkutils to Aws-c-common by @waahm7 in (#1105)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1715601600">- Update to version 0.9.19
  * Fix aws_host_utils_is_ipv6 function by @waahm7 in (#1114)
- from version 0.9.18
  * memtrace: Fix underflow when stack_depth &lt; FRAMES_TO_SKIP
    by @zhaofengli in (#873)
  * chore: Make CBMC stubs with zero parameters proper
    declarations by @tautschnig in (#1107)
  * Satisfy some signed vs unsigned comparison
    warnings by @KaibaLopez in (#809)
  * Remove promise class by @waahm7 in (#1110)
  * Fix host parsing for IPv6 URI by @waahm7 in (#1112)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717588800">- Update to version 0.9.20
  * Task scheduler: log at TRACE, instead of DEBUG by @graebm in (#1115)
  * Update CJson to v1.7.18 by @waahm7 in (#1116)
  * Avoid overflowing pointers passed to memcpy by @qinheping in (#874)
  * Fix test skipping by @graebm in (#1118)
  * Fix CMake Windows ARM typo by @graebm in (#1119)
  * Fix weird decimal formatting in tests by @graebm in (#1121)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718107200">- Update to version 0.9.21
  * Fix memtracer bad assumptions on the size of stack trace
    by @DmitriyMusatkin in (#1122)
  * Disable optimization was not working by @TingDaoK in (#1123)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1719316800">- Update to version 0.9.23
  * cbor support by @TingDaoK in (#1131)
- from version 0.9.22
  * clang-format 18 by @graebm in (#1113)
  * Use CBMC version 5.95.1 by @tautschnig in (#1124)
  * latest_submodules.py uses AWS-LC-FIPS releases in
    aws-crt-java by @graebm in (#1125)
  * Use CBMC 6.0.0 by @graebm in (#1128)
  * Fix default thread options for windows to not pin to
    any cpu_id by @waahm7 in (#1126)</changelog>
</package>
<package pkgid="27c1380553e1c71dbfbe0076a8e34817eb0e89b771d1b5123bde06f8313f68a6aaa798f37277b80dcd53cc03ba0af997e5405b8a251e31d80f98fa34bc7e1288" name="aws-crt-cpp" arch="src">
  <version epoch="0" ver="0.26.12" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1689681600">- Update to version 0.20.6
  * Use ubuntu-22.04 in CI by @graebm in (#519)
- from version 0.20.5
  * Use Github actions/checkout@v3 by @graebm in (#516)
- from version 0.20.4
  * Use on_connection_* callbacks from aws-c-mqtt by @sfod in (#511)
  * Change S2N security policy for 0-RTT in TLS 1.3. by @graebm in (#514)
  * Fix warnings in headers by @waahm7 in (#500)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690891200">- Update to version 0.21.0
  * Update MQTT submodule to fix decoding/framing issue by @bretambrose in (#525)
- from version 0.20.6
  * Fix format specifier in canary by @xiazhvera in (#521)
  * Treat empty AWS environment variables as unset by @graebm in (#523)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692100800">- Update to version 0.22.0
  * Bind out the MQTT5 to MQTT3 adapter by @xiazhvera in (#528)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692705600">- Update to version 0.23.0
  * Fix permissions for stale issue bot by @jmklix (#530)
  * MQTT3 and MQTT5 fixes and updates by @bretambrose (#531)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694520000">- Update to version 0.23.1
  * Added workflow for handling answerable discussions
    by @yasminetalby in (#533)
  * Update mqtt submodule to provide on_connection_termination
    callback by @sfod in (#534)
  * Fix failing CI tests by @sfod in (#536)
  * Fix CMake option for choosing MSVC runtime
    library by @graebm in (#537)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696593600">- Update to version 0.24.2
  * Fix CMake error when BUILD_DEPS=OFF by @graebm in (#551)
- from version 0.24.1
  * Disable doxygen for private header API by @xiazhvera in (#549)
- from version 0.24.0
  * MQTT3 clean shutdown by @sfod in (#535)
  * Add CI job with sanitizers enabled by @sfod in (#522)
  * Enable PKCS11 tests by @sfod in (#544)
  * Add Mqtt5ClientBuilder method to set bootstrap by @gqmelo in (#542)
  * Fix typo on NegotiatedSettings (Avaliable-&gt;Available) by @gqmelo in (#543)
  * Adapter API Update by @xiazhvera in (#545)
  * AutoTag PR for v0.24 by @bretambrose in (#546)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1697544000">- Update to version 0.24.4
  * Update submodules to pick up fix for Sigv4A on MacOS 14+ by @TingDaoK in (#554)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.24.7
  * Latest Submodules by @waahm7 in (#565)
- from version 0.24.6
  * Fix WSL by @waahm7 in (#563)
- from version 0.24.5
  * Unit test for removing callback severance on 5-to-3
    adapter by @xiazhvera in (#553)
  * Generate files in build directory by @sfod in (#559)
  * Update submodules to pull aws-lc build fix by @sfod in (#560)
- Refresh patches for new version
  * acc_fix-cmake-modules-path.patch</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1701345600">- Update to version 0.24.9
  * Pick up fix for s3express create session hang by @TingDaoK in (#576)
- from version 0.24.8
  * MQTT5 Topic aliasing support by @bretambrose in (#567)
  * Bind missing negotiated setting fields by @bretambrose in (#569)
  * Fix MQTT5 canary memory leak by @sfod in (#570)
  * MQTT5 Canary Improvment by @xiazhvera in (#571)
  * Pick up submodules update for performance optimization
    updates by @TingDaoK in (#573)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1702468800">- Update to version 0.24.11
  * Version bump to pickup endpoint resolution partition
    changes by @DmitriyMusatkin in (#581)
- from version 0.24.10
  * MQTT5 canary fix by @xiazhvera in (#572)
  * MQTT5 GA API review by @xiazhvera in (#575)
  * Fix host resolve on a non-existent host by @SergeyRyabinin in (#578)
  * Add a method to report library version from ApiHandle by @SergeyRyabinin in (#579)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.26.0
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#583)
- from version 0.25.1
  * Custom auth polish by @bretambrose in (#584)
  * Test Shared Subscription by @alfred2g in (#587)
  * Fix overridden timeout values for mqtt5 operations by @sfod in (#588)
- from version 0.25.0
  * MQTT5 General Avalibility by @xiazhvera in (#585)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1705406400">- Update to version 0.26.1
  * Update aws-c-io to pull in channel setup callback
    safety update by @bretambrose in (#591)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.26.2
  * Temporary disable windows cert store test by @xiazhvera in (#595)
  * Update builder to fix CI (v0.9.56) by @xiazhvera in (#596)
  * Update version of s2n and c-cal by @sbiscigl in (#597)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1711627200">- Update to version 0.26.4
  * Basic version of variant type using C++11 by @SergeyRyabinin in (#599)
- from version 0.26.3
  * Add in-place constructor and emplace method
    to optional by @SergeyRyabinin in (#600)
  * Latest submodules by @sbSteveK in (#601)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.26.6
  * Disable jekyll on gh-pages by @sfod in (#608)
  * Bump cal by @DmitriyMusatkin in (#611)
- from version 0.26.5
  * CRT version bump by @DmitriyMusatkin in (#609)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1713182400">- Update to version 0.26.8
  * Bump s2n version to v1.4.11 to support ecdsa521p
    with TLS1.3 by @alfred2g in (#614)
- from version 0.26.7
  * Updated crypto bindings to include SHA1 and AES for
    use in C++ SDK by @JonathanHenson in (#470)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1716379200">- Update to version 0.26.9
  - Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  - Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  - Symmetric cipher state by @sbiscigl in (#619)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717502400">- Update to version 0.26.11
  * Latest submodules by @waahm7 in (#621)
- from version 0.26.10
  * Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  * Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  * Symmetric cipher state by @sbiscigl in (#619)
  * AutoTag PR for v0.26.9 by @bretambrose in (#620)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718280000">- Update to version 0.26.12.
  * Fix bug where last few bytes on socket go unread by @graebm in (#624)</changelog>
</package>
<package pkgid="4ecc7d1a012a79105003f14d1b6decdf52ba31de257de2b4d811ab4c7b20cb50e394f781689a6c98af1c79fffb2a9b4a87ee9ca3881aff018955a1dd9d915639" name="aws-crt-cpp-bin" arch="x86_64">
  <version epoch="0" ver="0.26.12" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1689681600">- Update to version 0.20.6
  * Use ubuntu-22.04 in CI by @graebm in (#519)
- from version 0.20.5
  * Use Github actions/checkout@v3 by @graebm in (#516)
- from version 0.20.4
  * Use on_connection_* callbacks from aws-c-mqtt by @sfod in (#511)
  * Change S2N security policy for 0-RTT in TLS 1.3. by @graebm in (#514)
  * Fix warnings in headers by @waahm7 in (#500)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690891200">- Update to version 0.21.0
  * Update MQTT submodule to fix decoding/framing issue by @bretambrose in (#525)
- from version 0.20.6
  * Fix format specifier in canary by @xiazhvera in (#521)
  * Treat empty AWS environment variables as unset by @graebm in (#523)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692100800">- Update to version 0.22.0
  * Bind out the MQTT5 to MQTT3 adapter by @xiazhvera in (#528)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692705600">- Update to version 0.23.0
  * Fix permissions for stale issue bot by @jmklix (#530)
  * MQTT3 and MQTT5 fixes and updates by @bretambrose (#531)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694520000">- Update to version 0.23.1
  * Added workflow for handling answerable discussions
    by @yasminetalby in (#533)
  * Update mqtt submodule to provide on_connection_termination
    callback by @sfod in (#534)
  * Fix failing CI tests by @sfod in (#536)
  * Fix CMake option for choosing MSVC runtime
    library by @graebm in (#537)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696593600">- Update to version 0.24.2
  * Fix CMake error when BUILD_DEPS=OFF by @graebm in (#551)
- from version 0.24.1
  * Disable doxygen for private header API by @xiazhvera in (#549)
- from version 0.24.0
  * MQTT3 clean shutdown by @sfod in (#535)
  * Add CI job with sanitizers enabled by @sfod in (#522)
  * Enable PKCS11 tests by @sfod in (#544)
  * Add Mqtt5ClientBuilder method to set bootstrap by @gqmelo in (#542)
  * Fix typo on NegotiatedSettings (Avaliable-&gt;Available) by @gqmelo in (#543)
  * Adapter API Update by @xiazhvera in (#545)
  * AutoTag PR for v0.24 by @bretambrose in (#546)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1697544000">- Update to version 0.24.4
  * Update submodules to pick up fix for Sigv4A on MacOS 14+ by @TingDaoK in (#554)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.24.7
  * Latest Submodules by @waahm7 in (#565)
- from version 0.24.6
  * Fix WSL by @waahm7 in (#563)
- from version 0.24.5
  * Unit test for removing callback severance on 5-to-3
    adapter by @xiazhvera in (#553)
  * Generate files in build directory by @sfod in (#559)
  * Update submodules to pull aws-lc build fix by @sfod in (#560)
- Refresh patches for new version
  * acc_fix-cmake-modules-path.patch</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1701345600">- Update to version 0.24.9
  * Pick up fix for s3express create session hang by @TingDaoK in (#576)
- from version 0.24.8
  * MQTT5 Topic aliasing support by @bretambrose in (#567)
  * Bind missing negotiated setting fields by @bretambrose in (#569)
  * Fix MQTT5 canary memory leak by @sfod in (#570)
  * MQTT5 Canary Improvment by @xiazhvera in (#571)
  * Pick up submodules update for performance optimization
    updates by @TingDaoK in (#573)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1702468800">- Update to version 0.24.11
  * Version bump to pickup endpoint resolution partition
    changes by @DmitriyMusatkin in (#581)
- from version 0.24.10
  * MQTT5 canary fix by @xiazhvera in (#572)
  * MQTT5 GA API review by @xiazhvera in (#575)
  * Fix host resolve on a non-existent host by @SergeyRyabinin in (#578)
  * Add a method to report library version from ApiHandle by @SergeyRyabinin in (#579)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.26.0
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#583)
- from version 0.25.1
  * Custom auth polish by @bretambrose in (#584)
  * Test Shared Subscription by @alfred2g in (#587)
  * Fix overridden timeout values for mqtt5 operations by @sfod in (#588)
- from version 0.25.0
  * MQTT5 General Avalibility by @xiazhvera in (#585)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1705406400">- Update to version 0.26.1
  * Update aws-c-io to pull in channel setup callback
    safety update by @bretambrose in (#591)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.26.2
  * Temporary disable windows cert store test by @xiazhvera in (#595)
  * Update builder to fix CI (v0.9.56) by @xiazhvera in (#596)
  * Update version of s2n and c-cal by @sbiscigl in (#597)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1711627200">- Update to version 0.26.4
  * Basic version of variant type using C++11 by @SergeyRyabinin in (#599)
- from version 0.26.3
  * Add in-place constructor and emplace method
    to optional by @SergeyRyabinin in (#600)
  * Latest submodules by @sbSteveK in (#601)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.26.6
  * Disable jekyll on gh-pages by @sfod in (#608)
  * Bump cal by @DmitriyMusatkin in (#611)
- from version 0.26.5
  * CRT version bump by @DmitriyMusatkin in (#609)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1713182400">- Update to version 0.26.8
  * Bump s2n version to v1.4.11 to support ecdsa521p
    with TLS1.3 by @alfred2g in (#614)
- from version 0.26.7
  * Updated crypto bindings to include SHA1 and AES for
    use in C++ SDK by @JonathanHenson in (#470)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1716379200">- Update to version 0.26.9
  - Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  - Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  - Symmetric cipher state by @sbiscigl in (#619)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717502400">- Update to version 0.26.11
  * Latest submodules by @waahm7 in (#621)
- from version 0.26.10
  * Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  * Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  * Symmetric cipher state by @sbiscigl in (#619)
  * AutoTag PR for v0.26.9 by @bretambrose in (#620)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718280000">- Update to version 0.26.12.
  * Fix bug where last few bytes on socket go unread by @graebm in (#624)</changelog>
</package>
<package pkgid="e27b31ea0ee9fc43672d88ba64f4cf1c26f3a02fdce292db14e67b9559091b8d655c606229af89b169346bf87535ab17d83d9e1f429a71a2f8d3105e3e67a045" name="aws-crt-cpp-bin-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.26.12" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1689681600">- Update to version 0.20.6
  * Use ubuntu-22.04 in CI by @graebm in (#519)
- from version 0.20.5
  * Use Github actions/checkout@v3 by @graebm in (#516)
- from version 0.20.4
  * Use on_connection_* callbacks from aws-c-mqtt by @sfod in (#511)
  * Change S2N security policy for 0-RTT in TLS 1.3. by @graebm in (#514)
  * Fix warnings in headers by @waahm7 in (#500)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690891200">- Update to version 0.21.0
  * Update MQTT submodule to fix decoding/framing issue by @bretambrose in (#525)
- from version 0.20.6
  * Fix format specifier in canary by @xiazhvera in (#521)
  * Treat empty AWS environment variables as unset by @graebm in (#523)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692100800">- Update to version 0.22.0
  * Bind out the MQTT5 to MQTT3 adapter by @xiazhvera in (#528)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692705600">- Update to version 0.23.0
  * Fix permissions for stale issue bot by @jmklix (#530)
  * MQTT3 and MQTT5 fixes and updates by @bretambrose (#531)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694520000">- Update to version 0.23.1
  * Added workflow for handling answerable discussions
    by @yasminetalby in (#533)
  * Update mqtt submodule to provide on_connection_termination
    callback by @sfod in (#534)
  * Fix failing CI tests by @sfod in (#536)
  * Fix CMake option for choosing MSVC runtime
    library by @graebm in (#537)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696593600">- Update to version 0.24.2
  * Fix CMake error when BUILD_DEPS=OFF by @graebm in (#551)
- from version 0.24.1
  * Disable doxygen for private header API by @xiazhvera in (#549)
- from version 0.24.0
  * MQTT3 clean shutdown by @sfod in (#535)
  * Add CI job with sanitizers enabled by @sfod in (#522)
  * Enable PKCS11 tests by @sfod in (#544)
  * Add Mqtt5ClientBuilder method to set bootstrap by @gqmelo in (#542)
  * Fix typo on NegotiatedSettings (Avaliable-&gt;Available) by @gqmelo in (#543)
  * Adapter API Update by @xiazhvera in (#545)
  * AutoTag PR for v0.24 by @bretambrose in (#546)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1697544000">- Update to version 0.24.4
  * Update submodules to pick up fix for Sigv4A on MacOS 14+ by @TingDaoK in (#554)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.24.7
  * Latest Submodules by @waahm7 in (#565)
- from version 0.24.6
  * Fix WSL by @waahm7 in (#563)
- from version 0.24.5
  * Unit test for removing callback severance on 5-to-3
    adapter by @xiazhvera in (#553)
  * Generate files in build directory by @sfod in (#559)
  * Update submodules to pull aws-lc build fix by @sfod in (#560)
- Refresh patches for new version
  * acc_fix-cmake-modules-path.patch</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1701345600">- Update to version 0.24.9
  * Pick up fix for s3express create session hang by @TingDaoK in (#576)
- from version 0.24.8
  * MQTT5 Topic aliasing support by @bretambrose in (#567)
  * Bind missing negotiated setting fields by @bretambrose in (#569)
  * Fix MQTT5 canary memory leak by @sfod in (#570)
  * MQTT5 Canary Improvment by @xiazhvera in (#571)
  * Pick up submodules update for performance optimization
    updates by @TingDaoK in (#573)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1702468800">- Update to version 0.24.11
  * Version bump to pickup endpoint resolution partition
    changes by @DmitriyMusatkin in (#581)
- from version 0.24.10
  * MQTT5 canary fix by @xiazhvera in (#572)
  * MQTT5 GA API review by @xiazhvera in (#575)
  * Fix host resolve on a non-existent host by @SergeyRyabinin in (#578)
  * Add a method to report library version from ApiHandle by @SergeyRyabinin in (#579)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.26.0
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#583)
- from version 0.25.1
  * Custom auth polish by @bretambrose in (#584)
  * Test Shared Subscription by @alfred2g in (#587)
  * Fix overridden timeout values for mqtt5 operations by @sfod in (#588)
- from version 0.25.0
  * MQTT5 General Avalibility by @xiazhvera in (#585)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1705406400">- Update to version 0.26.1
  * Update aws-c-io to pull in channel setup callback
    safety update by @bretambrose in (#591)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.26.2
  * Temporary disable windows cert store test by @xiazhvera in (#595)
  * Update builder to fix CI (v0.9.56) by @xiazhvera in (#596)
  * Update version of s2n and c-cal by @sbiscigl in (#597)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1711627200">- Update to version 0.26.4
  * Basic version of variant type using C++11 by @SergeyRyabinin in (#599)
- from version 0.26.3
  * Add in-place constructor and emplace method
    to optional by @SergeyRyabinin in (#600)
  * Latest submodules by @sbSteveK in (#601)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.26.6
  * Disable jekyll on gh-pages by @sfod in (#608)
  * Bump cal by @DmitriyMusatkin in (#611)
- from version 0.26.5
  * CRT version bump by @DmitriyMusatkin in (#609)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1713182400">- Update to version 0.26.8
  * Bump s2n version to v1.4.11 to support ecdsa521p
    with TLS1.3 by @alfred2g in (#614)
- from version 0.26.7
  * Updated crypto bindings to include SHA1 and AES for
    use in C++ SDK by @JonathanHenson in (#470)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1716379200">- Update to version 0.26.9
  - Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  - Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  - Symmetric cipher state by @sbiscigl in (#619)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717502400">- Update to version 0.26.11
  * Latest submodules by @waahm7 in (#621)
- from version 0.26.10
  * Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  * Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  * Symmetric cipher state by @sbiscigl in (#619)
  * AutoTag PR for v0.26.9 by @bretambrose in (#620)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718280000">- Update to version 0.26.12.
  * Fix bug where last few bytes on socket go unread by @graebm in (#624)</changelog>
</package>
<package pkgid="0f7ff72553f3d7f32d34c71f2a56a9c1c46413d424c033811051b71147732045ba0f6e47ccdfcac433bdc1b0fb3e271feac542f37bd01c71d9cecc31b849687e" name="aws-crt-cpp-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.26.12" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1689681600">- Update to version 0.20.6
  * Use ubuntu-22.04 in CI by @graebm in (#519)
- from version 0.20.5
  * Use Github actions/checkout@v3 by @graebm in (#516)
- from version 0.20.4
  * Use on_connection_* callbacks from aws-c-mqtt by @sfod in (#511)
  * Change S2N security policy for 0-RTT in TLS 1.3. by @graebm in (#514)
  * Fix warnings in headers by @waahm7 in (#500)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690891200">- Update to version 0.21.0
  * Update MQTT submodule to fix decoding/framing issue by @bretambrose in (#525)
- from version 0.20.6
  * Fix format specifier in canary by @xiazhvera in (#521)
  * Treat empty AWS environment variables as unset by @graebm in (#523)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692100800">- Update to version 0.22.0
  * Bind out the MQTT5 to MQTT3 adapter by @xiazhvera in (#528)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692705600">- Update to version 0.23.0
  * Fix permissions for stale issue bot by @jmklix (#530)
  * MQTT3 and MQTT5 fixes and updates by @bretambrose (#531)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694520000">- Update to version 0.23.1
  * Added workflow for handling answerable discussions
    by @yasminetalby in (#533)
  * Update mqtt submodule to provide on_connection_termination
    callback by @sfod in (#534)
  * Fix failing CI tests by @sfod in (#536)
  * Fix CMake option for choosing MSVC runtime
    library by @graebm in (#537)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696593600">- Update to version 0.24.2
  * Fix CMake error when BUILD_DEPS=OFF by @graebm in (#551)
- from version 0.24.1
  * Disable doxygen for private header API by @xiazhvera in (#549)
- from version 0.24.0
  * MQTT3 clean shutdown by @sfod in (#535)
  * Add CI job with sanitizers enabled by @sfod in (#522)
  * Enable PKCS11 tests by @sfod in (#544)
  * Add Mqtt5ClientBuilder method to set bootstrap by @gqmelo in (#542)
  * Fix typo on NegotiatedSettings (Avaliable-&gt;Available) by @gqmelo in (#543)
  * Adapter API Update by @xiazhvera in (#545)
  * AutoTag PR for v0.24 by @bretambrose in (#546)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1697544000">- Update to version 0.24.4
  * Update submodules to pick up fix for Sigv4A on MacOS 14+ by @TingDaoK in (#554)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.24.7
  * Latest Submodules by @waahm7 in (#565)
- from version 0.24.6
  * Fix WSL by @waahm7 in (#563)
- from version 0.24.5
  * Unit test for removing callback severance on 5-to-3
    adapter by @xiazhvera in (#553)
  * Generate files in build directory by @sfod in (#559)
  * Update submodules to pull aws-lc build fix by @sfod in (#560)
- Refresh patches for new version
  * acc_fix-cmake-modules-path.patch</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1701345600">- Update to version 0.24.9
  * Pick up fix for s3express create session hang by @TingDaoK in (#576)
- from version 0.24.8
  * MQTT5 Topic aliasing support by @bretambrose in (#567)
  * Bind missing negotiated setting fields by @bretambrose in (#569)
  * Fix MQTT5 canary memory leak by @sfod in (#570)
  * MQTT5 Canary Improvment by @xiazhvera in (#571)
  * Pick up submodules update for performance optimization
    updates by @TingDaoK in (#573)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1702468800">- Update to version 0.24.11
  * Version bump to pickup endpoint resolution partition
    changes by @DmitriyMusatkin in (#581)
- from version 0.24.10
  * MQTT5 canary fix by @xiazhvera in (#572)
  * MQTT5 GA API review by @xiazhvera in (#575)
  * Fix host resolve on a non-existent host by @SergeyRyabinin in (#578)
  * Add a method to report library version from ApiHandle by @SergeyRyabinin in (#579)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.26.0
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#583)
- from version 0.25.1
  * Custom auth polish by @bretambrose in (#584)
  * Test Shared Subscription by @alfred2g in (#587)
  * Fix overridden timeout values for mqtt5 operations by @sfod in (#588)
- from version 0.25.0
  * MQTT5 General Avalibility by @xiazhvera in (#585)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1705406400">- Update to version 0.26.1
  * Update aws-c-io to pull in channel setup callback
    safety update by @bretambrose in (#591)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.26.2
  * Temporary disable windows cert store test by @xiazhvera in (#595)
  * Update builder to fix CI (v0.9.56) by @xiazhvera in (#596)
  * Update version of s2n and c-cal by @sbiscigl in (#597)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1711627200">- Update to version 0.26.4
  * Basic version of variant type using C++11 by @SergeyRyabinin in (#599)
- from version 0.26.3
  * Add in-place constructor and emplace method
    to optional by @SergeyRyabinin in (#600)
  * Latest submodules by @sbSteveK in (#601)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.26.6
  * Disable jekyll on gh-pages by @sfod in (#608)
  * Bump cal by @DmitriyMusatkin in (#611)
- from version 0.26.5
  * CRT version bump by @DmitriyMusatkin in (#609)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1713182400">- Update to version 0.26.8
  * Bump s2n version to v1.4.11 to support ecdsa521p
    with TLS1.3 by @alfred2g in (#614)
- from version 0.26.7
  * Updated crypto bindings to include SHA1 and AES for
    use in C++ SDK by @JonathanHenson in (#470)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1716379200">- Update to version 0.26.9
  - Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  - Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  - Symmetric cipher state by @sbiscigl in (#619)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717502400">- Update to version 0.26.11
  * Latest submodules by @waahm7 in (#621)
- from version 0.26.10
  * Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  * Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  * Symmetric cipher state by @sbiscigl in (#619)
  * AutoTag PR for v0.26.9 by @bretambrose in (#620)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718280000">- Update to version 0.26.12.
  * Fix bug where last few bytes on socket go unread by @graebm in (#624)</changelog>
</package>
<package pkgid="ea6a3ba4571c8f10e8c5fba169983b89f4a555c7c247316d0d32c6cfeade05250c62a59b22627341f650d9fc3efa0412768d5c177ac7ac9e00faa945fca1b0f3" name="aws-crt-cpp-debugsource" arch="x86_64">
  <version epoch="0" ver="0.26.12" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1689681600">- Update to version 0.20.6
  * Use ubuntu-22.04 in CI by @graebm in (#519)
- from version 0.20.5
  * Use Github actions/checkout@v3 by @graebm in (#516)
- from version 0.20.4
  * Use on_connection_* callbacks from aws-c-mqtt by @sfod in (#511)
  * Change S2N security policy for 0-RTT in TLS 1.3. by @graebm in (#514)
  * Fix warnings in headers by @waahm7 in (#500)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690891200">- Update to version 0.21.0
  * Update MQTT submodule to fix decoding/framing issue by @bretambrose in (#525)
- from version 0.20.6
  * Fix format specifier in canary by @xiazhvera in (#521)
  * Treat empty AWS environment variables as unset by @graebm in (#523)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692100800">- Update to version 0.22.0
  * Bind out the MQTT5 to MQTT3 adapter by @xiazhvera in (#528)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692705600">- Update to version 0.23.0
  * Fix permissions for stale issue bot by @jmklix (#530)
  * MQTT3 and MQTT5 fixes and updates by @bretambrose (#531)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694520000">- Update to version 0.23.1
  * Added workflow for handling answerable discussions
    by @yasminetalby in (#533)
  * Update mqtt submodule to provide on_connection_termination
    callback by @sfod in (#534)
  * Fix failing CI tests by @sfod in (#536)
  * Fix CMake option for choosing MSVC runtime
    library by @graebm in (#537)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696593600">- Update to version 0.24.2
  * Fix CMake error when BUILD_DEPS=OFF by @graebm in (#551)
- from version 0.24.1
  * Disable doxygen for private header API by @xiazhvera in (#549)
- from version 0.24.0
  * MQTT3 clean shutdown by @sfod in (#535)
  * Add CI job with sanitizers enabled by @sfod in (#522)
  * Enable PKCS11 tests by @sfod in (#544)
  * Add Mqtt5ClientBuilder method to set bootstrap by @gqmelo in (#542)
  * Fix typo on NegotiatedSettings (Avaliable-&gt;Available) by @gqmelo in (#543)
  * Adapter API Update by @xiazhvera in (#545)
  * AutoTag PR for v0.24 by @bretambrose in (#546)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1697544000">- Update to version 0.24.4
  * Update submodules to pick up fix for Sigv4A on MacOS 14+ by @TingDaoK in (#554)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.24.7
  * Latest Submodules by @waahm7 in (#565)
- from version 0.24.6
  * Fix WSL by @waahm7 in (#563)
- from version 0.24.5
  * Unit test for removing callback severance on 5-to-3
    adapter by @xiazhvera in (#553)
  * Generate files in build directory by @sfod in (#559)
  * Update submodules to pull aws-lc build fix by @sfod in (#560)
- Refresh patches for new version
  * acc_fix-cmake-modules-path.patch</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1701345600">- Update to version 0.24.9
  * Pick up fix for s3express create session hang by @TingDaoK in (#576)
- from version 0.24.8
  * MQTT5 Topic aliasing support by @bretambrose in (#567)
  * Bind missing negotiated setting fields by @bretambrose in (#569)
  * Fix MQTT5 canary memory leak by @sfod in (#570)
  * MQTT5 Canary Improvment by @xiazhvera in (#571)
  * Pick up submodules update for performance optimization
    updates by @TingDaoK in (#573)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1702468800">- Update to version 0.24.11
  * Version bump to pickup endpoint resolution partition
    changes by @DmitriyMusatkin in (#581)
- from version 0.24.10
  * MQTT5 canary fix by @xiazhvera in (#572)
  * MQTT5 GA API review by @xiazhvera in (#575)
  * Fix host resolve on a non-existent host by @SergeyRyabinin in (#578)
  * Add a method to report library version from ApiHandle by @SergeyRyabinin in (#579)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.26.0
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#583)
- from version 0.25.1
  * Custom auth polish by @bretambrose in (#584)
  * Test Shared Subscription by @alfred2g in (#587)
  * Fix overridden timeout values for mqtt5 operations by @sfod in (#588)
- from version 0.25.0
  * MQTT5 General Avalibility by @xiazhvera in (#585)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1705406400">- Update to version 0.26.1
  * Update aws-c-io to pull in channel setup callback
    safety update by @bretambrose in (#591)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.26.2
  * Temporary disable windows cert store test by @xiazhvera in (#595)
  * Update builder to fix CI (v0.9.56) by @xiazhvera in (#596)
  * Update version of s2n and c-cal by @sbiscigl in (#597)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1711627200">- Update to version 0.26.4
  * Basic version of variant type using C++11 by @SergeyRyabinin in (#599)
- from version 0.26.3
  * Add in-place constructor and emplace method
    to optional by @SergeyRyabinin in (#600)
  * Latest submodules by @sbSteveK in (#601)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.26.6
  * Disable jekyll on gh-pages by @sfod in (#608)
  * Bump cal by @DmitriyMusatkin in (#611)
- from version 0.26.5
  * CRT version bump by @DmitriyMusatkin in (#609)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1713182400">- Update to version 0.26.8
  * Bump s2n version to v1.4.11 to support ecdsa521p
    with TLS1.3 by @alfred2g in (#614)
- from version 0.26.7
  * Updated crypto bindings to include SHA1 and AES for
    use in C++ SDK by @JonathanHenson in (#470)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1716379200">- Update to version 0.26.9
  - Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  - Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  - Symmetric cipher state by @sbiscigl in (#619)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717502400">- Update to version 0.26.11
  * Latest submodules by @waahm7 in (#621)
- from version 0.26.10
  * Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  * Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  * Symmetric cipher state by @sbiscigl in (#619)
  * AutoTag PR for v0.26.9 by @bretambrose in (#620)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718280000">- Update to version 0.26.12.
  * Fix bug where last few bytes on socket go unread by @graebm in (#624)</changelog>
</package>
<package pkgid="0b18df67ecbc03084c79b0eb26877ae4bba3ecf359061f42800d2317491768446820defa99ce0659050a6090e59a18ecdd935839ef2d16097a9cd8ab43a163a4" name="aws-crt-cpp-devel" arch="x86_64">
  <version epoch="0" ver="0.26.12" rel="1.1"/>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1689681600">- Update to version 0.20.6
  * Use ubuntu-22.04 in CI by @graebm in (#519)
- from version 0.20.5
  * Use Github actions/checkout@v3 by @graebm in (#516)
- from version 0.20.4
  * Use on_connection_* callbacks from aws-c-mqtt by @sfod in (#511)
  * Change S2N security policy for 0-RTT in TLS 1.3. by @graebm in (#514)
  * Fix warnings in headers by @waahm7 in (#500)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1690891200">- Update to version 0.21.0
  * Update MQTT submodule to fix decoding/framing issue by @bretambrose in (#525)
- from version 0.20.6
  * Fix format specifier in canary by @xiazhvera in (#521)
  * Treat empty AWS environment variables as unset by @graebm in (#523)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692100800">- Update to version 0.22.0
  * Bind out the MQTT5 to MQTT3 adapter by @xiazhvera in (#528)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1692705600">- Update to version 0.23.0
  * Fix permissions for stale issue bot by @jmklix (#530)
  * MQTT3 and MQTT5 fixes and updates by @bretambrose (#531)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1694520000">- Update to version 0.23.1
  * Added workflow for handling answerable discussions
    by @yasminetalby in (#533)
  * Update mqtt submodule to provide on_connection_termination
    callback by @sfod in (#534)
  * Fix failing CI tests by @sfod in (#536)
  * Fix CMake option for choosing MSVC runtime
    library by @graebm in (#537)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1696593600">- Update to version 0.24.2
  * Fix CMake error when BUILD_DEPS=OFF by @graebm in (#551)
- from version 0.24.1
  * Disable doxygen for private header API by @xiazhvera in (#549)
- from version 0.24.0
  * MQTT3 clean shutdown by @sfod in (#535)
  * Add CI job with sanitizers enabled by @sfod in (#522)
  * Enable PKCS11 tests by @sfod in (#544)
  * Add Mqtt5ClientBuilder method to set bootstrap by @gqmelo in (#542)
  * Fix typo on NegotiatedSettings (Avaliable-&gt;Available) by @gqmelo in (#543)
  * Adapter API Update by @xiazhvera in (#545)
  * AutoTag PR for v0.24 by @bretambrose in (#546)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1697544000">- Update to version 0.24.4
  * Update submodules to pick up fix for Sigv4A on MacOS 14+ by @TingDaoK in (#554)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1700568000">- Update to version 0.24.7
  * Latest Submodules by @waahm7 in (#565)
- from version 0.24.6
  * Fix WSL by @waahm7 in (#563)
- from version 0.24.5
  * Unit test for removing callback severance on 5-to-3
    adapter by @xiazhvera in (#553)
  * Generate files in build directory by @sfod in (#559)
  * Update submodules to pull aws-lc build fix by @sfod in (#560)
- Refresh patches for new version
  * acc_fix-cmake-modules-path.patch</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1701345600">- Update to version 0.24.9
  * Pick up fix for s3express create session hang by @TingDaoK in (#576)
- from version 0.24.8
  * MQTT5 Topic aliasing support by @bretambrose in (#567)
  * Bind missing negotiated setting fields by @bretambrose in (#569)
  * Fix MQTT5 canary memory leak by @sfod in (#570)
  * MQTT5 Canary Improvment by @xiazhvera in (#571)
  * Pick up submodules update for performance optimization
    updates by @TingDaoK in (#573)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1702468800">- Update to version 0.24.11
  * Version bump to pickup endpoint resolution partition
    changes by @DmitriyMusatkin in (#581)
- from version 0.24.10
  * MQTT5 canary fix by @xiazhvera in (#572)
  * MQTT5 GA API review by @xiazhvera in (#575)
  * Fix host resolve on a non-existent host by @SergeyRyabinin in (#578)
  * Add a method to report library version from ApiHandle by @SergeyRyabinin in (#579)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1704283200">- Update to version 0.26.0
  * Change `port` from uint16_t to uint32_t to support VSOCK by @graebm in (#583)
- from version 0.25.1
  * Custom auth polish by @bretambrose in (#584)
  * Test Shared Subscription by @alfred2g in (#587)
  * Fix overridden timeout values for mqtt5 operations by @sfod in (#588)
- from version 0.25.0
  * MQTT5 General Avalibility by @xiazhvera in (#585)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1705406400">- Update to version 0.26.1
  * Update aws-c-io to pull in channel setup callback
    safety update by @bretambrose in (#591)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1708344000">- Update to version 0.26.2
  * Temporary disable windows cert store test by @xiazhvera in (#595)
  * Update builder to fix CI (v0.9.56) by @xiazhvera in (#596)
  * Update version of s2n and c-cal by @sbiscigl in (#597)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1711627200">- Update to version 0.26.4
  * Basic version of variant type using C++11 by @SergeyRyabinin in (#599)
- from version 0.26.3
  * Add in-place constructor and emplace method
    to optional by @SergeyRyabinin in (#600)
  * Latest submodules by @sbSteveK in (#601)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1712232000">- Update to version 0.26.6
  * Disable jekyll on gh-pages by @sfod in (#608)
  * Bump cal by @DmitriyMusatkin in (#611)
- from version 0.26.5
  * CRT version bump by @DmitriyMusatkin in (#609)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1713182400">- Update to version 0.26.8
  * Bump s2n version to v1.4.11 to support ecdsa521p
    with TLS1.3 by @alfred2g in (#614)
- from version 0.26.7
  * Updated crypto bindings to include SHA1 and AES for
    use in C++ SDK by @JonathanHenson in (#470)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %autosetup macro: allows us to eliminate usage of deprecated
  %patchN syntax.</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1716379200">- Update to version 0.26.9
  - Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  - Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  - Symmetric cipher state by @sbiscigl in (#619)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1717502400">- Update to version 0.26.11
  * Latest submodules by @waahm7 in (#621)
- from version 0.26.10
  * Fix memory leak when UnsubscribePacket is reused by @sfod in (#617)
  * Fix order of arguments when calling aws_aes_gcm_256_new by @sbiscigl in (#618)
  * Symmetric cipher state by @sbiscigl in (#619)
  * AutoTag PR for v0.26.9 by @bretambrose in (#620)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1718280000">- Update to version 0.26.12.
  * Fix bug where last few bytes on socket go unread by @graebm in (#624)</changelog>
</package>
<package pkgid="645f48e261c8f39d4f5591e083e12ea16d681569cef3cc566ba8e73c8c273edca95dd5449e2eb3275c170799d6f07c9dc8a402118f7276bc088385d2f32978ad" name="axel" arch="src">
  <version epoch="0" ver="2.17.14" rel="1.1"/>
  <changelog author="bitshuffler #suse@irc.freenode.org" date="1246622400">- Initial RPM</changelog>
  <changelog author="pascal.bleser@opensuse.org" date="1286884800">- copied from home:bitshuffler to network:utilities
- revamped .spec file
- added patch to fix buffer overflow
- added patch to use getaddrinfo instead of gethostbyname</changelog>
  <changelog author="andreas.stieger@gmx.de" date="1324555200">- Update License to GPL-2.0+
- add axel-2.4-configure.patch to make configure script accept and
  ignore --disable-dependency-tracking</changelog>
  <changelog author="sebix+novell.com@sebix.at" date="1491998400">- run spec-cleaner
- add axel-fix-url-max-length.patch to accept longer URLs</changelog>
  <changelog author="aavindraa@gmail.com" date="1510401600">- update to 2.15 (see ChangeLog for release notes and all changes
  since 2.4)
- switch to new github url
- run spec-cleaner
- drop all patches
  * axel-fix_buffer_overflow.patch
    + upstreamed in 425dd156b76f2377a3e386324c282bdcdac90a40
  * axel-getaddrinfo.patch
    + upstreamed in cc1142b8de01e182cbaf4cc8a606c80696d8c0b8
  * axel-fix-url-max-length.patch
    + upstreamed in ce40ee76c25a84f386128927fcd0bab4e9751268
  * axel-2.4-configure.patch
    + unneeded</changelog>
  <changelog author="sebix+novell.com@sebix.at" date="1510401601">- added more documentation files and license to package</changelog>
  <changelog author="aavindraa@gmail.com" date="1511697600">- update to 2.16
  * Buildsystem fixes and improvements
  * Fixed bug that produces empty files with -q/--quiet
  * Fixed build with --disable-nls
  * Fixed formatting of the version/copyright message
  * Header files reorganization
  * Spanish translation
  * Style fixes
  * Updated Portuguese translation</changelog>
  <changelog author="sebix+novell.com@sebix.at" date="1520683200">- update to version 2.16.1:
  * no noteable changes</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1553169600">- fix broken URL</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1560081600">- update to version 2.17.3:
  - Builds now use canonical host triplet instead of `uname -s`
  - Fixed build on Darwin / Mac OS X
  - Fixed download loops caused by last byte pointer being off by one
  - Fixed linking issues (i18n and posix threads)
  - Updated build instructions
  - Code cleanup
  - Added autoconf-archive to building instructions
- update to version 2.17.2:
  - Fixed HTTP request-ranges to be zero-based
  - Fixed typo "too may" -&gt; "too many"
  - Replaced malloc + memset calls with calloc
  - Sanitize progress bar buffer len passed to memset
- update to version 2.17.1:
  - Fixed comparison error in axel_divide
  - Make sure maxconns is at least 1
- update to version 2.17:
  - Fixed composition of URLs in redirections
  - Fixed request range calculation
  - Updated all translations
  - Updated build documentation
  - Major code cleanup
  - Cleanup of alternate progress output
  - Removed global string buffers
  - Fixed min and max macros
  - Moved User-Agent header to conf-&gt;add_header
  - Use integers for speed ratio and delay calculation
  - Added support for parsing IPv6 literal hostname
  - Fixed filename extraction from URL
  - Fixed request-target message to proxy
  - Handle secure protocol's schema even with SSL disabled
  - Fixed Content-Disposition filename value decoding
  - Strip leading hyphens in extracted filenames</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1571918400">- update to version 2.17.6:
  - Fixed handling of non-recoverable HTTP errors
  - Cleanup of connection setup code
  - Fixed manpage reproducibility issue
  - Use tracker instead of PTS from Debian
- update to version 2.17.5:
  - Fixed progress indicator misalignment
  - Cleaned up the wget-like progress output code
  - Improved progress output flushing
- update to version 2.17.4:
  - Fixed build with bionic libc (Android)
  - TCP Fast Open support on Linux
  - TCP code cleanup
  - Removed dependency on libm
  - Data types and format strings cleanup
  - String handling cleanup
  - Format string checking GCC attributes added
  - Buildsystem fixes and improvements
  - Updates to the documentation
  - Updated all translations
  - Fixed Footnotes in documentation
  - Fixed a typo in README.md</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1585483200">- update to version 2.17.7:
  - Buildsystem fixes
  - Fixed release date for man-pages on BSD
  - Explicitly close TCP sockets on SSL connections too
  - Fixed HTTP basic auth header generation
  - Changed the default progress report to "alternate output mode"
  - Improved English in README.md</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1590926400">- update to 2.17.8:
  * CVE-2020-13614: SSL Certificate Hostnames were not verified
    (boo#1172159)
  * Replaced progressbar line clearing with terminal control sequence
  * Fixed parsing of Content-Disposition HTTP header
  * Fixed User-Agent HTTP header never being included</changelog>
  <changelog author="Matthias Eliasson &lt;elimat@opensuse.org&gt;" date="1598011200">- update to 2.17.9:
  * Fixed insecure mode certificate checking error.
  * Fixed progress bar for large number of connections.
  * Fixed some race conditions with conn_t.
  * Removed limitations on state file name length.
  * Removed limitations on HTTP query length.
  * Fixed a memory leak when deleting the download state file.
  * Added coding style aid and licensing rules to CONTRIBUTING.md.
  * Updated and improved README.md.
  * Cleanup of code &amp; build system.
  * Made the help flag report axel's version number.
  * Updated Chinese translation.
- run spec-cleaner
  * remove rpm groups</changelog>
  <changelog author="Avindra Goolcharan &lt;avindra@opensuse.org&gt;" date="1606046400">- update to 2.17.10:
  * Potential NULL pointer dereference
  * Fixed incrementig procedure for delay_time
  * Fixed speed limiting
  * Made stop signal handler portable
  * Build system improvements
  - Now you can specify where OpenSSL is installed
  - Further improved code portability
  * Optimized wildcard search in URLs
  * Added human-readable file size report at the begining of downloads
  * Reworked Request Range support check
  * Added "Accept-Encoding" header to requests
  * Updated the documentation
  * Fixed data type for sizes and offsets on 32-bit systems
  * Fixed duplicated non-default port when using proxy
  * Fixed request range comparison and overflow
  * i8n fixes and updates for Simplified Chinese, Dutch, German,
    Italian, Portuguese, Spanish. Also updates for Indonesian,
    Japanese, Russian.
- CREDITS and AUTHORS files removed from upstream</changelog>
  <changelog author="Antoine Belvire &lt;antoine.belvire@opensuse.org&gt;" date="1642507200">- Update to 2.17.11:
  * Fixed a deadlock in conn_info
  * Fixed build on FreeBSD (workaround for hidden typedefs)
  * Added SPDX license information
  * Improved reporting of HTTP status codes
  * Source-code simplifications
  * Buildsystem improvements
    + Check intmax_t &gt;= int64_t on Mac OS X
    + Improved output when pkg-config is unavailable
  * Implemented percentage output mode for piping
  * Fixed typos
  * Added Turkish Translation</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1710763200">- update to 2.17.13:
  * abuf: Fix realloc usage
  * configure: Fix handling of --with-ssl
  * random: Initialize fd at startup
  * Fixed a wrong translation for Turkish
  * Implemented early redirect loop detection
  * Added LGTM.com support
  * Buildsystem improvements
  * Added wolfSSL support
  * Fixed potential int overflow
  * Simplified configuration support code
  * Early redirect loop detection improvements
  * Fixed speed-limiting sleep delay overflow
  * Removed HTTP encoding of URLs on the CLI, should be pre-
    encoded</changelog>
  <changelog author="jun wang &lt;jgwang@suse.com&gt;" date="1719748800">- Update to version 2.17.14
  * Remove inclusion of &lt;stdatomic.h&gt;
  * configure: Fix handling of --with-ssl=yes
  * conn: Fix potential buffer overrun
  * http: Fix filename parsing from Content-Disposition
  * configure: Force C89-compliant return type of signal handlers
  * configure: Update to autoconf 2.72</changelog>
</package>
<package pkgid="2a59c801d7f24b163bc535888f21dbe3aedd4ee9213196f2481d0b310e5f90750d2668d689fdda97702e3434a37d2ccba1718c8345f4b650767d0de5f734ca0e" name="axel" arch="x86_64">
  <version epoch="0" ver="2.17.14" rel="1.1"/>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1553169600">- fix broken URL</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1560081600">- update to version 2.17.3:
  - Builds now use canonical host triplet instead of `uname -s`
  - Fixed build on Darwin / Mac OS X
  - Fixed download loops caused by last byte pointer being off by one
  - Fixed linking issues (i18n and posix threads)
  - Updated build instructions
  - Code cleanup
  - Added autoconf-archive to building instructions
- update to version 2.17.2:
  - Fixed HTTP request-ranges to be zero-based
  - Fixed typo "too may" -&gt; "too many"
  - Replaced malloc + memset calls with calloc
  - Sanitize progress bar buffer len passed to memset
- update to version 2.17.1:
  - Fixed comparison error in axel_divide
  - Make sure maxconns is at least 1
- update to version 2.17:
  - Fixed composition of URLs in redirections
  - Fixed request range calculation
  - Updated all translations
  - Updated build documentation
  - Major code cleanup
  - Cleanup of alternate progress output
  - Removed global string buffers
  - Fixed min and max macros
  - Moved User-Agent header to conf-&gt;add_header
  - Use integers for speed ratio and delay calculation
  - Added support for parsing IPv6 literal hostname
  - Fixed filename extraction from URL
  - Fixed request-target message to proxy
  - Handle secure protocol's schema even with SSL disabled
  - Fixed Content-Disposition filename value decoding
  - Strip leading hyphens in extracted filenames</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1571918400">- update to version 2.17.6:
  - Fixed handling of non-recoverable HTTP errors
  - Cleanup of connection setup code
  - Fixed manpage reproducibility issue
  - Use tracker instead of PTS from Debian
- update to version 2.17.5:
  - Fixed progress indicator misalignment
  - Cleaned up the wget-like progress output code
  - Improved progress output flushing
- update to version 2.17.4:
  - Fixed build with bionic libc (Android)
  - TCP Fast Open support on Linux
  - TCP code cleanup
  - Removed dependency on libm
  - Data types and format strings cleanup
  - String handling cleanup
  - Format string checking GCC attributes added
  - Buildsystem fixes and improvements
  - Updates to the documentation
  - Updated all translations
  - Fixed Footnotes in documentation
  - Fixed a typo in README.md</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1585483200">- update to version 2.17.7:
  - Buildsystem fixes
  - Fixed release date for man-pages on BSD
  - Explicitly close TCP sockets on SSL connections too
  - Fixed HTTP basic auth header generation
  - Changed the default progress report to "alternate output mode"
  - Improved English in README.md</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1590926400">- update to 2.17.8:
  * CVE-2020-13614: SSL Certificate Hostnames were not verified
    (boo#1172159)
  * Replaced progressbar line clearing with terminal control sequence
  * Fixed parsing of Content-Disposition HTTP header
  * Fixed User-Agent HTTP header never being included</changelog>
  <changelog author="Matthias Eliasson &lt;elimat@opensuse.org&gt;" date="1598011200">- update to 2.17.9:
  * Fixed insecure mode certificate checking error.
  * Fixed progress bar for large number of connections.
  * Fixed some race conditions with conn_t.
  * Removed limitations on state file name length.
  * Removed limitations on HTTP query length.
  * Fixed a memory leak when deleting the download state file.
  * Added coding style aid and licensing rules to CONTRIBUTING.md.
  * Updated and improved README.md.
  * Cleanup of code &amp; build system.
  * Made the help flag report axel's version number.
  * Updated Chinese translation.
- run spec-cleaner
  * remove rpm groups</changelog>
  <changelog author="Avindra Goolcharan &lt;avindra@opensuse.org&gt;" date="1606046400">- update to 2.17.10:
  * Potential NULL pointer dereference
  * Fixed incrementig procedure for delay_time
  * Fixed speed limiting
  * Made stop signal handler portable
  * Build system improvements
  - Now you can specify where OpenSSL is installed
  - Further improved code portability
  * Optimized wildcard search in URLs
  * Added human-readable file size report at the begining of downloads
  * Reworked Request Range support check
  * Added "Accept-Encoding" header to requests
  * Updated the documentation
  * Fixed data type for sizes and offsets on 32-bit systems
  * Fixed duplicated non-default port when using proxy
  * Fixed request range comparison and overflow
  * i8n fixes and updates for Simplified Chinese, Dutch, German,
    Italian, Portuguese, Spanish. Also updates for Indonesian,
    Japanese, Russian.
- CREDITS and AUTHORS files removed from upstream</changelog>
  <changelog author="Antoine Belvire &lt;antoine.belvire@opensuse.org&gt;" date="1642507200">- Update to 2.17.11:
  * Fixed a deadlock in conn_info
  * Fixed build on FreeBSD (workaround for hidden typedefs)
  * Added SPDX license information
  * Improved reporting of HTTP status codes
  * Source-code simplifications
  * Buildsystem improvements
    + Check intmax_t &gt;= int64_t on Mac OS X
    + Improved output when pkg-config is unavailable
  * Implemented percentage output mode for piping
  * Fixed typos
  * Added Turkish Translation</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1710763200">- update to 2.17.13:
  * abuf: Fix realloc usage
  * configure: Fix handling of --with-ssl
  * random: Initialize fd at startup
  * Fixed a wrong translation for Turkish
  * Implemented early redirect loop detection
  * Added LGTM.com support
  * Buildsystem improvements
  * Added wolfSSL support
  * Fixed potential int overflow
  * Simplified configuration support code
  * Early redirect loop detection improvements
  * Fixed speed-limiting sleep delay overflow
  * Removed HTTP encoding of URLs on the CLI, should be pre-
    encoded</changelog>
  <changelog author="jun wang &lt;jgwang@suse.com&gt;" date="1719748800">- Update to version 2.17.14
  * Remove inclusion of &lt;stdatomic.h&gt;
  * configure: Fix handling of --with-ssl=yes
  * conn: Fix potential buffer overrun
  * http: Fix filename parsing from Content-Disposition
  * configure: Force C89-compliant return type of signal handlers
  * configure: Update to autoconf 2.72</changelog>
</package>
<package pkgid="1c7a725dac15df533142050e5d307a09abafa36e59c12fb5bec439dfaf9daf9b5b74ed9ff658314c8c05c50763572e28ab4f2ace8a3a45f683fd036800321031" name="axel-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.17.14" rel="1.1"/>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1553169600">- fix broken URL</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1560081600">- update to version 2.17.3:
  - Builds now use canonical host triplet instead of `uname -s`
  - Fixed build on Darwin / Mac OS X
  - Fixed download loops caused by last byte pointer being off by one
  - Fixed linking issues (i18n and posix threads)
  - Updated build instructions
  - Code cleanup
  - Added autoconf-archive to building instructions
- update to version 2.17.2:
  - Fixed HTTP request-ranges to be zero-based
  - Fixed typo "too may" -&gt; "too many"
  - Replaced malloc + memset calls with calloc
  - Sanitize progress bar buffer len passed to memset
- update to version 2.17.1:
  - Fixed comparison error in axel_divide
  - Make sure maxconns is at least 1
- update to version 2.17:
  - Fixed composition of URLs in redirections
  - Fixed request range calculation
  - Updated all translations
  - Updated build documentation
  - Major code cleanup
  - Cleanup of alternate progress output
  - Removed global string buffers
  - Fixed min and max macros
  - Moved User-Agent header to conf-&gt;add_header
  - Use integers for speed ratio and delay calculation
  - Added support for parsing IPv6 literal hostname
  - Fixed filename extraction from URL
  - Fixed request-target message to proxy
  - Handle secure protocol's schema even with SSL disabled
  - Fixed Content-Disposition filename value decoding
  - Strip leading hyphens in extracted filenames</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1571918400">- update to version 2.17.6:
  - Fixed handling of non-recoverable HTTP errors
  - Cleanup of connection setup code
  - Fixed manpage reproducibility issue
  - Use tracker instead of PTS from Debian
- update to version 2.17.5:
  - Fixed progress indicator misalignment
  - Cleaned up the wget-like progress output code
  - Improved progress output flushing
- update to version 2.17.4:
  - Fixed build with bionic libc (Android)
  - TCP Fast Open support on Linux
  - TCP code cleanup
  - Removed dependency on libm
  - Data types and format strings cleanup
  - String handling cleanup
  - Format string checking GCC attributes added
  - Buildsystem fixes and improvements
  - Updates to the documentation
  - Updated all translations
  - Fixed Footnotes in documentation
  - Fixed a typo in README.md</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1585483200">- update to version 2.17.7:
  - Buildsystem fixes
  - Fixed release date for man-pages on BSD
  - Explicitly close TCP sockets on SSL connections too
  - Fixed HTTP basic auth header generation
  - Changed the default progress report to "alternate output mode"
  - Improved English in README.md</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1590926400">- update to 2.17.8:
  * CVE-2020-13614: SSL Certificate Hostnames were not verified
    (boo#1172159)
  * Replaced progressbar line clearing with terminal control sequence
  * Fixed parsing of Content-Disposition HTTP header
  * Fixed User-Agent HTTP header never being included</changelog>
  <changelog author="Matthias Eliasson &lt;elimat@opensuse.org&gt;" date="1598011200">- update to 2.17.9:
  * Fixed insecure mode certificate checking error.
  * Fixed progress bar for large number of connections.
  * Fixed some race conditions with conn_t.
  * Removed limitations on state file name length.
  * Removed limitations on HTTP query length.
  * Fixed a memory leak when deleting the download state file.
  * Added coding style aid and licensing rules to CONTRIBUTING.md.
  * Updated and improved README.md.
  * Cleanup of code &amp; build system.
  * Made the help flag report axel's version number.
  * Updated Chinese translation.
- run spec-cleaner
  * remove rpm groups</changelog>
  <changelog author="Avindra Goolcharan &lt;avindra@opensuse.org&gt;" date="1606046400">- update to 2.17.10:
  * Potential NULL pointer dereference
  * Fixed incrementig procedure for delay_time
  * Fixed speed limiting
  * Made stop signal handler portable
  * Build system improvements
  - Now you can specify where OpenSSL is installed
  - Further improved code portability
  * Optimized wildcard search in URLs
  * Added human-readable file size report at the begining of downloads
  * Reworked Request Range support check
  * Added "Accept-Encoding" header to requests
  * Updated the documentation
  * Fixed data type for sizes and offsets on 32-bit systems
  * Fixed duplicated non-default port when using proxy
  * Fixed request range comparison and overflow
  * i8n fixes and updates for Simplified Chinese, Dutch, German,
    Italian, Portuguese, Spanish. Also updates for Indonesian,
    Japanese, Russian.
- CREDITS and AUTHORS files removed from upstream</changelog>
  <changelog author="Antoine Belvire &lt;antoine.belvire@opensuse.org&gt;" date="1642507200">- Update to 2.17.11:
  * Fixed a deadlock in conn_info
  * Fixed build on FreeBSD (workaround for hidden typedefs)
  * Added SPDX license information
  * Improved reporting of HTTP status codes
  * Source-code simplifications
  * Buildsystem improvements
    + Check intmax_t &gt;= int64_t on Mac OS X
    + Improved output when pkg-config is unavailable
  * Implemented percentage output mode for piping
  * Fixed typos
  * Added Turkish Translation</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1710763200">- update to 2.17.13:
  * abuf: Fix realloc usage
  * configure: Fix handling of --with-ssl
  * random: Initialize fd at startup
  * Fixed a wrong translation for Turkish
  * Implemented early redirect loop detection
  * Added LGTM.com support
  * Buildsystem improvements
  * Added wolfSSL support
  * Fixed potential int overflow
  * Simplified configuration support code
  * Early redirect loop detection improvements
  * Fixed speed-limiting sleep delay overflow
  * Removed HTTP encoding of URLs on the CLI, should be pre-
    encoded</changelog>
  <changelog author="jun wang &lt;jgwang@suse.com&gt;" date="1719748800">- Update to version 2.17.14
  * Remove inclusion of &lt;stdatomic.h&gt;
  * configure: Fix handling of --with-ssl=yes
  * conn: Fix potential buffer overrun
  * http: Fix filename parsing from Content-Disposition
  * configure: Force C89-compliant return type of signal handlers
  * configure: Update to autoconf 2.72</changelog>
</package>
<package pkgid="38f242290a0ef828658e98d992b458fb307bf6a8b073753b767c7562fc9ed63558553b3ccdcfc03ca3a813083110acdb190c96a55de728123f5ddbe2e0c02529" name="axel-debugsource" arch="x86_64">
  <version epoch="0" ver="2.17.14" rel="1.1"/>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1553169600">- fix broken URL</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1560081600">- update to version 2.17.3:
  - Builds now use canonical host triplet instead of `uname -s`
  - Fixed build on Darwin / Mac OS X
  - Fixed download loops caused by last byte pointer being off by one
  - Fixed linking issues (i18n and posix threads)
  - Updated build instructions
  - Code cleanup
  - Added autoconf-archive to building instructions
- update to version 2.17.2:
  - Fixed HTTP request-ranges to be zero-based
  - Fixed typo "too may" -&gt; "too many"
  - Replaced malloc + memset calls with calloc
  - Sanitize progress bar buffer len passed to memset
- update to version 2.17.1:
  - Fixed comparison error in axel_divide
  - Make sure maxconns is at least 1
- update to version 2.17:
  - Fixed composition of URLs in redirections
  - Fixed request range calculation
  - Updated all translations
  - Updated build documentation
  - Major code cleanup
  - Cleanup of alternate progress output
  - Removed global string buffers
  - Fixed min and max macros
  - Moved User-Agent header to conf-&gt;add_header
  - Use integers for speed ratio and delay calculation
  - Added support for parsing IPv6 literal hostname
  - Fixed filename extraction from URL
  - Fixed request-target message to proxy
  - Handle secure protocol's schema even with SSL disabled
  - Fixed Content-Disposition filename value decoding
  - Strip leading hyphens in extracted filenames</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1571918400">- update to version 2.17.6:
  - Fixed handling of non-recoverable HTTP errors
  - Cleanup of connection setup code
  - Fixed manpage reproducibility issue
  - Use tracker instead of PTS from Debian
- update to version 2.17.5:
  - Fixed progress indicator misalignment
  - Cleaned up the wget-like progress output code
  - Improved progress output flushing
- update to version 2.17.4:
  - Fixed build with bionic libc (Android)
  - TCP Fast Open support on Linux
  - TCP code cleanup
  - Removed dependency on libm
  - Data types and format strings cleanup
  - String handling cleanup
  - Format string checking GCC attributes added
  - Buildsystem fixes and improvements
  - Updates to the documentation
  - Updated all translations
  - Fixed Footnotes in documentation
  - Fixed a typo in README.md</changelog>
  <changelog author="Sebastian Wagner &lt;sebix+novell.com@sebix.at&gt;" date="1585483200">- update to version 2.17.7:
  - Buildsystem fixes
  - Fixed release date for man-pages on BSD
  - Explicitly close TCP sockets on SSL connections too
  - Fixed HTTP basic auth header generation
  - Changed the default progress report to "alternate output mode"
  - Improved English in README.md</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1590926400">- update to 2.17.8:
  * CVE-2020-13614: SSL Certificate Hostnames were not verified
    (boo#1172159)
  * Replaced progressbar line clearing with terminal control sequence
  * Fixed parsing of Content-Disposition HTTP header
  * Fixed User-Agent HTTP header never being included</changelog>
  <changelog author="Matthias Eliasson &lt;elimat@opensuse.org&gt;" date="1598011200">- update to 2.17.9:
  * Fixed insecure mode certificate checking error.
  * Fixed progress bar for large number of connections.
  * Fixed some race conditions with conn_t.
  * Removed limitations on state file name length.
  * Removed limitations on HTTP query length.
  * Fixed a memory leak when deleting the download state file.
  * Added coding style aid and licensing rules to CONTRIBUTING.md.
  * Updated and improved README.md.
  * Cleanup of code &amp; build system.
  * Made the help flag report axel's version number.
  * Updated Chinese translation.
- run spec-cleaner
  * remove rpm groups</changelog>
  <changelog author="Avindra Goolcharan &lt;avindra@opensuse.org&gt;" date="1606046400">- update to 2.17.10:
  * Potential NULL pointer dereference
  * Fixed incrementig procedure for delay_time
  * Fixed speed limiting
  * Made stop signal handler portable
  * Build system improvements
  - Now you can specify where OpenSSL is installed
  - Further improved code portability
  * Optimized wildcard search in URLs
  * Added human-readable file size report at the begining of downloads
  * Reworked Request Range support check
  * Added "Accept-Encoding" header to requests
  * Updated the documentation
  * Fixed data type for sizes and offsets on 32-bit systems
  * Fixed duplicated non-default port when using proxy
  * Fixed request range comparison and overflow
  * i8n fixes and updates for Simplified Chinese, Dutch, German,
    Italian, Portuguese, Spanish. Also updates for Indonesian,
    Japanese, Russian.
- CREDITS and AUTHORS files removed from upstream</changelog>
  <changelog author="Antoine Belvire &lt;antoine.belvire@opensuse.org&gt;" date="1642507200">- Update to 2.17.11:
  * Fixed a deadlock in conn_info
  * Fixed build on FreeBSD (workaround for hidden typedefs)
  * Added SPDX license information
  * Improved reporting of HTTP status codes
  * Source-code simplifications
  * Buildsystem improvements
    + Check intmax_t &gt;= int64_t on Mac OS X
    + Improved output when pkg-config is unavailable
  * Implemented percentage output mode for piping
  * Fixed typos
  * Added Turkish Translation</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1710763200">- update to 2.17.13:
  * abuf: Fix realloc usage
  * configure: Fix handling of --with-ssl
  * random: Initialize fd at startup
  * Fixed a wrong translation for Turkish
  * Implemented early redirect loop detection
  * Added LGTM.com support
  * Buildsystem improvements
  * Added wolfSSL support
  * Fixed potential int overflow
  * Simplified configuration support code
  * Early redirect loop detection improvements
  * Fixed speed-limiting sleep delay overflow
  * Removed HTTP encoding of URLs on the CLI, should be pre-
    encoded</changelog>
  <changelog author="jun wang &lt;jgwang@suse.com&gt;" date="1719748800">- Update to version 2.17.14
  * Remove inclusion of &lt;stdatomic.h&gt;
  * configure: Fix handling of --with-ssl=yes
  * conn: Fix potential buffer overrun
  * http: Fix filename parsing from Content-Disposition
  * configure: Force C89-compliant return type of signal handlers
  * configure: Update to autoconf 2.72</changelog>
</package>
<package pkgid="9cbd5339235a9299f7352a9d3469ff39239b646cfce8e1706d37a70e6c4ad1a9f5a7bf680936e60851c167c11784523fcde21c72ec01379a0dd9403d19c409b1" name="baloo-widgets" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693742400">- Init baloo-widgets</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Fabian Vogt &lt;fabian@ritter-vogt.de&gt;" date="1709640000">- Obsolete baloo5-widgets + -lang</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * FileMetaDataProvider: Use QSize for `dimensions`
  * KEditTagsDialog: refactor using QStandardItemModel/QTreeView instead of QTreeWidget</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Fix FileMetadataItemCountTest::testItemCount</changelog>
</package>
<package pkgid="600bce8968d6f6dca10355da5d02087b3ce6c48a24bb00f58843e41b5af5d9db97068b7d0ea05bf180a1c42c7fba2e8db3b2dcdb31d6d8b0ce1190e5e7e2bf4f" name="baloo-widgets" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693742400">- Init baloo-widgets</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Fabian Vogt &lt;fabian@ritter-vogt.de&gt;" date="1709640000">- Obsolete baloo5-widgets + -lang</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * FileMetaDataProvider: Use QSize for `dimensions`
  * KEditTagsDialog: refactor using QStandardItemModel/QTreeView instead of QTreeWidget</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Fix FileMetadataItemCountTest::testItemCount</changelog>
</package>
<package pkgid="799b45ac6689a96e676179e7db0049ec83fcc322555bf0ebb3e40f5da171b27be898d1c7eb59d1ff6eedd83c7efe59b88898f0b75c594841de4ca03d3b092bcb" name="baloo-widgets-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693742400">- Init baloo-widgets</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Fabian Vogt &lt;fabian@ritter-vogt.de&gt;" date="1709640000">- Obsolete baloo5-widgets + -lang</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * FileMetaDataProvider: Use QSize for `dimensions`
  * KEditTagsDialog: refactor using QStandardItemModel/QTreeView instead of QTreeWidget</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Fix FileMetadataItemCountTest::testItemCount</changelog>
</package>
<package pkgid="4436fbeba77a694c97403f8db5844af23fed8bbcb7b6afd2821b714d6fe3b00cc0757927fb440375cb27e118f90aa8be1f714d259fcfac18e3974800fe5ca9f3" name="baloo-widgets-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693742400">- Init baloo-widgets</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Fabian Vogt &lt;fabian@ritter-vogt.de&gt;" date="1709640000">- Obsolete baloo5-widgets + -lang</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * FileMetaDataProvider: Use QSize for `dimensions`
  * KEditTagsDialog: refactor using QStandardItemModel/QTreeView instead of QTreeWidget</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Fix FileMetadataItemCountTest::testItemCount</changelog>
</package>
<package pkgid="56fdd7f445bec8f649586b76540599c966b6d208736f36a143b0ba8e37a1525fce11a8a21d70c5b213924d5ba227ec4343d07b876c5d42568ca832f9a6bb639c" name="baloo-widgets-devel" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693742400">- Init baloo-widgets</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Fabian Vogt &lt;fabian@ritter-vogt.de&gt;" date="1709640000">- Obsolete baloo5-widgets + -lang</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * FileMetaDataProvider: Use QSize for `dimensions`
  * KEditTagsDialog: refactor using QStandardItemModel/QTreeView instead of QTreeWidget</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Fix FileMetadataItemCountTest::testItemCount</changelog>
</package>
<package pkgid="49024ef7d31c1194d1bd03d21e1d42780566781bfd652634f370eff91ad59f171f90d58f5f4e2585e963faad40234a113e9f6ee1caa645646ac2d172fca2d2b8" name="baloo-widgets-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1693742400">- Init baloo-widgets</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/fr/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Fabian Vogt &lt;fabian@ritter-vogt.de&gt;" date="1709640000">- Obsolete baloo5-widgets + -lang</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * FileMetaDataProvider: Use QSize for `dimensions`
  * KEditTagsDialog: refactor using QStandardItemModel/QTreeView instead of QTreeWidget</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- Changes since 24.05.0:
  * Fix FileMetadataItemCountTest::testItemCount</changelog>
</package>
<package pkgid="6dabd412f800ea1d4fed135c08402d1724590172be23c3ee2706ae575db1a440f90a185861385f90fc5c460556841d15761b2f11976bf77040329dc6cc461993" name="bbswitch" arch="src">
  <version epoch="0" ver="0.8" rel="14.3.2.2.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1389700800">- Create proper changelog with osc vc</changelog>
  <changelog author="tchvatal@suse.com" date="1389700801">- Cleanup the spec to adhere official formatting rules.</changelog>
  <changelog author="tchvatal@suse.com" date="1391947200">- Add kernel word to the description</changelog>
  <changelog author="tchvatal@suse.com" date="1401883200">- Add the modules autoloading for the package.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883201">- Provide bbswitch-dkms for time being to allow migration.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883202">- Say goodbye to bbswitch-dkms and use just the direct bbswitch.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883203">- Name the modprobe.d file like the others.</changelog>
  <changelog author="tchvatal@suse.com" date="1404216000">- Install copying file</changelog>
  <changelog author="dvlaeev@suse.com" date="1408622400">- Make architecture exclusive to x86 platform</changelog>
  <changelog author="tchvatal@suse.com" date="1444478400">- Add %dir for %{_libexecdir}/modules_load.d as it is owned by systemd
  and there is no reason to have that in deps</changelog>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="6411815f458ebfdf09f84e8597b096e714061573cd4d6ad62b76161b4da346eda621900053243eb2e76f108c6f30b9a9b2e6e3c5f2b03bb72af2727050fbe551" name="bbswitch" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.3.2.2.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="24f7d1dfbabf3b7727d7d94e63be2dae0b0ae935c1d6c16e799c9b8dc79f0df3ac75dcb75321e8d2bde5e65d111cb09859bd4f68927d5e661c72b29ee277f44f" name="bbswitch" arch="src">
  <version epoch="0" ver="0.8" rel="14.3.2.3.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1389700800">- Create proper changelog with osc vc</changelog>
  <changelog author="tchvatal@suse.com" date="1389700801">- Cleanup the spec to adhere official formatting rules.</changelog>
  <changelog author="tchvatal@suse.com" date="1391947200">- Add kernel word to the description</changelog>
  <changelog author="tchvatal@suse.com" date="1401883200">- Add the modules autoloading for the package.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883201">- Provide bbswitch-dkms for time being to allow migration.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883202">- Say goodbye to bbswitch-dkms and use just the direct bbswitch.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883203">- Name the modprobe.d file like the others.</changelog>
  <changelog author="tchvatal@suse.com" date="1404216000">- Install copying file</changelog>
  <changelog author="dvlaeev@suse.com" date="1408622400">- Make architecture exclusive to x86 platform</changelog>
  <changelog author="tchvatal@suse.com" date="1444478400">- Add %dir for %{_libexecdir}/modules_load.d as it is owned by systemd
  and there is no reason to have that in deps</changelog>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="c906838fcd50abf808ee1d65419c4c0262b3f286c3cf43c9b4b92c65fc2515a58ed57c98476896d48d0c6ac4b8daf5e9e0a97431d035ac11eaa85abbe8104083" name="bbswitch" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.3.2.3.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="2217302434634566d49105d7bf9d4f14f7dfbc34c5c54dba3b68aed53ce1d9d810dd73514df69eda936c0e5c8f9ba9311d6eebf797c960964ad0f6934c2ad5ec" name="bbswitch" arch="src">
  <version epoch="0" ver="0.8" rel="14.3.2.4.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1389700800">- Create proper changelog with osc vc</changelog>
  <changelog author="tchvatal@suse.com" date="1389700801">- Cleanup the spec to adhere official formatting rules.</changelog>
  <changelog author="tchvatal@suse.com" date="1391947200">- Add kernel word to the description</changelog>
  <changelog author="tchvatal@suse.com" date="1401883200">- Add the modules autoloading for the package.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883201">- Provide bbswitch-dkms for time being to allow migration.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883202">- Say goodbye to bbswitch-dkms and use just the direct bbswitch.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883203">- Name the modprobe.d file like the others.</changelog>
  <changelog author="tchvatal@suse.com" date="1404216000">- Install copying file</changelog>
  <changelog author="dvlaeev@suse.com" date="1408622400">- Make architecture exclusive to x86 platform</changelog>
  <changelog author="tchvatal@suse.com" date="1444478400">- Add %dir for %{_libexecdir}/modules_load.d as it is owned by systemd
  and there is no reason to have that in deps</changelog>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="9762103c0cd9ede082ce46cce53edc1862d4267925c8448795c641026ad189caa35b7aa045de99b80e3064654961ac98e3b786eb0fbe1ca45d55dbb699151244" name="bbswitch" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.3.2.4.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f55fd0d8b403b746f66a147e491aa29702fc4925bf34a8c1bcbce149ed43b91abb0a84f54163bcaf05b508d1010c478f51ee4d10f773fcbfa2af77220c01c583" name="bbswitch" arch="src">
  <version epoch="0" ver="0.8" rel="14.3"/>
  <changelog author="tchvatal@suse.com" date="1389700800">- Create proper changelog with osc vc</changelog>
  <changelog author="tchvatal@suse.com" date="1389700801">- Cleanup the spec to adhere official formatting rules.</changelog>
  <changelog author="tchvatal@suse.com" date="1391947200">- Add kernel word to the description</changelog>
  <changelog author="tchvatal@suse.com" date="1401883200">- Add the modules autoloading for the package.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883201">- Provide bbswitch-dkms for time being to allow migration.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883202">- Say goodbye to bbswitch-dkms and use just the direct bbswitch.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883203">- Name the modprobe.d file like the others.</changelog>
  <changelog author="tchvatal@suse.com" date="1404216000">- Install copying file</changelog>
  <changelog author="dvlaeev@suse.com" date="1408622400">- Make architecture exclusive to x86 platform</changelog>
  <changelog author="tchvatal@suse.com" date="1444478400">- Add %dir for %{_libexecdir}/modules_load.d as it is owned by systemd
  and there is no reason to have that in deps</changelog>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="c2662ae6925bfcb03783920bfc362f148b463ddcdfa6c2c4455dbfe6e88eb1db48917a72b30abff5c966c801b3994fd5bbf334cb35849537bdeba61596d2f448" name="bbswitch" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.3"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="001f7779c85c21bce86ea70f7c21c57c3e24726e209b282c42bf7d4b80b6bdbdebe7c9f90ddda3b0bcbc8d7e3040e202b7764645a0a509d48793d2329520e2c9" name="bbswitch" arch="src">
  <version epoch="0" ver="0.8" rel="14.4"/>
  <changelog author="tchvatal@suse.com" date="1389700800">- Create proper changelog with osc vc</changelog>
  <changelog author="tchvatal@suse.com" date="1389700801">- Cleanup the spec to adhere official formatting rules.</changelog>
  <changelog author="tchvatal@suse.com" date="1391947200">- Add kernel word to the description</changelog>
  <changelog author="tchvatal@suse.com" date="1401883200">- Add the modules autoloading for the package.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883201">- Provide bbswitch-dkms for time being to allow migration.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883202">- Say goodbye to bbswitch-dkms and use just the direct bbswitch.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883203">- Name the modprobe.d file like the others.</changelog>
  <changelog author="tchvatal@suse.com" date="1404216000">- Install copying file</changelog>
  <changelog author="dvlaeev@suse.com" date="1408622400">- Make architecture exclusive to x86 platform</changelog>
  <changelog author="tchvatal@suse.com" date="1444478400">- Add %dir for %{_libexecdir}/modules_load.d as it is owned by systemd
  and there is no reason to have that in deps</changelog>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="66b9d62f72cb0f31bc1e4fb9515772e8c97db388f354f079300a52dde09e4c78c58eb8942fad4dd5568d633482a2442986c591ccb6f8f4b596463c2476767cae" name="bbswitch" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.4"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="e43fdf6190a9ecba4c23acdd81c2ba1fdc3693bbf5636a1b81be048166afdc05ad66ddf039ce6e05e4f4a40ad44aaf1170d215664bb1954eb0b4c338eb40f9d5" name="bbswitch" arch="src">
  <version epoch="0" ver="0.8" rel="14.5"/>
  <changelog author="tchvatal@suse.com" date="1389700800">- Create proper changelog with osc vc</changelog>
  <changelog author="tchvatal@suse.com" date="1389700801">- Cleanup the spec to adhere official formatting rules.</changelog>
  <changelog author="tchvatal@suse.com" date="1391947200">- Add kernel word to the description</changelog>
  <changelog author="tchvatal@suse.com" date="1401883200">- Add the modules autoloading for the package.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883201">- Provide bbswitch-dkms for time being to allow migration.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883202">- Say goodbye to bbswitch-dkms and use just the direct bbswitch.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883203">- Name the modprobe.d file like the others.</changelog>
  <changelog author="tchvatal@suse.com" date="1404216000">- Install copying file</changelog>
  <changelog author="dvlaeev@suse.com" date="1408622400">- Make architecture exclusive to x86 platform</changelog>
  <changelog author="tchvatal@suse.com" date="1444478400">- Add %dir for %{_libexecdir}/modules_load.d as it is owned by systemd
  and there is no reason to have that in deps</changelog>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="a55e6c88b8f9b2de3e80772613e4357f365fea1038ed59cdda75e409e97b7b595f009e1f209a131cffff40c346db459567e63c40ec0338a2cb85707a25a7de25" name="bbswitch" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.5"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="1879a072f51b4005c929797fdd22015843cf3a43b690c98664c99481fd7751b7148bb80482975f6ad8e4dceaa3c9c1451c40580ee46ffacbf5aac40ddcff69a0" name="bbswitch" arch="src">
  <version epoch="0" ver="0.8" rel="14.6"/>
  <changelog author="tchvatal@suse.com" date="1389700800">- Create proper changelog with osc vc</changelog>
  <changelog author="tchvatal@suse.com" date="1389700801">- Cleanup the spec to adhere official formatting rules.</changelog>
  <changelog author="tchvatal@suse.com" date="1391947200">- Add kernel word to the description</changelog>
  <changelog author="tchvatal@suse.com" date="1401883200">- Add the modules autoloading for the package.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883201">- Provide bbswitch-dkms for time being to allow migration.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883202">- Say goodbye to bbswitch-dkms and use just the direct bbswitch.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883203">- Name the modprobe.d file like the others.</changelog>
  <changelog author="tchvatal@suse.com" date="1404216000">- Install copying file</changelog>
  <changelog author="dvlaeev@suse.com" date="1408622400">- Make architecture exclusive to x86 platform</changelog>
  <changelog author="tchvatal@suse.com" date="1444478400">- Add %dir for %{_libexecdir}/modules_load.d as it is owned by systemd
  and there is no reason to have that in deps</changelog>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="1c49857619dd8fff2f3f0c2cd9e793dfac2a3b21add6004f08e30a9c5d860eaf0ef552953fc05fa4c08e53d52adaf181d3a15cf3645ca65af5a52723a6fa8012" name="bbswitch" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.6"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="7d37370ac1f0fbcc206efa0b5d6cfdb86f324892cb7d1cbfd29dd7879a7459d362f62a52943cb258dd2432fd6f0ff9393504278e773dee11d8bb5f82a06d52a3" name="bbswitch" arch="src">
  <version epoch="0" ver="0.8" rel="16.2.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1389700800">- Create proper changelog with osc vc</changelog>
  <changelog author="tchvatal@suse.com" date="1389700801">- Cleanup the spec to adhere official formatting rules.</changelog>
  <changelog author="tchvatal@suse.com" date="1391947200">- Add kernel word to the description</changelog>
  <changelog author="tchvatal@suse.com" date="1401883200">- Add the modules autoloading for the package.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883201">- Provide bbswitch-dkms for time being to allow migration.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883202">- Say goodbye to bbswitch-dkms and use just the direct bbswitch.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883203">- Name the modprobe.d file like the others.</changelog>
  <changelog author="tchvatal@suse.com" date="1404216000">- Install copying file</changelog>
  <changelog author="dvlaeev@suse.com" date="1408622400">- Make architecture exclusive to x86 platform</changelog>
  <changelog author="tchvatal@suse.com" date="1444478400">- Add %dir for %{_libexecdir}/modules_load.d as it is owned by systemd
  and there is no reason to have that in deps</changelog>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="519d8ddd616821538cc5cc8b395fb3a0d477b6ea77e826b9d0284136f8d11ded077a8057f3c033ebfeb850318ead1de04838885617e3cb716b256002dadce386" name="bbswitch" arch="x86_64">
  <version epoch="0" ver="0.8" rel="16.2.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="3f8ddc5b3f7255e5cb92bfdc4ce5314d5f4856f10b756c4b292b7b7904bdc58fdc935051f4ea06c54d8bbdac329d6cbc1335c78fa4b68cf4ba393b319d09bf3e" name="bbswitch" arch="src">
  <version epoch="0" ver="0.8" rel="16.7.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1389700800">- Create proper changelog with osc vc</changelog>
  <changelog author="tchvatal@suse.com" date="1389700801">- Cleanup the spec to adhere official formatting rules.</changelog>
  <changelog author="tchvatal@suse.com" date="1391947200">- Add kernel word to the description</changelog>
  <changelog author="tchvatal@suse.com" date="1401883200">- Add the modules autoloading for the package.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883201">- Provide bbswitch-dkms for time being to allow migration.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883202">- Say goodbye to bbswitch-dkms and use just the direct bbswitch.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883203">- Name the modprobe.d file like the others.</changelog>
  <changelog author="tchvatal@suse.com" date="1404216000">- Install copying file</changelog>
  <changelog author="dvlaeev@suse.com" date="1408622400">- Make architecture exclusive to x86 platform</changelog>
  <changelog author="tchvatal@suse.com" date="1444478400">- Add %dir for %{_libexecdir}/modules_load.d as it is owned by systemd
  and there is no reason to have that in deps</changelog>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="1503435ff4d2703269493350b8b7aa8ba62cf42997ce704a55086e97ba979d73c5647b8dd08ae08196f4c17d7cea5c18441371cb3ff51b7e5e1c2b20380c2178" name="bbswitch" arch="x86_64">
  <version epoch="0" ver="0.8" rel="16.7.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="e172e7e3ff489ddc544ff3238bc5c5a58588e68d5f989af7558ea741d6b2b866ed588662af0ef87bcd8fff6a0d46b8c19f46a2ac174ec37d599b9ab23720954e" name="bbswitch" arch="src">
  <version epoch="0" ver="0.8" rel="16.8.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1389700800">- Create proper changelog with osc vc</changelog>
  <changelog author="tchvatal@suse.com" date="1389700801">- Cleanup the spec to adhere official formatting rules.</changelog>
  <changelog author="tchvatal@suse.com" date="1391947200">- Add kernel word to the description</changelog>
  <changelog author="tchvatal@suse.com" date="1401883200">- Add the modules autoloading for the package.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883201">- Provide bbswitch-dkms for time being to allow migration.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883202">- Say goodbye to bbswitch-dkms and use just the direct bbswitch.</changelog>
  <changelog author="tchvatal@suse.com" date="1401883203">- Name the modprobe.d file like the others.</changelog>
  <changelog author="tchvatal@suse.com" date="1404216000">- Install copying file</changelog>
  <changelog author="dvlaeev@suse.com" date="1408622400">- Make architecture exclusive to x86 platform</changelog>
  <changelog author="tchvatal@suse.com" date="1444478400">- Add %dir for %{_libexecdir}/modules_load.d as it is owned by systemd
  and there is no reason to have that in deps</changelog>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="b0aec755f767a23196eec0a661d6dbd759698353ecb9899fd56357f9f3e43cc785a5ce3aadf8f4be684c56dfcda146bec963bbbb7302c36a8263aa9ea00a5245" name="bbswitch" arch="x86_64">
  <version epoch="0" ver="0.8" rel="16.8.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="cb354f40bc66a5403d8723b63951a8c320459ebbf3e94b9e620042b03bd656acecdcdc7bbcec15495073282471713d49ec77067824233dcd27dda0f202370a1a" name="bbswitch-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.3.2.2.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="ba00d344ba8ce1bd3c2e4e45f1b57d8c54a6e42d6f3ef62c8669b2e8dc0f03692f24530c23537586be979badb691eebb93debb547235f9466f82ec3d09bec989" name="bbswitch-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.3.2.3.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="c86e353d2d6cc91ed5f6e0834a379ee939312868683af8c435af5065a03f78bcbe48f4b858171c9c7d2cd2a2f6019c1e44f6a6b46622d46b4321b2d9d425789c" name="bbswitch-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.3.2.4.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="633643cb947d00fa3746ef96dca6c128f857347485839ef41c94b7e839f7bb2dde2b7832fd6d5c7d191d9e32320751b83a5049f522f11333c99515f3434f9b0f" name="bbswitch-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.3"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="8c61c86e9ae1e2579a36e9887025d61755839dfa4221de4cf99cd2aa993da27ef4c0c99b2e0a2fa0bfa3368fe3e02768b9ec511ad0a177e21633eaba3d1cfcd2" name="bbswitch-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.4"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="b2ab3068cf960e7678258bbcbe363013acdd66f3cac9f0be9635386df7a1a1c5f18b913f907be09a0e2552ed72f46de638be72e16777854cfe2586d5e8f1f48d" name="bbswitch-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.5"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="fdf82bcb23b43e8fd3cad7f7c0379397329dbca5fa2909548efacd7afeb8ec9b24f7fa96592dfcba5e62c7c127a7bad623472242a2714b2face1345d39b159da" name="bbswitch-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="14.6"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f3d6e6652bb6d19fc4a456279cf0986e6d5a91e56809f8a041756710e9593e4f2e65d32c4c0b7fb885bb89e5ad0c9093ac10b4a6b78dcc040b0acb1791e2d47c" name="bbswitch-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="16.2.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="915aa93722e64008f1fc559da8e9e4c7e2770e71a0d93440bb489ebdc6a201147037a84c08d7b5ae2209ba13e4bbe3933ea6e55cfbffe44ca4f3a1409e7fb05f" name="bbswitch-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="16.7.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="6726af94ec90ad925996f95fd7ac74fd7ec228ef4f8a5886267fbc099fbbe39d36a919c31f8bb9aede87f5a80c8d436f37a050678b52f1f17cea4755eb35359f" name="bbswitch-debugsource" arch="x86_64">
  <version epoch="0" ver="0.8" rel="16.8.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="96b019f567e62841397ee455d2e08d06a1e6ea7f5c774a447ad9c9b810541dc4437cecf770ea024e2d0bc73e6e4805598060f8548046c19236411db7f320637b" name="bbswitch-kmp-default" arch="x86_64">
  <version epoch="0" ver="0.8_k6.8.2_1" rel="14.3"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="42fa3b0294519e15845166d7d2342f768bbf617b776c42066a5c7dafd436f1bde63fdda57f9f3bb8b84f445f5e710199d634b44237a1249e0bffc1da3b7d12aa" name="bbswitch-kmp-default" arch="x86_64">
  <version epoch="0" ver="0.8_k6.8.6_1" rel="14.4"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="d4223b31723ac2a294934b5ccb500db8035e1c505873f8142aa9a04c398900efe09fe603daaaa8e46b4a2ec4c7ab987c876ad4c32b126e5a63a434e8f7b6a4fe" name="bbswitch-kmp-default" arch="x86_64">
  <version epoch="0" ver="0.8_k6.8.8_1" rel="14.3.2.2.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="baef87aa91bc6aec2a4607a31a105238a8ba3e263bf1547445df431de825f7ad110d9b1f3e99d3708833337f28049e366843e9a5a21c2180ba31c2163be20e92" name="bbswitch-kmp-default" arch="x86_64">
  <version epoch="0" ver="0.8_k6.8.9_1" rel="14.3.2.3.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f59c28749063c297afc10f17a2eed6927505c6fb09a426c86b35ac977c0980438fa463efd6a0a59c26f749fd29e82fe5cb51d67a19604f261884f1755f2c6ed3" name="bbswitch-kmp-default" arch="x86_64">
  <version epoch="0" ver="0.8_k6.8.9_1" rel="14.3.2.4.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="e0388bb807dd930f44fcd4e1ce5303e924fbd4e9947e5439f588330655c770303de449d33960890f0070765f505ec3627704030cc8ee7c88f303da75e31fdaed" name="bbswitch-kmp-default" arch="x86_64">
  <version epoch="0" ver="0.8_k6.9.1_1" rel="14.5"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="a52e16cfa824d6762a3483c75a6ce86dbeef2c750e53bbc2bd004419a12ef4a62e32f71c4e75e5e59d249e46cd47e0c6824b4e989536435180c6fe35a200cd4e" name="bbswitch-kmp-default" arch="x86_64">
  <version epoch="0" ver="0.8_k6.9.3_1" rel="16.2.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="42de7c3665b1f232a9cadcac2b6478a00d7dbef6da5bd1f9330c1271d95604cb048bcd24098a558800b034d563b70e0f00395e072085b3130f1c8da1f6f9d107" name="bbswitch-kmp-default" arch="x86_64">
  <version epoch="0" ver="0.8_k6.9.5_1" rel="14.6"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="1ce6760384036a0d520fef8101f2457852e3a2512c358d56f6c08e37ee2755e01e9d217d341194ec64b207e74f3900f7c739ee3042adaa291955349019a0ee7b" name="bbswitch-kmp-default" arch="x86_64">
  <version epoch="0" ver="0.8_k6.9.5_1" rel="16.7.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="446c922cb7d917cb5f81501bdd3127a9bd1bbb71e7b6a46323d1603bae76ceffd8062e352dfed67927a6ff7bc48fe31b33079355ecf05f93f29ca22fa276f950" name="bbswitch-kmp-default" arch="x86_64">
  <version epoch="0" ver="0.8_k6.9.7_1" rel="16.8.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="1d64e55a6999cc8cd328e26c13082888606bee50d737e5111552871d97849df2f2f0db607bc7d05285e3c5cb365f432a63f57b24dd3a22cb2aa86b0023b638aa" name="bbswitch-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.8.2_1" rel="14.3"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="a3440a6a711fb5198669ae9f4abab54021bdcf4cd2f1c7aa6692dd84c5229a9dbaf1214a2676c5f1b4df8cbc6500262b943e860743682bf406f827eeba04af2f" name="bbswitch-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.8.6_1" rel="14.4"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="5744a90a8dc05a48073b5518f75200ee4f061a2ff7df89102755f5f5bb8ee03b688fc6f98dc5aff143f62beee8e7d7cf647fad650ebde6970b7f30e0613f81f8" name="bbswitch-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.8.8_1" rel="14.3.2.2.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f45bcd80fbf58a7d99d516fd6434abb50f44a4ec36ca029d5858cf13f84af8da6fd88b4a10879c9dd48b05bcf294d2e5358cb922ec1e48acf5bbb10f76a23aad" name="bbswitch-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.8.9_1" rel="14.3.2.3.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="50c8fd621db324520acb13419ae028156605abf069c54da1514df36064b1efa3e44fd59bfc84aa87eb149b7925ebfe14b4c94756d76f65f5051fb6d8a4e697bc" name="bbswitch-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.8.9_1" rel="14.3.2.4.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="96fcae780641c7f4190679997b2beba0c5f154b76adff9302ec623deaee696cf2d61f7208415415657e21fcdc8d9947b096d1d776804123a334cfad1ed47d7b3" name="bbswitch-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.9.1_1" rel="14.5"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="6887582e1b72a522c9b33bc2b64d23a4de04ca3a81bf8a64473aeea4c4644767e962cea6046142d8d628305dd05bed653966c6cf79ae4255ca1b7756e63ff17e" name="bbswitch-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.9.3_1" rel="16.2.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="2fcb0aa7d8c2e5f8142453c2ee164a1d6b2e5d9911a79036e34c744db3655bccbe6f8a9a042798d77f0f8e804300c0dfa0f0e09bdd5cbcd9524c2fcc0dca1b4f" name="bbswitch-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.9.5_1" rel="14.6"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="7488bd786988a798e9c0925c2f63109fec72ab296f4543b5fb44ccf857c338247126befa6a69a4fc09a1185a5244c60a5d8bf13d38ae97d6ae3b453e74434d3c" name="bbswitch-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.9.5_1" rel="16.7.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="74b0b66b950386710fd2c8b29826c795b88681f90aa0e7501853d22bc67f5273a59db6728050327ec8f101ac528091cd2883988cc937cd20c34090fa735da433" name="bbswitch-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.9.7_1" rel="16.8.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="c030f80c1ab4c2e87ff8a83659f2d46fd9becdab042aac21cbbd41c65182a749c33343a7229db1397387199d75ab9d43641fcd2d5c175f705f215e914c26e140" name="bbswitch-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.30_1" rel="14.3.2.2.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="74d12d4c1f074c35038a5d6ede01b18aba1d3330f5532a87a1327bdb45e178230f0c1c8d1f1c5e912723afd7adfb153c748487264f575b19217b38a54c42fd77" name="bbswitch-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.30_1" rel="14.3.2.3.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="a194fc0b1f2c0f4c3d9a58be29c02f7fc24083430eb28885ced0f4d9f829666ff57f194bb0af6905730647ba6bd9cb0381e9ba0c000ff9c99c14bb3e151a00c6" name="bbswitch-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.32_2" rel="14.3.2.4.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="c0576cd115c94b35ad4a85244273b0594f6a46a619388aead8dbbb10ba093ec9b801e35a8eb54c1aff7627162f045b185dd796270ffc3bc2acef10c5323a08ef" name="bbswitch-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.32_2" rel="16.2.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f85b9af3b56da83003c9e5644bf1669484b0610d11d8174297fbb285f9da09f6318012645b56115f89884fffec84f247be5e5fef4e63645d37f6eb3bba9b4bbd" name="bbswitch-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.34_1" rel="16.7.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="76df0359976d1752e61a040e26b2a0021d02bf85026268029c9a768c4af01b19faac93ab7a21de51c30f6971ce53a1337ae71f5581f2db9e984f251c30724f65" name="bbswitch-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.36_1" rel="16.8.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="b81f3826978f6cecb6b4004f23693fe2565f66d2a4010b286b252a49cb322938f8ceafd51322a529c4aded29b338ccb560439c35e8c6452781d4d9ae42a7277c" name="bbswitch-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.30_1" rel="14.3.2.2.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="e93a401d92494bce5315ec763e30e42c929eb2aba6580511153196c83df6572c90a00a0374ebcfeebecbebfc9c2acff49bdb4c087c0b80977f2f2876e131fce5" name="bbswitch-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.30_1" rel="14.3.2.3.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="db9e975aafa71f3445364f4381e1b9f4aa8dd0b18334bbe1c87c66796a4bc6a18a89cdc4c73d65f276800996ff96c6c3fdba3737b21aa8e4861e8ba9cafc1453" name="bbswitch-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.32_2" rel="14.3.2.4.sr20240429"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="18c267230bd9f1583f4a01407740700f781e633b7061aa82594753597288ba44caa8dcbe35661e1bbed3da0d03de9f8afadd078d3552b1da0b1633b9dad13d88" name="bbswitch-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.32_2" rel="16.2.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="896cb875f43a72677eab3367f52d0a6943842459e1528f855e4eaef05b33ea735c581cfad0efbddacc6c3399021d4d00ca10ec6dae8ad82745f1d2ad4556e9f6" name="bbswitch-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.34_1" rel="16.7.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="73a30d46ccb1b245e9b8da808b4fbe05506e8d8cce25086a97174b51b4baf67c9276a5ddb7ff25444463acb7e07e72ef08bdfa46fb1963495c70a309a93455fb" name="bbswitch-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.8_k6.6.36_1" rel="16.8.sr20240605"/>
  <changelog author="tchvatal@suse.com" date="1510488000">- Depend on libelf to build correctly on tumbleweed</changelog>
  <changelog author="msuchanek@suse.com" date="1529409600">- Use %{?linux_make_arch} when building kernel modules (boo#1098050).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1576756800">- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  allow OBS to shortcut through the -mini flavors.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1585915200">- Add patch to build with kernel 5.6
  * 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1597752000">- Fix wrong usage of %{_libexecdir} for systemd owned directories
  below %{_prefix}/lib and stop marking those files as %config just
  because the end in .conf.</changelog>
  <changelog author="tiwai@suse.de" date="1615377600">- Fix build with Leap 15.3 kernel due to the missing header
  inclusion (boo#1183060):
  bbswitch-fix-header-inclusion.patch
- Refreshed 0001-Update-proc_create_call-for-5.6-kernel.patch</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646395200">- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1646654400">- Add code for safe modprobe.d migration
  (https://en.opensuse.org/openSUSE:Packaging_UsrEtc)</changelog>
  <changelog author="Simone Pilia &lt;pilia.simone96@gmail.com&gt;" date="1654257600">- Fix build in kernel &gt;= 5.18.1 due to deprecated acpi_bus_get_device
  inclusion:
  fix-deprecated-acpi_bus_get_device-in-5.18.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="3a93c642422bdf0a922d8f247df1ae27c2c69b443d9aee9cc5f36be02e8c0b33470b9ce87431a14036f124f6f7e21684ccf15dcd1e2709e0731509dac4a8c65c" name="binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="8d3d923203dcbdbaa2f3eff17ed88f0caac9841f3c7a8b53ff021fd3fcf5e3f73e70c0747d1247ad663665bf43e1b3a4c7abf9ad5a99546f57ac95e04192afdf" name="binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="2dacf59861a582c42a92f25488105be5bdc5c1683211fcd805ff328c2430b03321d18fcf7ea9c2692a31324a359ca08473bcb6764fe373f5e1c03bc3468605a7" name="binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="c2a321773379b35e866ba645f64bc6f675596ff631201753e4223ee83abe5936b5617300037915ab1194cb48aef9c24431d06ad1d3ff4bff99652a7e77fb0d9c" name="binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="8d4ef83d789be653774de105e68f0f86c2baac9109b2406c5f7071af33729dd9c413e2ed30e4868ea1ca5838440eeff2b2224b72ca4f52736a49d3f26c7c9b44" name="binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="2e4202d07d50b14e2a9a6624a5cc135e5cc395af9b0c88f5ac152c553cee7f15708f1479a751cc0802ac42c85f8b526981c31d181ff617d8b784a2c8ec34e868" name="binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="d206fe52b422e8e6b37fea5a1bc19d2397864d3c82f39c5383c4d2755d5be5c6d43fd529205ef9d0ca23ea02837c82ab37dbc5959863ca8779a2e6a9d69a7105" name="binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="b693054e382746c4b0080b9e756cb76decaf7e4f775e186b18f20d88644196af0b59e48ed1f63b9d7dffcaaf3e52c4ce50df90feb20d7bea127b8416470ac668" name="binutils-devel" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="f7ce7e7a62d4cfae68efcb2fa721ca253202fde771978d844d66cdbd84c4fccf8309864075812c224ff34f8ec3138a3d0abe02a8496d1b5f4197f6deef7055ee" name="binutils-devel" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="5ffb27a7104c0408aadbfcc96ab2627f8e16a99f8b97622de0ece3b50fe1d6e1a0c63b56f138f500f180a2b77c56920ea36f98a0764e553d2da522c3123b86a9" name="binutils-devel-32bit" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="157907c36abb618fe3c61533e4a21c4847dde63281e89033a17931a3e3dfd3d7418623e52f8d850e5c3537d2b12c88ab544b99d3c539213e61c2000507dfb52f" name="binutils-gold" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="d6ebe004b9873b9edc554037ce0a6784669c7f76b65323eb960ff67ba679760f145a1d4470603a496e8ad851011c5128cc31a6bd32360c6872d47245f90e0632" name="binutils-gold" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="756539dc20665260cc6ba62917c4f065fd70248a7a06b3e2d77ba827c1a45c307543cf523c0d8bc2f24626d1f673dc7ad91152a1e1cc18503a183a678843c5f7" name="binutils-gold-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="c3e64638a9a896bbbfcce5f942e9fe2313c31a2e7e4335150ca120642c072a2646618dbdf4e9e4134a67fd6ecdbba51846d37b111b440a5670d0b3f5ad385e0e" name="binutils-gold-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="fe6d88085f661e715bc6c02a88cac46288ed93ef4d744c35cfdd94630757be838b35cacacba4c21901bd0c4e499331046a0bbfde5f8c690863f8e0c856b1f77e" name="blinken" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add explicit moc includes to sources for moc-covered headers
  * Add Flatpak CI/CD Integration</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Fix lintian cleanup in snapcraft.yaml
  * Add snapcraft 23.08 release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated methods
  * Rename variable as KF_MIN_VERSION + it compiles fine without deprecated methods</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="9243141ab167d8b13a53752503918e80376277d6c80ba81e8005be8c4a7dbdd530215df3c9b5379b41c52ac60f6e9fbed4cd725bd43f43b61a016810f3bdd735" name="blinken" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add explicit moc includes to sources for moc-covered headers
  * Add Flatpak CI/CD Integration</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Fix lintian cleanup in snapcraft.yaml
  * Add snapcraft 23.08 release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated methods
  * Rename variable as KF_MIN_VERSION + it compiles fine without deprecated methods</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="1c69f50f723114a75b665d908c1c5ddfdd8c137192d673218f37cfc1b866b539fac37078c1c6c8bc23d2a9e412a91bbf6ff26f70e46660ab95293a8d3471c887" name="blinken-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add explicit moc includes to sources for moc-covered headers
  * Add Flatpak CI/CD Integration</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Fix lintian cleanup in snapcraft.yaml
  * Add snapcraft 23.08 release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated methods
  * Rename variable as KF_MIN_VERSION + it compiles fine without deprecated methods</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="c086602de83b30eb82ca00ab488fca0bc6c0fa023ebd7c26019c7b6ed8895784b038f90703905489c08f8448b7430b3d381b8653c69cdb08c583d0886720f70f" name="blinken-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add explicit moc includes to sources for moc-covered headers
  * Add Flatpak CI/CD Integration</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Fix lintian cleanup in snapcraft.yaml
  * Add snapcraft 23.08 release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated methods
  * Rename variable as KF_MIN_VERSION + it compiles fine without deprecated methods</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="5103a8cefbac3718f8d6a9597cca844a27f64210a33f4cb4238c0674b6c386d2f5e121063198d335ac2d89bf59579801a4a3ec9f79d2c6c0c24e32e5b2c4fd04" name="blinken-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Add explicit moc includes to sources for moc-covered headers
  * Add Flatpak CI/CD Integration</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Fix lintian cleanup in snapcraft.yaml
  * Add snapcraft 23.08 release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * It compiles fine without deprecated methods
  * Rename variable as KF_MIN_VERSION + it compiles fine without deprecated methods</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="3dcdf0d33bb42a43ef2abf99bc56f397609d1aae4174ac022a638a1f30ec64464eb6dd092da855eaae3e4f1d2b3b57690eab1716bba875177de376431d5c19f7" name="bluez" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="3a97fd4c802dbfdba9b4642c943d60dd31990878a69545989e885632ab5d249c42e073bd008ec3797c4fc263a7afcd25cef5c4b3fd171096b303ec939b1961b4" name="bluez" arch="src">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="8cd5eefee5dbacffa87e889fa7515ca0f5fa5282c012466ded568bbf05e822708b02c776ca27c9326cfaf2bd9fdc5b7dc61cc6619f569c7fd6de7d5cef39b2ae" name="bluez" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="3de1352ac4f3baf644159a0b7ccbb4e9d51bdff0d1683e954683ab757ba539b9466c24b105c217f3a389dfb7d66c9c70f739fd2be533d495a6cc416fc1e4b6e6" name="bluez-auto-enable-devices" arch="noarch">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="318e4a9f7cb36faaa652798b17891bc0f81ab9ac140b7580de860d584f0a66af6cdc6fd6f2851a2e1c9442a68d39ee8ab72b5c1bbe311c482cd6a6218567b535" name="bluez-cups" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="441e481052a9d50f694d6bc9f8f1f1886a335bfd8aab86ded2a886f5c81f5ef95416eca850b11e42f59b222f4c92cf6dd7e10b238d66bea5677bb8f478752856" name="bluez-cups" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="c8e02d24bf1ff8dce46b7d3c1b795a72694787bb18e038a2e02b4797f50a31dc748bb0f428e54c1e38217e6de70b8532d1230d4fd1a045ae75a54f915439dd03" name="bluez-cups-debuginfo" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="c0cf4e4087e1a96df3bc683290b6406261660dda40da6bd9a4b53cb7c5262428d6481e8bc1168e824e958c9e9e84bd00fcfe4b898b89412093550a5966eb4a3a" name="bluez-cups-debuginfo" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="7e02bab15fe74b7337f5820257a27f877c0e49250d8563c0aa66e7142b457c1a4c99b212b778f32c1aebe9b6ab0f9bdf396586962783a16327d453f7cbeea6b8" name="bluez-debuginfo" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="8796f1253e7e651ec1e4ae1beebf1d2a79a930c2f01093d0544b760505665f662b197b935933f14b418a4b0464108dd6b48e214813124e2c45895ba7d4f3601f" name="bluez-debuginfo" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="a34ae1943d696dbda9745dba4db19c1b5ca909d4110617318901f8c515e57ec27188865a0855733b942626a15315f35a810f9fd6961e54f997dca317eb026d29" name="bluez-debugsource" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="75589232adcbe82afc394df75431722a0433e3d24ce6ef81fe3ebc300b9fc7d0cc0c9c50ab2c8e3aeb53c3a6d05c54ad66991b1d3e7d81d80a18a93857ede568" name="bluez-debugsource" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="3d4bddc524543a4ef49e6f6083ae107f06cf87b3581da0d936eb7ce5cafbb251a30e3f013316ca625171aee4f5e474582c3e072d8a0103a5ea20c8f5c9501f79" name="bluez-deprecated" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="811c13fd5da757be303ec9440b04cc1e06270fed48d163b081784977f8900063a798e3b432f999bf4ac9a497768f2253a38c004c9879d70c3d0f1d6af1651f38" name="bluez-deprecated" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="60e7bf44f8fa1e216f2b76312ceb273aee989c9dd1c237b95779af867c1a26fe9dc88835943f64e8e6d8a4124f36ac952650b287847085ddecadfd08f53974df" name="bluez-deprecated-debuginfo" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="d6aef79b4fade4c3f03b38ddede7d560b11b02cbee44a4a7c42a61b122476619105fd057e1c03987786af87fa57bda15ce2ff1ceac548560c21f57112a5ebc72" name="bluez-deprecated-debuginfo" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="3321227a22ef948a2eb5474e5750f76f3a1ac5783d84109e22a8ce6f0ecec4355c520983b3e6040cfbf8b129d1b7962ebaf66510184f75fe88aabc732f8ccbf2" name="bluez-devel-32bit" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="79b79dff7f0202ee1017ab93ded88f7d031baa634b16335784e380b66c56f631cad4837ed63e691f99fc01ad6a1859b7c748b1dcd4a912e10a1ae440b612442f" name="bluez-devel" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="606c9e713006eaba3689f5dc12144a23b32b27118dddceea188d839ff0f2ed50c9e577c930aacfada1b834b9181f913691143b8b7a458d3b5ec72e72f2be208e" name="bluez-devel" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="ef7c48bbea03949adda40f03ff29e31df0b87ef74effcce35c8a71bd13689c790164fe320570b8a26c1eca2b3d1b72ddeea922e11d9dd42422f395d24ca0362e" name="bluez-obexd" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="cc45f36a9f3735d6f3d09df5d50e2a77c19cf1e52e3f5c3eca1a33267062408de11fd9139a6da754998ac135fae535bd8d27011c8cfc7f60a5c9912547c5b63d" name="bluez-obexd" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="e568b3254e70d90c7e1304f395433695d3928da89379ddef21b88ad482dfb51c66b7d564f1feb91918d15044f0fdbcf8cafc1ca332021c2d95103113445f55c5" name="bluez-obexd-debuginfo" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="2abd21ff917c880aa4858678738da6d4fe3662a4bf7cc0e9f1e12e2558ac426257d1d447876dc2aef5a4d9cfa4530e4b1051ccab7ce76fb335ba331e565a372b" name="bluez-obexd-debuginfo" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="d500d638fee9150b2ea8e6445b043d2f6f9946603d1e7640798cbbdd8c1c0ee0f9b6c8d76fed8ced5e5c6e3cbe346f34860815c47ac361d80b48ba9154ee0004" name="bluez-test" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="8aac0dd4cbfe969d5691ca827c3d885eae41028b2f38e9edfd026a8f19bfd7859e9eb3d1ab18d590090333c5992b4a8b406ca40486a15a554e0d2faeffda6e7d" name="bluez-test" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="2b3367dbf75208584bced2c1bdd6f53ba0d40097993d5d5443b06b9f09482d77567a1fbcb97fbbc9ee9aa98021267a7b893c1794603ea88ba3ff3f072d6948c4" name="bluez-test-debuginfo" arch="i586">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="b2cd03b754366becb77af49091c54e5af7b39c0ab5b4797361fa6631e8ecfda4057674b2cb0fa87f0bead0aafd2b0ff8fa6e5329f64f130fbe51bf10e12abb5a" name="bluez-test-debuginfo" arch="x86_64">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="e99134072560e27a439f685778b204050d1a889aac51142f1006478c711958eb7a6411a5956a5eff1321da82691dab4cbf9139844f7b9681e4f14d391b833751" name="bluez-zsh-completion" arch="noarch">
  <version epoch="0" ver="5.71" rel="4.0.2.1.sr20240605"/>
  <changelog author="Ben Greiner &lt;code@bnavigator.de&gt;" date="1652011200">- Upgrade bluez-test requirement of PyGObject from ancient version
  2 to current version. (bluez/test is at least able to use it
  since 2014)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1660737600">- update to 5.65:
  * Fix issue with A2DP cache invalidation handling.
  * Fix issue with A2DP and not initialized SEP codec.
  * Fix issue with A2DP and multiple SetConfiguration to same SEP
  * Fix issue with AVRCP and not properly initialized volume.
  * Fix issue with SDP records when operating in LE only mode.
  * Fix issue with HoG and not reading report map of instances.
  * Fix issue with GATT server crashing while disconnecting.
  * Fix issue with not removing connected devices.
  * Fix issue with enabling wake support without RPA Resolution.
  * Fix issue with pairing failed due to the error of Already Paired.
  * Add support for CONFIGURATION_DIRECTORY environment variable.
  * Add support for STATE_DIRECTORY environment variable.
  * Add support for "Bonded" property with Device API.
  * Add experimental support for ISO socket.
- drop bluez-test-2to3.diff (obsolete/upstream)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1663156800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and
  log: (jsc#PED-1407)
  - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch
    be merged to 5.51 mainline. So 5.65 bluez already includes it.
    (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800)
  - Add the following patches from the bluez-5.62 of 15-SP5:
  - disable_some_obex_tests.patch
  - disable tests for bypass boo#1078285
  - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch
  - bsc#1013708 CVE-2016-9797
  - Al Cho has sent it to upstream but it not be merged:
    https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/
  - hcidump-Fix-memory-leak-with-malformed-packet.patch
  - bsc#1015171 CVE-2016-9917
  - Al Cho has sent it to upstream but it not be merged:
    https://www.spinics.net/lists/linux-bluetooth/msg79852.html
  - hcidump-Fixed-malformed-segment-frame-length.patch
  - bsc#1013712 CVE-2016-9798
  - Did not send to upstream.
  - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
  - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902
  - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html
  - Respin the following patches
  - bluez-test-2to3.diff
  - Removed some parts of patch because those codes be included
    in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65.
  - The following patches are the same between SLE15-SP5 with openSUSE TW:
  - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with
    bluez-disable-broken-tests.diff in openSUSE TW.
  - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5
    matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in
    openSUSE TW. (bsc#995059)(bsc#1094902)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664798400">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following
    are changes in bluez.spec of SLE15-SP5:
  - Obsoletes:      bluez-utils &lt;= 3.36
  to
  Obsoletes:      bluez-utils &lt; 3.36
  - Obsoletes:      bluez-audio &lt;= 3.36
  to
    Obsoletes:      bluez-audio &lt; 3.36
  - In %package -n libbluetooth3:
  Obsoletes:      bluez-libs &lt;= 3.36
  to
  Obsoletes:      bluez-libs &lt; 3.36
  - In %package cups, add the following statements
  Requires:       %{name}
  Requires:       cups
  Supplements:    (%{name} and cups)
  - In %package test
  Requires:       python3-gobject2
  to
  Requires:       python3-gobject
  - In %package auto-enable-devices package, add
  Requires(post): systemd
  - Add %package obexd and %package zsh-completion
  and their %description
  - In %prep
  - Removed
  %setup -q
  - Removed
  [#] FIXME: Change the dbus service to be a real service, not systemd launched
  sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service
  sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service
  [#] END FIXME
  - In %build, add
  - -with-dbusconfdir=%{_datadir}  \
  - In %install
  - Removed
  [#] FIXME: Do not delete the systemd service once we support systemd user/session services
  rm %{buildroot}%{_userunitdir}/obex.service
  [#] end FIXME
  - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/,
  to
  org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/,
  - In %files
  - Add
  %{_bindir}/isotest
  %{_libexecdir}/bluetooth/obexd
  %{_mandir}/man1/isotest.1%{?ext_man}
  - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
  to
  %{_datadir}/dbus-1/system.d/bluetooth.conf
  - Removed
    %{_datadir}/dbus-1/services/org.bluez.obex.service
  - Removed
    %{_datadir}/zsh/site-functions/_bluetoothctl
  - Add %files zsh-completion
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in
    SLE15-SP5 bluez because 5.65 bluez already includes it.
  - The code shall check if the prepare writes would append more the
    allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1664884800">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and
  log: (jsc#PED-1407)
  - SLE15-SP5 will direct use bluez.changes for openSUSE TW.
    So keep the contents of SLE bluez.changes to bluez.changes.sle file.
  - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1666785600">- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log:
  (jsc#PED-1407)
  - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch
    be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801)
  - The following btmon patches are merged to bluez-5.51 and later:
  0001-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0002-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0003-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0004-btmon-Fix-crash-caused-by-integer-underflow.patch
  0005-btmon-fix-stack-buffer-overflow.patch
  0006-btmon-fix-multiple-segfaults.patch
  0007-btmon-fix-segfault-caused-by-integer-underflow.patch
  0008-btmon-fix-segfault-caused-by-integer-undeflow.patch
  0009-btmon-fix-segfault-caused-by-buffer-over-read.patch
  0010-btmon-fix-segfault-caused-by-buffer-overflow.patch
  0011-btmon-fix-segfault-caused-by-integer-underflow.patch
  0012-btmon-fix-segfault-caused-by-buffer-over-read.patch
    (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802)
  - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch
    be merged to bluez-5.57 in 2021.
    (bsc#1186463 CVE-2021-0129 CVE-2020-26558)
  - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to
    bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch
    be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588)
  - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log
    to sync with bluez.changes in SLE15-SP5.
  - Install modprobe.conf files to %_modprobedir
    This change already in bluez.sepc in openSUSE:Factory/bluez.
    Sync the change log here. (bsc#1196275, jsc#SLE-20639)</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1668600000">- update to 5.66:
  * Fix issue with A2DP and transport connection collisions.
  * Fix issue with allowing application specific error codes.
  * Fix issue with not setting initiator flag correctly.
  * Fix issue with HoG Report MAP size handling.
  * Add initial support for Basic Audio Profile.
  * Add initial support for Volume Control Profile.
- remove RPi-Move-the-43xx-firmware-into-lib-firmware.patch (does
  not apply anymore), replace with CPPFLAGS define</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1691668800">- update to 5.68
  * Fix issue with A2DP and handling of Transport.Acquire.
  * Fix issue with BAP and initiating QoS and Enable procedures.
  * Fix issue with BAP and detaching streams when PAC is removed.
  * Fix issue with BAP and reading all instances of PAC.
  * Fix issue with BAP and not being able to reconfigure.
  * Fix issue with BAP and transport configuration changes.
  * Fix issue with BAP and handling unexpected disconnect.
  * Fix issue with GATT and not removing pending services.
  * Fix issue with GATT and client ready handling.
  * Fix issue with handling fallback to transient hostname.
  * Add support for SecureConnections configuration option.
  * Add support for Mesh Remove Provisioning.
  * Add support for Mesh Private Beacons.
- Remove patches that are not needed with the new upstream.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1691755200">- 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch be
  removed by Timo Jyrinki when updating to 5.68. I saw some reasons:
  - Upstream didn't take this patch:
    https://www.spinics.net/lists/linux-bluetooth/msg40136.html
  - Fedora also marked this patch in bluez.spec since bluez-5.68-2.fc39
    https://src.fedoraproject.org/rpms/bluez/blob/2b133d795f4f823c8b22ef5a07569792ad7ce6aa/f/bluez.spec
  We didn't put any bug number of this patch when it be introduced
  to bluez.spec since Nov 23, 2021. So, let's remove this patch unless
  upstream or Fedora add it back.</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692100800">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - The avrcp-Fix-crash-while-handling-unsupported-events.patch
    be merged to bluez-5.67 since 2023. (bsc#1210398)(CVE-2023-27349)</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1692187200">- For pushing bluez 5.68 to 15-SP6 (bluez-5.65), sync change log:
  (jsc#PED-5599)
  - RPi-Move-the-43xx-firmware-into-lib-firmware.patch be removed
    by Stefan Seyfried since updating to bluez-5.66. (bsc#995059)(bsc#1094902)
    Because the header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
    instead of patching. So we just supply FIRMWARE_DIR on compiler's
    command line in bluez.spec:
    export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"/lib/firmware\"'</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1692446400">- Use %_firmwaredir</changelog>
  <changelog author="Timo Jyrinki &lt;tjyrinki@suse.com&gt;" date="1693310400">- update to 5.69
  * Fix issue with BAP enabling state correctly when resuming.
  * Fix issue with detaching source ASEs only after Stop Ready.
  * Fix issue with handling VCP audio location and descriptor.
  * Fix issue with generating IRK for adapter with privacy enabled.
  * Add support for BAP broadcast sink.
- Add three new man pages</changelog>
  <changelog author="Joey Lee &lt;jlee@suse.com&gt;" date="1696420800">- Moved btmgmt to main rpm of bluez. (jsc#PED-6216)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1699272000">- update to 5.70:
  * Fix issue with not sending GATT confirmations.
  * Fix issue with not handling initiator properly.
  * Fix issue with not checking PBAP counter length.
  * Add support for MICP profile and MICS service.
- add Fix-.device_probe-failing-if-SDP-record-is-not.patch to fix
  regression when pairing game controllers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1702468800">- add CVE-2023-45866.patch (CVE-2023-45866, bsc#1217877)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- update to 5.71:
  * Fix issue with not registering CSIS service.
  * Fix issue with registering pairing callbacks.
  * Fix issue with corruption during discovery filter parsing.
- drop CVE-2023-45866.patch,
  Fix-.device_probe-failing-if-SDP-record-is-not.patch: upstream
- update bluez-disable-broken-tests.diff: disable failing vcp test</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1704283200">- add fix-link-key-address-type.patch - thanks to
  pallaswept for identifying the right patch for the pairing
  regression</changelog>
  <changelog author="Yifan Jiang &lt;yfjiang@suse.com&gt;" date="1709121600">- Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5)
  to bluez-obexd, so that file transfer features of the applications
  can be used by default (bsc#1209153).
- Update the description of bluez-obexd.</changelog>
  <changelog author="Daniel Garcia &lt;daniel.garcia@suse.com&gt;" date="1718107200">- Fix python3 shebang from test files (bsc#1212476)</changelog>
</package>
<package pkgid="763f69855500c9518f2cdcba0dc55a427978c90c29179b32403130cd5702af74f6379517a2456272e11ed991c1afa6f4815406209e151e22619077aa8151b884" name="boinc-client" arch="src">
  <version epoch="0" ver="8.0.2" rel="2.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1587556800">- Update to 7.16.6
  * client: add &lt;ignore_tty&gt; config file option (Unix)
  * client: if an output file is missing or bad length,
    mark workunit as error.
  * client: on startup, check for active task finish files.
  * client: fix bug in missing-file logic that cause task
    abort at startup.
  * client: fix bug that caused jobs to run after client exit.
  * client: don't unsuspend before sending quit message.
  * client: send task descriptions if requested by AM.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1598356800">- Update to release 7.16.9
  * Linux client: fix X-based idle detection
  * Drop X11 fallback as Wayland can show a desktop session with no
    X11 servers, but XWayland can be started temporarily (and is
    useless for idle detection).
  * client: avoid CPU starvation when GPU computing is suspended
  * client: do nott allow an empty GUI RPC password
  * client: let a project master URL change from http: to https: without involving the user.
  * Fix CORS for GUI RPC via HTTP
  * Converted Java parts to Kotlin
  * transitioner: Fix race condition with file_upload_handler
- Drop boinc-guirpcauth.patch (mostly merged; upstream has a
  slightly different solution, though)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1599307200">- Update to release 7.16.11
  * Changes to build procedure for other platforms
  * A locale-related fix is included</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 7.16.14:
  * macOS fixes</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1611230400">- pwdutils was dropped long time ago
- fix building (/etc/init.d does not exist)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1626436800">- Update to release 7.18
  * A number of fixes for other platforms like Android</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1633694400">- Update to release 7.18.1
  * Exporting event log wrote just 6 lines, which was fixed.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1634990400">- Drop boinc-gui.desktop and icons, because upstream provides a
  desktop entry with icons now.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1654603200">- Update to release 7.20.0
  * client: pass process priority to wrapper
  * client: Ignore tty(S|ACM) devices in TTY idle time
    calculation
  * client: fix overly aggressive project-wide file transfer
    backoff policy
  * client: fix work-fetch logic when max concurrent limits are
    used
  * manager: fix failure to connect to client with non-English
    language
- Let -devel subpackage follow the main package name.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1656849600">- Update to release 7.20.1
  * Manager: wxWidgets debug alert when switching between
    advanced and simple view.
  * BOINC did not gracefully handle capitalization discrepancies
  * client: fix #2837 had removed a special use case
    where idle was desired before work fetch, which was fixed
  * Manager: Memory access error on closedown
  * Manager: Search for skins to display on Simple View</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1658145600">- Update to release 7.20.2
  * client: if bandwidth limit is removed (up or down), remove
    limit from active transfers.
  * client: fix bug in work fetch logic for case of zero resource
    share and zero work buf.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669982400">- Update to release 7.20.5
  * Fix "Stop graphics" button operation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1674561600">- Update to relesae 7.22
  * Add not-in-use computing prefs
  * Update cpu/gpu resources when app_config is re-read</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1684756800">- Update to release 7.22.2
  * Fix a screensaver crash bug</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691496000">- Update to release 7.24
  * client: improve implementation of CPU throttling
  * client: set Content-type of POST requests to text/xml</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691841600">- Update to release 7.24.1
  * Resolve some crash on MacOS</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1704369600">- Use systemd-sysusers to create service user and group.
- Add service user to "render" group to allow BOINC applications
  to use GPU devices for accelerated computation. DRM render nodes
  have been restricted in sr#1128161.
- Remove unused SysV init script.
- Update README.SUSE and the logrotate configuration file to use
  systemctl instead of the no longer relevant init script.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Employ %sysuser macros to generate "boinc" user</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716724800">- Update to release 8.0.2
  * Support so-called "sporadic applications"</changelog>
  <changelog author="chris@computersalat.de" date="1719489600">- fix for bnc#1227092
  * Add WorkingDirectory= to unit file
- Add further Variables to unit file
  +ProtectSystem=full
  +ProtectControlGroups=true
  +ReadWritePaths=-$BOINC_BOINC_DIR
- rebase patches
  * boinc-docbook2x.patch
  * build-client-scripts.patch
  * libboinc-shared.patch
  * xlocale.patch</changelog>
</package>
<package pkgid="41242c6dd2ec104f76d182d44e39756adf836865df9c57b1d9c3547f3d4d1f52103e35372b282433a7133fa5f50f55b67e3e2fa0286c89cea026dfd6c0ebf5be" name="boinc-client" arch="x86_64">
  <version epoch="0" ver="8.0.2" rel="2.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 7.16.14:
  * macOS fixes</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1611230400">- pwdutils was dropped long time ago
- fix building (/etc/init.d does not exist)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1626436800">- Update to release 7.18
  * A number of fixes for other platforms like Android</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1633694400">- Update to release 7.18.1
  * Exporting event log wrote just 6 lines, which was fixed.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1634990400">- Drop boinc-gui.desktop and icons, because upstream provides a
  desktop entry with icons now.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1654603200">- Update to release 7.20.0
  * client: pass process priority to wrapper
  * client: Ignore tty(S|ACM) devices in TTY idle time
    calculation
  * client: fix overly aggressive project-wide file transfer
    backoff policy
  * client: fix work-fetch logic when max concurrent limits are
    used
  * manager: fix failure to connect to client with non-English
    language
- Let -devel subpackage follow the main package name.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1656849600">- Update to release 7.20.1
  * Manager: wxWidgets debug alert when switching between
    advanced and simple view.
  * BOINC did not gracefully handle capitalization discrepancies
  * client: fix #2837 had removed a special use case
    where idle was desired before work fetch, which was fixed
  * Manager: Memory access error on closedown
  * Manager: Search for skins to display on Simple View</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1658145600">- Update to release 7.20.2
  * client: if bandwidth limit is removed (up or down), remove
    limit from active transfers.
  * client: fix bug in work fetch logic for case of zero resource
    share and zero work buf.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669982400">- Update to release 7.20.5
  * Fix "Stop graphics" button operation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1674561600">- Update to relesae 7.22
  * Add not-in-use computing prefs
  * Update cpu/gpu resources when app_config is re-read</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1684756800">- Update to release 7.22.2
  * Fix a screensaver crash bug</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691496000">- Update to release 7.24
  * client: improve implementation of CPU throttling
  * client: set Content-type of POST requests to text/xml</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691841600">- Update to release 7.24.1
  * Resolve some crash on MacOS</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1704369600">- Use systemd-sysusers to create service user and group.
- Add service user to "render" group to allow BOINC applications
  to use GPU devices for accelerated computation. DRM render nodes
  have been restricted in sr#1128161.
- Remove unused SysV init script.
- Update README.SUSE and the logrotate configuration file to use
  systemctl instead of the no longer relevant init script.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Employ %sysuser macros to generate "boinc" user</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716724800">- Update to release 8.0.2
  * Support so-called "sporadic applications"</changelog>
  <changelog author="chris@computersalat.de" date="1719489600">- fix for bnc#1227092
  * Add WorkingDirectory= to unit file
- Add further Variables to unit file
  +ProtectSystem=full
  +ProtectControlGroups=true
  +ReadWritePaths=-$BOINC_BOINC_DIR
- rebase patches
  * boinc-docbook2x.patch
  * build-client-scripts.patch
  * libboinc-shared.patch
  * xlocale.patch</changelog>
</package>
<package pkgid="0021a3b711e357697b58f55fb24fcdc4c33bf004ed32917a98da529425665fc27da68571d76595167cb2a747d0dccd0fa866b0b8f6241245b416ec6458ed7039" name="boinc-client-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.2" rel="2.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 7.16.14:
  * macOS fixes</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1611230400">- pwdutils was dropped long time ago
- fix building (/etc/init.d does not exist)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1626436800">- Update to release 7.18
  * A number of fixes for other platforms like Android</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1633694400">- Update to release 7.18.1
  * Exporting event log wrote just 6 lines, which was fixed.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1634990400">- Drop boinc-gui.desktop and icons, because upstream provides a
  desktop entry with icons now.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1654603200">- Update to release 7.20.0
  * client: pass process priority to wrapper
  * client: Ignore tty(S|ACM) devices in TTY idle time
    calculation
  * client: fix overly aggressive project-wide file transfer
    backoff policy
  * client: fix work-fetch logic when max concurrent limits are
    used
  * manager: fix failure to connect to client with non-English
    language
- Let -devel subpackage follow the main package name.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1656849600">- Update to release 7.20.1
  * Manager: wxWidgets debug alert when switching between
    advanced and simple view.
  * BOINC did not gracefully handle capitalization discrepancies
  * client: fix #2837 had removed a special use case
    where idle was desired before work fetch, which was fixed
  * Manager: Memory access error on closedown
  * Manager: Search for skins to display on Simple View</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1658145600">- Update to release 7.20.2
  * client: if bandwidth limit is removed (up or down), remove
    limit from active transfers.
  * client: fix bug in work fetch logic for case of zero resource
    share and zero work buf.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669982400">- Update to release 7.20.5
  * Fix "Stop graphics" button operation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1674561600">- Update to relesae 7.22
  * Add not-in-use computing prefs
  * Update cpu/gpu resources when app_config is re-read</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1684756800">- Update to release 7.22.2
  * Fix a screensaver crash bug</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691496000">- Update to release 7.24
  * client: improve implementation of CPU throttling
  * client: set Content-type of POST requests to text/xml</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691841600">- Update to release 7.24.1
  * Resolve some crash on MacOS</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1704369600">- Use systemd-sysusers to create service user and group.
- Add service user to "render" group to allow BOINC applications
  to use GPU devices for accelerated computation. DRM render nodes
  have been restricted in sr#1128161.
- Remove unused SysV init script.
- Update README.SUSE and the logrotate configuration file to use
  systemctl instead of the no longer relevant init script.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Employ %sysuser macros to generate "boinc" user</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716724800">- Update to release 8.0.2
  * Support so-called "sporadic applications"</changelog>
  <changelog author="chris@computersalat.de" date="1719489600">- fix for bnc#1227092
  * Add WorkingDirectory= to unit file
- Add further Variables to unit file
  +ProtectSystem=full
  +ProtectControlGroups=true
  +ReadWritePaths=-$BOINC_BOINC_DIR
- rebase patches
  * boinc-docbook2x.patch
  * build-client-scripts.patch
  * libboinc-shared.patch
  * xlocale.patch</changelog>
</package>
<package pkgid="ca2eeeb829f4bbc4d48e2485a15f9e88aa032478b03be8472c5aa987a1df591fb6b0585de20898e433d10832e638d0011417f0acccc2fcb6724a7ca8553b8764" name="boinc-client-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.2" rel="2.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 7.16.14:
  * macOS fixes</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1611230400">- pwdutils was dropped long time ago
- fix building (/etc/init.d does not exist)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1626436800">- Update to release 7.18
  * A number of fixes for other platforms like Android</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1633694400">- Update to release 7.18.1
  * Exporting event log wrote just 6 lines, which was fixed.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1634990400">- Drop boinc-gui.desktop and icons, because upstream provides a
  desktop entry with icons now.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1654603200">- Update to release 7.20.0
  * client: pass process priority to wrapper
  * client: Ignore tty(S|ACM) devices in TTY idle time
    calculation
  * client: fix overly aggressive project-wide file transfer
    backoff policy
  * client: fix work-fetch logic when max concurrent limits are
    used
  * manager: fix failure to connect to client with non-English
    language
- Let -devel subpackage follow the main package name.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1656849600">- Update to release 7.20.1
  * Manager: wxWidgets debug alert when switching between
    advanced and simple view.
  * BOINC did not gracefully handle capitalization discrepancies
  * client: fix #2837 had removed a special use case
    where idle was desired before work fetch, which was fixed
  * Manager: Memory access error on closedown
  * Manager: Search for skins to display on Simple View</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1658145600">- Update to release 7.20.2
  * client: if bandwidth limit is removed (up or down), remove
    limit from active transfers.
  * client: fix bug in work fetch logic for case of zero resource
    share and zero work buf.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669982400">- Update to release 7.20.5
  * Fix "Stop graphics" button operation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1674561600">- Update to relesae 7.22
  * Add not-in-use computing prefs
  * Update cpu/gpu resources when app_config is re-read</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1684756800">- Update to release 7.22.2
  * Fix a screensaver crash bug</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691496000">- Update to release 7.24
  * client: improve implementation of CPU throttling
  * client: set Content-type of POST requests to text/xml</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691841600">- Update to release 7.24.1
  * Resolve some crash on MacOS</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1704369600">- Use systemd-sysusers to create service user and group.
- Add service user to "render" group to allow BOINC applications
  to use GPU devices for accelerated computation. DRM render nodes
  have been restricted in sr#1128161.
- Remove unused SysV init script.
- Update README.SUSE and the logrotate configuration file to use
  systemctl instead of the no longer relevant init script.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Employ %sysuser macros to generate "boinc" user</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716724800">- Update to release 8.0.2
  * Support so-called "sporadic applications"</changelog>
  <changelog author="chris@computersalat.de" date="1719489600">- fix for bnc#1227092
  * Add WorkingDirectory= to unit file
- Add further Variables to unit file
  +ProtectSystem=full
  +ProtectControlGroups=true
  +ReadWritePaths=-$BOINC_BOINC_DIR
- rebase patches
  * boinc-docbook2x.patch
  * build-client-scripts.patch
  * libboinc-shared.patch
  * xlocale.patch</changelog>
</package>
<package pkgid="27ca26c3bb7a53b47d8c7f913e7c9af6046d8b02300ff9d8905a73bf7facf77a1592076e2a59428a46efb63d0492cafaa2eb258d580ffe9e33e78f75ebee974b" name="boinc-client-devel" arch="x86_64">
  <version epoch="0" ver="8.0.2" rel="2.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 7.16.14:
  * macOS fixes</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1611230400">- pwdutils was dropped long time ago
- fix building (/etc/init.d does not exist)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1626436800">- Update to release 7.18
  * A number of fixes for other platforms like Android</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1633694400">- Update to release 7.18.1
  * Exporting event log wrote just 6 lines, which was fixed.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1634990400">- Drop boinc-gui.desktop and icons, because upstream provides a
  desktop entry with icons now.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1654603200">- Update to release 7.20.0
  * client: pass process priority to wrapper
  * client: Ignore tty(S|ACM) devices in TTY idle time
    calculation
  * client: fix overly aggressive project-wide file transfer
    backoff policy
  * client: fix work-fetch logic when max concurrent limits are
    used
  * manager: fix failure to connect to client with non-English
    language
- Let -devel subpackage follow the main package name.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1656849600">- Update to release 7.20.1
  * Manager: wxWidgets debug alert when switching between
    advanced and simple view.
  * BOINC did not gracefully handle capitalization discrepancies
  * client: fix #2837 had removed a special use case
    where idle was desired before work fetch, which was fixed
  * Manager: Memory access error on closedown
  * Manager: Search for skins to display on Simple View</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1658145600">- Update to release 7.20.2
  * client: if bandwidth limit is removed (up or down), remove
    limit from active transfers.
  * client: fix bug in work fetch logic for case of zero resource
    share and zero work buf.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669982400">- Update to release 7.20.5
  * Fix "Stop graphics" button operation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1674561600">- Update to relesae 7.22
  * Add not-in-use computing prefs
  * Update cpu/gpu resources when app_config is re-read</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1684756800">- Update to release 7.22.2
  * Fix a screensaver crash bug</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691496000">- Update to release 7.24
  * client: improve implementation of CPU throttling
  * client: set Content-type of POST requests to text/xml</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691841600">- Update to release 7.24.1
  * Resolve some crash on MacOS</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1704369600">- Use systemd-sysusers to create service user and group.
- Add service user to "render" group to allow BOINC applications
  to use GPU devices for accelerated computation. DRM render nodes
  have been restricted in sr#1128161.
- Remove unused SysV init script.
- Update README.SUSE and the logrotate configuration file to use
  systemctl instead of the no longer relevant init script.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Employ %sysuser macros to generate "boinc" user</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716724800">- Update to release 8.0.2
  * Support so-called "sporadic applications"</changelog>
  <changelog author="chris@computersalat.de" date="1719489600">- fix for bnc#1227092
  * Add WorkingDirectory= to unit file
- Add further Variables to unit file
  +ProtectSystem=full
  +ProtectControlGroups=true
  +ReadWritePaths=-$BOINC_BOINC_DIR
- rebase patches
  * boinc-docbook2x.patch
  * build-client-scripts.patch
  * libboinc-shared.patch
  * xlocale.patch</changelog>
</package>
<package pkgid="ac45e26667bc53a85c64021376c2d263b3f281d8f6a932fc4324535dba1270b07dc76374783fdf6ae80fd49a640ab453f3ed7e967a541c485db51f62e4eee008" name="boinc-client-lang" arch="noarch">
  <version epoch="0" ver="8.0.2" rel="2.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 7.16.14:
  * macOS fixes</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1611230400">- pwdutils was dropped long time ago
- fix building (/etc/init.d does not exist)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1626436800">- Update to release 7.18
  * A number of fixes for other platforms like Android</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1633694400">- Update to release 7.18.1
  * Exporting event log wrote just 6 lines, which was fixed.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1634990400">- Drop boinc-gui.desktop and icons, because upstream provides a
  desktop entry with icons now.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1654603200">- Update to release 7.20.0
  * client: pass process priority to wrapper
  * client: Ignore tty(S|ACM) devices in TTY idle time
    calculation
  * client: fix overly aggressive project-wide file transfer
    backoff policy
  * client: fix work-fetch logic when max concurrent limits are
    used
  * manager: fix failure to connect to client with non-English
    language
- Let -devel subpackage follow the main package name.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1656849600">- Update to release 7.20.1
  * Manager: wxWidgets debug alert when switching between
    advanced and simple view.
  * BOINC did not gracefully handle capitalization discrepancies
  * client: fix #2837 had removed a special use case
    where idle was desired before work fetch, which was fixed
  * Manager: Memory access error on closedown
  * Manager: Search for skins to display on Simple View</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1658145600">- Update to release 7.20.2
  * client: if bandwidth limit is removed (up or down), remove
    limit from active transfers.
  * client: fix bug in work fetch logic for case of zero resource
    share and zero work buf.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669982400">- Update to release 7.20.5
  * Fix "Stop graphics" button operation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1674561600">- Update to relesae 7.22
  * Add not-in-use computing prefs
  * Update cpu/gpu resources when app_config is re-read</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1684756800">- Update to release 7.22.2
  * Fix a screensaver crash bug</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691496000">- Update to release 7.24
  * client: improve implementation of CPU throttling
  * client: set Content-type of POST requests to text/xml</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691841600">- Update to release 7.24.1
  * Resolve some crash on MacOS</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1704369600">- Use systemd-sysusers to create service user and group.
- Add service user to "render" group to allow BOINC applications
  to use GPU devices for accelerated computation. DRM render nodes
  have been restricted in sr#1128161.
- Remove unused SysV init script.
- Update README.SUSE and the logrotate configuration file to use
  systemctl instead of the no longer relevant init script.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Employ %sysuser macros to generate "boinc" user</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716724800">- Update to release 8.0.2
  * Support so-called "sporadic applications"</changelog>
  <changelog author="chris@computersalat.de" date="1719489600">- fix for bnc#1227092
  * Add WorkingDirectory= to unit file
- Add further Variables to unit file
  +ProtectSystem=full
  +ProtectControlGroups=true
  +ReadWritePaths=-$BOINC_BOINC_DIR
- rebase patches
  * boinc-docbook2x.patch
  * build-client-scripts.patch
  * libboinc-shared.patch
  * xlocale.patch</changelog>
</package>
<package pkgid="6e953bbf088b04f3bd12bdebc4007446bc23e42b4ef9e460e0a323a4b6ca8c77d41abac5d0589d4db10c2a33616b4c515cb72a5e9157a810d43bcb800c35f84d" name="boinc-manager" arch="x86_64">
  <version epoch="0" ver="8.0.2" rel="2.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 7.16.14:
  * macOS fixes</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1611230400">- pwdutils was dropped long time ago
- fix building (/etc/init.d does not exist)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1626436800">- Update to release 7.18
  * A number of fixes for other platforms like Android</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1633694400">- Update to release 7.18.1
  * Exporting event log wrote just 6 lines, which was fixed.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1634990400">- Drop boinc-gui.desktop and icons, because upstream provides a
  desktop entry with icons now.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1654603200">- Update to release 7.20.0
  * client: pass process priority to wrapper
  * client: Ignore tty(S|ACM) devices in TTY idle time
    calculation
  * client: fix overly aggressive project-wide file transfer
    backoff policy
  * client: fix work-fetch logic when max concurrent limits are
    used
  * manager: fix failure to connect to client with non-English
    language
- Let -devel subpackage follow the main package name.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1656849600">- Update to release 7.20.1
  * Manager: wxWidgets debug alert when switching between
    advanced and simple view.
  * BOINC did not gracefully handle capitalization discrepancies
  * client: fix #2837 had removed a special use case
    where idle was desired before work fetch, which was fixed
  * Manager: Memory access error on closedown
  * Manager: Search for skins to display on Simple View</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1658145600">- Update to release 7.20.2
  * client: if bandwidth limit is removed (up or down), remove
    limit from active transfers.
  * client: fix bug in work fetch logic for case of zero resource
    share and zero work buf.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669982400">- Update to release 7.20.5
  * Fix "Stop graphics" button operation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1674561600">- Update to relesae 7.22
  * Add not-in-use computing prefs
  * Update cpu/gpu resources when app_config is re-read</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1684756800">- Update to release 7.22.2
  * Fix a screensaver crash bug</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691496000">- Update to release 7.24
  * client: improve implementation of CPU throttling
  * client: set Content-type of POST requests to text/xml</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691841600">- Update to release 7.24.1
  * Resolve some crash on MacOS</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1704369600">- Use systemd-sysusers to create service user and group.
- Add service user to "render" group to allow BOINC applications
  to use GPU devices for accelerated computation. DRM render nodes
  have been restricted in sr#1128161.
- Remove unused SysV init script.
- Update README.SUSE and the logrotate configuration file to use
  systemctl instead of the no longer relevant init script.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Employ %sysuser macros to generate "boinc" user</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716724800">- Update to release 8.0.2
  * Support so-called "sporadic applications"</changelog>
  <changelog author="chris@computersalat.de" date="1719489600">- fix for bnc#1227092
  * Add WorkingDirectory= to unit file
- Add further Variables to unit file
  +ProtectSystem=full
  +ProtectControlGroups=true
  +ReadWritePaths=-$BOINC_BOINC_DIR
- rebase patches
  * boinc-docbook2x.patch
  * build-client-scripts.patch
  * libboinc-shared.patch
  * xlocale.patch</changelog>
</package>
<package pkgid="ffbc5eade234c4192ae55d1d29928fdb5d82defb0b16ed86f9b94b6827d70ddd8fc772911180f98dad8784d9790173264d055a381a92ea1f9fcc4865cbd0ec13" name="boinc-manager-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.2" rel="2.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 7.16.14:
  * macOS fixes</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1611230400">- pwdutils was dropped long time ago
- fix building (/etc/init.d does not exist)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1626436800">- Update to release 7.18
  * A number of fixes for other platforms like Android</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1633694400">- Update to release 7.18.1
  * Exporting event log wrote just 6 lines, which was fixed.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1634990400">- Drop boinc-gui.desktop and icons, because upstream provides a
  desktop entry with icons now.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1654603200">- Update to release 7.20.0
  * client: pass process priority to wrapper
  * client: Ignore tty(S|ACM) devices in TTY idle time
    calculation
  * client: fix overly aggressive project-wide file transfer
    backoff policy
  * client: fix work-fetch logic when max concurrent limits are
    used
  * manager: fix failure to connect to client with non-English
    language
- Let -devel subpackage follow the main package name.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1656849600">- Update to release 7.20.1
  * Manager: wxWidgets debug alert when switching between
    advanced and simple view.
  * BOINC did not gracefully handle capitalization discrepancies
  * client: fix #2837 had removed a special use case
    where idle was desired before work fetch, which was fixed
  * Manager: Memory access error on closedown
  * Manager: Search for skins to display on Simple View</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1658145600">- Update to release 7.20.2
  * client: if bandwidth limit is removed (up or down), remove
    limit from active transfers.
  * client: fix bug in work fetch logic for case of zero resource
    share and zero work buf.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669982400">- Update to release 7.20.5
  * Fix "Stop graphics" button operation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1674561600">- Update to relesae 7.22
  * Add not-in-use computing prefs
  * Update cpu/gpu resources when app_config is re-read</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1684756800">- Update to release 7.22.2
  * Fix a screensaver crash bug</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691496000">- Update to release 7.24
  * client: improve implementation of CPU throttling
  * client: set Content-type of POST requests to text/xml</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691841600">- Update to release 7.24.1
  * Resolve some crash on MacOS</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1704369600">- Use systemd-sysusers to create service user and group.
- Add service user to "render" group to allow BOINC applications
  to use GPU devices for accelerated computation. DRM render nodes
  have been restricted in sr#1128161.
- Remove unused SysV init script.
- Update README.SUSE and the logrotate configuration file to use
  systemctl instead of the no longer relevant init script.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Employ %sysuser macros to generate "boinc" user</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716724800">- Update to release 8.0.2
  * Support so-called "sporadic applications"</changelog>
  <changelog author="chris@computersalat.de" date="1719489600">- fix for bnc#1227092
  * Add WorkingDirectory= to unit file
- Add further Variables to unit file
  +ProtectSystem=full
  +ProtectControlGroups=true
  +ReadWritePaths=-$BOINC_BOINC_DIR
- rebase patches
  * boinc-docbook2x.patch
  * build-client-scripts.patch
  * libboinc-shared.patch
  * xlocale.patch</changelog>
</package>
<package pkgid="2595bf3539dec9c068e4a1a19a0b4abf34edac5c8826ac3250c5cdc9f3c44551b2aa8a6e25e99057fd35fbfbe742aa554ff4337b03765e0940b69dafff418f49" name="boinc-manager-lang" arch="noarch">
  <version epoch="0" ver="8.0.2" rel="2.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 7.16.14:
  * macOS fixes</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1611230400">- pwdutils was dropped long time ago
- fix building (/etc/init.d does not exist)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1626436800">- Update to release 7.18
  * A number of fixes for other platforms like Android</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1633694400">- Update to release 7.18.1
  * Exporting event log wrote just 6 lines, which was fixed.</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1634990400">- Drop boinc-gui.desktop and icons, because upstream provides a
  desktop entry with icons now.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1654603200">- Update to release 7.20.0
  * client: pass process priority to wrapper
  * client: Ignore tty(S|ACM) devices in TTY idle time
    calculation
  * client: fix overly aggressive project-wide file transfer
    backoff policy
  * client: fix work-fetch logic when max concurrent limits are
    used
  * manager: fix failure to connect to client with non-English
    language
- Let -devel subpackage follow the main package name.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1656849600">- Update to release 7.20.1
  * Manager: wxWidgets debug alert when switching between
    advanced and simple view.
  * BOINC did not gracefully handle capitalization discrepancies
  * client: fix #2837 had removed a special use case
    where idle was desired before work fetch, which was fixed
  * Manager: Memory access error on closedown
  * Manager: Search for skins to display on Simple View</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1658145600">- Update to release 7.20.2
  * client: if bandwidth limit is removed (up or down), remove
    limit from active transfers.
  * client: fix bug in work fetch logic for case of zero resource
    share and zero work buf.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1669982400">- Update to release 7.20.5
  * Fix "Stop graphics" button operation</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1674561600">- Update to relesae 7.22
  * Add not-in-use computing prefs
  * Update cpu/gpu resources when app_config is re-read</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1684756800">- Update to release 7.22.2
  * Fix a screensaver crash bug</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691496000">- Update to release 7.24
  * client: improve implementation of CPU throttling
  * client: set Content-type of POST requests to text/xml</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1691841600">- Update to release 7.24.1
  * Resolve some crash on MacOS</changelog>
  <changelog author="Aaron Puchert &lt;aaronpuchert@alice-dsl.net&gt;" date="1704369600">- Use systemd-sysusers to create service user and group.
- Add service user to "render" group to allow BOINC applications
  to use GPU devices for accelerated computation. DRM render nodes
  have been restricted in sr#1128161.
- Remove unused SysV init script.
- Update README.SUSE and the logrotate configuration file to use
  systemctl instead of the no longer relevant init script.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1706961600">- Employ %sysuser macros to generate "boinc" user</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716724800">- Update to release 8.0.2
  * Support so-called "sporadic applications"</changelog>
  <changelog author="chris@computersalat.de" date="1719489600">- fix for bnc#1227092
  * Add WorkingDirectory= to unit file
- Add further Variables to unit file
  +ProtectSystem=full
  +ProtectControlGroups=true
  +ReadWritePaths=-$BOINC_BOINC_DIR
- rebase patches
  * boinc-docbook2x.patch
  * build-client-scripts.patch
  * libboinc-shared.patch
  * xlocale.patch</changelog>
</package>
<package pkgid="580ed5aeffd0fcfe9a00c06ef34e32d04a4e6c420add954072774343cd8fc5d3c929743834e2a76c205e59d440ce772f61396679b6e7523da1f031e8067e59e4" name="bomber" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: switch to official 6.6 runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Remove documentation that doesn't compile</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appstream: use developer tag with name KDE
  * Bump min required KF6 to 6.0
  * Drop support for KF5's deprecated KToolInvocation</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="69769c7bc500b59f1296addd4502cf6b2a0411373a0876e47ea469fe5de1e998f09fe9e30322611d19a519c58f5f07971260112f51285406b64de8a0c531eaec" name="bomber" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: switch to official 6.6 runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Remove documentation that doesn't compile</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appstream: use developer tag with name KDE
  * Bump min required KF6 to 6.0
  * Drop support for KF5's deprecated KToolInvocation</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="e5f5768c7f507093e56537e60572ed3d2662d83bb9c0559df5269f14c973801e2b7c373d1a74cebb9c63287c79c289d27852575509d0d1b8df94d9ac20c000e4" name="bomber-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: switch to official 6.6 runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Remove documentation that doesn't compile</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appstream: use developer tag with name KDE
  * Bump min required KF6 to 6.0
  * Drop support for KF5's deprecated KToolInvocation</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="e8408684ecbe8effd20a6eeb201069863e03cfdfe28e948004e57c624dd3e30771033e2a77e0ee380ae47132450d621ab4f52fc3e03479faa901253a5dc6af51" name="bomber-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: switch to official 6.6 runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Remove documentation that doesn't compile</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appstream: use developer tag with name KDE
  * Bump min required KF6 to 6.0
  * Drop support for KF5's deprecated KToolInvocation</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="e5e42992775dced96daa31935ce1398229b9699d9f90a4307ca3250e1f6f68bd5c90dba6999c270550c5d096a5774de3f610d3d3e6ed52a7a982370d30773043" name="bomber-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: switch to official 6.6 runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- Changes since 24.02.1:
  * Remove documentation that doesn't compile</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appstream: use developer tag with name KDE
  * Bump min required KF6 to 6.0
  * Drop support for KF5's deprecated KToolInvocation</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="64c93058a40c577dc5435ae606e90c25a363c165bb8b97ec61f7f5d888c7c7de759b28de8031fad3b457a225c5bd6ddad2624ea49f7ebf5751772018012e0825" name="booth" arch="src">
  <version epoch="0" ver="1.2+git0.322fea0" rel="1.1"/>
  <changelog author="tchvatal@suse.com" date="1467288000">- Reduce conditionals to only keep the default values
- Run systemd macros in proper phases
- Convert to pkgconfig dependencies</changelog>
  <changelog author="ygao@suse.com" date="1468411200">- spec: Set the owner of /etc/booth and booth.conf.example to hacluster:haclient (bsc#968865)</changelog>
  <changelog author="ygao@suse.com" date="1487160000">- spec: fix booth-test containing undesired build sources
- make log contain source address of unknown site
- main: initialize Libcrypt properly before the first use (bsc#1025463)
- extprog: fix race condition on ticket loss (bsc#1025463)
- attr: fix wrong order for hash free functions (bsc#1025463)
- attr: set time string to "" when time is not set
- extprog: fix pid test
- ticket: reset next state on ticket reset
- alternative logger (in service-runnable script)
- allow skipping "coredump nursing" phase
- alternative "nametag" provider: libsystemd
- alternative range2random provider: glib
- alternative logging provider: libqb
- offer alternatives to libraries from (cluster-)glue
- setup_tcp_listener: close socket when no longer needed
- read_client: sizeof(*struct_ptr) instead of sizeof(struct_ptr) (bsc#1025463)
- get_local_id: denoopize dependent condition (signedness issue) (bsc#1025463)
- list_ticket: fix a memleak in case of buffer too small (bsc#1025463)
- do_status: close lock file when no longer needed
- format_peers: fix a memleak in case of buffer too small (bsc#1025463)
- read_config: close config file when no longer needed
- make foreach_* macros use variable refs passed as arguments (bsc#1025463)
- prevent possible truncation w/ invalid geoattrs in CIB (bsc#1025463)
- build: add proper zlib build-time check + link flag + spec's BR
- build: allow requesting no HTML man + use in spec
- fixup: sanitize true-false logic for "daemonize"
- Upstream version cs: b270a78130f40e648844671b3652919d86e1aef4</changelog>
  <changelog author="ckowalczyk@suse.com" date="1496404800">- Build: create and set working directory (bsc#1039727)
  * bug-1039727_booth-build.patch
- Configuration: handle hostnames in booth.conf file (bsc#1037422)
- Upstream version cs: bbddf969550969784b76b743baecdcf72796bdf7</changelog>
  <changelog author="ckowalczyk@suse.com" date="1498132800">- Clinet commands: fixed local IP addresses for booth grant, list, and peers
  commands (bsc#1045067)
  * bug-1045067_booth-fix-booth-grant-cmd.patch
- Patch bug-1039727_booth-build.patch merged to upstream:
  * Build: create and set working directory (bsc#1039727)
- Upstream version cs: 766d61881b2cb576645821322edda0edea04828d</changelog>
  <changelog author="ckowalczyk@suse.com" date="1512129600">- Tickets: added manual tickets, which allow handling 2-site setup
  (fate#322100)
- Debug mode: fixed the interaction with resource agents (bsc#1046790)
- Patch file bug-1045067_booth-fix-booth-grant-cmd.patch has been removed
  after the code being merged to upstream:
  * Clinet commands: fixed local IP addresses for booth grant, list,
    and peers commands (bsc#1045067)
- Upstream version cs: d4cb8cbdaf87e46f636c3d06730b902b79bdcb9c</changelog>
  <changelog author="ckowalczyk@suse.com" date="1519300800">- Build: replace SuSEFirewall2 by firewalld (fate#320794) in booth.spec
- Upstream version cs: 80199f9477fb4fbf8809f31986139efe3f4ef790</changelog>
  <changelog author="ckowalczyk@suse.com" date="1525089600">- Doc: fix the documentation build with asciidoctor (bsc#1075764):
  * fix_asciidoc_build.patch
- Service: restart arbitrator on failure
- Upstream version cs: c2389e3020e8a3780b679cf0c9857bd608e99fa1</changelog>
  <changelog author="aburlakov@suse.com" date="1547726400">- Update to version 1.0+20190112.497c0b9:
  * fix_asciidoc_build.patch is removed, because the tarball already contains the changes.
  * Low: handler: fix spurious warning on alleged "fall-through" in switch (bsc#1123312)
  * Low: main: fix hypothetical file path double traversal discrepancy (bsc#1123310)
  * Med: attr: fix derefence of unspecified value pointer (bsc#1123308)
  * maint: ocf + script: eliminate some false positives with ShellCheck (bsc#1123303)
  * test: unit-test.py: daemon will not stay in foreground with -D anymore (bsc#1123302)
  * test: avoid dangerous mutable/sticky default value (bsc#1123301)
  * test: drop/comment out superfluous imports (bsc#1123300)
  * test: drop underqualified identifier in unittest's 2.6 compat "polyfill" (bsc#1123299)
  * test: remove superfluous shebangs for import-only modules (bsc#1123297)
  * maint: fix typos introduced in 4bb484a (bsc#1123296)
  * maint: fix thinko in .gitignore introduced in 5a457ee (bsc#1123294)
  * Fix malformed man title (bsc#1123290)
  * Handle multi-leader situation for manual tickets. Added manual tickets to Life Tests framework (bsc#1123289)
  * Feature: add manual mode to booth tickets (bsc#1123287)
  * Fix GCC-7 warning on buffer size (bsc#1123285)</changelog>
  <changelog author="aburlakov@suse.com" date="1548676800">- test: fix read -a &lt;&lt;&lt; issue (bsc#1123313)
  * test-fix-read-a-issue.patch</changelog>
  <changelog author="Callum Farmer &lt;callumjfarmer13@gmail.com&gt;" date="1597838400">- Fixes for %_libexecdir changing to /usr/libexec (bsc#1174075)</changelog>
  <changelog author="aburlakov@suse.com" date="1600257600">- Update to version 1.0+20200702.2f043da:
  * transport: Check fcntl return value
  * transport: setsockopt failures are not critical
  * pacemaker: Change rv handling of pcmk_get_attr
  * pacemaker: Express intention about logical or
  * main: mkdir failure is not critical
  * pacemaker: Handle updated exit code of crm_ticket
  * main: Delete lockfile when signal arrive too early
  * main: Accept longer config and lock file names
  * Fix gcc-10 warnings for multiple definition of pcmk_handler
  * Fix gcc-10 warnings for packed struct members
  * Use pkg-config to configure libxml-2.0</changelog>
  <changelog author="varkoly@suse.com" date="1622116800">- Update to version 1.0+20210519.bfb2f92:
  * config: Remove deprecated net functions
  * configure: drop unnecessary check and define
  * configure: move exec_prefix sanitizer closer to prefix
  * configure: drop dead code
  * configure: drop unnecessary macro
  * configure: use PKG_CONFIG to detect pacemaker user/group
  * configure: use resource-agents pkg-config info to determine ocfdir
  * configure: add BOOTH_PKG_CHECK_VAR macro to wrap PKG_CHECK_VAR
  * configure: detect and init pkg-config with proper macro
  * configure: Simplify libqb detection when libqb is not installed in standard paths
  * [build] ship booth.pc with basic booth build information for downstream packages to use
  * booth.spec: Change naming scheme for upgrades
  * boot.spec.in: Package html files when generated
  * build: Fix building of html docs with asciidoc
  * git-version-gen: Use fallback for git-archive
  * configure: Make sure without-html_man works
  * test: Add compatibility with iproute ss command
  * test: fix the delimiter in the here-string
  * build: Remove bashisms
  * booth.spec: Add fedora compatibility provides
  * build: Add option to enable tests during rpmbuild
  * build: Substitute hauser and haclient in RPM
  * build: Substitute python dependency in RPM
  * build: Substitute glue dependency in RPM
  * build: Substitute asciidoc or asciidoctor for RPM
  * build: Rework build of RPM
  * build: Use git-version-gen
  * configure: Always let automake set python vars
  * build: Delete cov directory on clean
  * build: Make sure tarball contains all needed files
  * build: Remove unneeded OS detection section
  * build: Make generating of HTML man work
- remove applied patch
  test-fix-read-a-issue.patch</changelog>
  <changelog author="Matej Cepl &lt;mcepl@suse.com&gt;" date="1632830400">- Use Python 3 for -test subpackage.</changelog>
  <changelog author="pgajdos@suse.com" date="1659009600">- Update to version 1.0+20220724.dce51f9:
  * ticket: Fix compiler warning
  * rpm: use new package name for pacemaker devel on opensuse
  * Revert "Refactor: main: substitute is_auth_req macro"
  * doc: Describe debug config file option
  * handler: Use only signal-safe functions
  * main: Use only signal-safe functions
  * fix bashisms (use printf instead of echo)
- fixes CVE-2022-2553 [bsc#1201946]</changelog>
  <changelog author="Yan Gao &lt;ygao@suse.com&gt;" date="1663070400">- Update to version 1.0+20220815.f40c2d5:
  * configure: Modernize configure.ac a bit
- spec: BuildRequires firewall-macros (bsc#1202959)
- spec: optionally BuildRequires cluster-glue-devel instead of libglue-devel</changelog>
  <changelog author="varkoly@suse.com" date="1678968000">- Update to version 1.0+20221117.9d4029a:
  * man: Add generated html files into gitignore
  * man: remove literal paragraph format from boothd.8
  * man: Remove italic bold formatting
  * man: Do not format __defaults__
  * man: Indent peers counters
  * man: Move debug description to better place
  * test: Add test for unknown/unexpected keyword
  * config: Include protocol in error message
  * config: Include keyword in error message
  * unit file: Remove Alias directive</changelog>
  <changelog author="Peter Varkoly &lt;varkoly@suse.com&gt;" date="1699963200">- Update to version 1.1+git0.09b0074:
  * build: Prepare version 1.1 release
  * build: Make distcheck work for non-root user
  * build: Include icons in release tarballs
  * build: Add release.mk
  * build: Add gitlog-to-changelog
  * tests: Fix Python 3.12 warning
  * attr: Fix glib hash_table != NULL assert
  * attr: Fix memory leak for list and get operation
  * main: Fix exit code on grant/revoke command error
  * spec: Migrate to SPDX license
- Added hardening to systemd service(s). Added patch(es):
  * harden_booth-arbitrator.service.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN</changelog>
  <changelog author="pgajdos@suse.com" date="1718107200">- Update to version 1.2+git0.322fea0 (CVE-2024-3049 [bsc#1226032]):
  * build: Prepare version 1.2 release
  * Add support for GnuTLS
  * configure: Add option to select HMAC library
  * configure: Remove duplicate mhash.h check
  * auth: Check result of gcrypt gcry_md_get_algo_dlen
  * attr: Fix reading of server_reply
  * pacemaker: Store booth-cfg-name attribute
  * transport: Fix _find_myself for kernel 6.9
  * tests: Remove the unit-tests directory.
  * query_get_string_answer: Remove duplicate line
  * pacemaker: Remove const warning
  * pacemaker: Use long format for crm_ticket -v
  * pacemaker: Check snprintf return values
  * pacemaker: Don't add explicit error prefix in log
  * pacemaker: Remove non-atomic grant of ticket</changelog>
</package>
<package pkgid="6a8aaa517af9cb0289c6429448b506e90776623ec751d10f64c8d7ed3382b00eb53d14fe8f3a78970ba55a34623894ff17513d48b4f4bba401f7eea44db51bac" name="booth" arch="x86_64">
  <version epoch="0" ver="1.2+git0.322fea0" rel="1.1"/>
  <changelog author="Callum Farmer &lt;callumjfarmer13@gmail.com&gt;" date="1597838400">- Fixes for %_libexecdir changing to /usr/libexec (bsc#1174075)</changelog>
  <changelog author="aburlakov@suse.com" date="1600257600">- Update to version 1.0+20200702.2f043da:
  * transport: Check fcntl return value
  * transport: setsockopt failures are not critical
  * pacemaker: Change rv handling of pcmk_get_attr
  * pacemaker: Express intention about logical or
  * main: mkdir failure is not critical
  * pacemaker: Handle updated exit code of crm_ticket
  * main: Delete lockfile when signal arrive too early
  * main: Accept longer config and lock file names
  * Fix gcc-10 warnings for multiple definition of pcmk_handler
  * Fix gcc-10 warnings for packed struct members
  * Use pkg-config to configure libxml-2.0</changelog>
  <changelog author="varkoly@suse.com" date="1622116800">- Update to version 1.0+20210519.bfb2f92:
  * config: Remove deprecated net functions
  * configure: drop unnecessary check and define
  * configure: move exec_prefix sanitizer closer to prefix
  * configure: drop dead code
  * configure: drop unnecessary macro
  * configure: use PKG_CONFIG to detect pacemaker user/group
  * configure: use resource-agents pkg-config info to determine ocfdir
  * configure: add BOOTH_PKG_CHECK_VAR macro to wrap PKG_CHECK_VAR
  * configure: detect and init pkg-config with proper macro
  * configure: Simplify libqb detection when libqb is not installed in standard paths
  * [build] ship booth.pc with basic booth build information for downstream packages to use
  * booth.spec: Change naming scheme for upgrades
  * boot.spec.in: Package html files when generated
  * build: Fix building of html docs with asciidoc
  * git-version-gen: Use fallback for git-archive
  * configure: Make sure without-html_man works
  * test: Add compatibility with iproute ss command
  * test: fix the delimiter in the here-string
  * build: Remove bashisms
  * booth.spec: Add fedora compatibility provides
  * build: Add option to enable tests during rpmbuild
  * build: Substitute hauser and haclient in RPM
  * build: Substitute python dependency in RPM
  * build: Substitute glue dependency in RPM
  * build: Substitute asciidoc or asciidoctor for RPM
  * build: Rework build of RPM
  * build: Use git-version-gen
  * configure: Always let automake set python vars
  * build: Delete cov directory on clean
  * build: Make sure tarball contains all needed files
  * build: Remove unneeded OS detection section
  * build: Make generating of HTML man work
- remove applied patch
  test-fix-read-a-issue.patch</changelog>
  <changelog author="Matej Cepl &lt;mcepl@suse.com&gt;" date="1632830400">- Use Python 3 for -test subpackage.</changelog>
  <changelog author="pgajdos@suse.com" date="1659009600">- Update to version 1.0+20220724.dce51f9:
  * ticket: Fix compiler warning
  * rpm: use new package name for pacemaker devel on opensuse
  * Revert "Refactor: main: substitute is_auth_req macro"
  * doc: Describe debug config file option
  * handler: Use only signal-safe functions
  * main: Use only signal-safe functions
  * fix bashisms (use printf instead of echo)
- fixes CVE-2022-2553 [bsc#1201946]</changelog>
  <changelog author="Yan Gao &lt;ygao@suse.com&gt;" date="1663070400">- Update to version 1.0+20220815.f40c2d5:
  * configure: Modernize configure.ac a bit
- spec: BuildRequires firewall-macros (bsc#1202959)
- spec: optionally BuildRequires cluster-glue-devel instead of libglue-devel</changelog>
  <changelog author="varkoly@suse.com" date="1678968000">- Update to version 1.0+20221117.9d4029a:
  * man: Add generated html files into gitignore
  * man: remove literal paragraph format from boothd.8
  * man: Remove italic bold formatting
  * man: Do not format __defaults__
  * man: Indent peers counters
  * man: Move debug description to better place
  * test: Add test for unknown/unexpected keyword
  * config: Include protocol in error message
  * config: Include keyword in error message
  * unit file: Remove Alias directive</changelog>
  <changelog author="Peter Varkoly &lt;varkoly@suse.com&gt;" date="1699963200">- Update to version 1.1+git0.09b0074:
  * build: Prepare version 1.1 release
  * build: Make distcheck work for non-root user
  * build: Include icons in release tarballs
  * build: Add release.mk
  * build: Add gitlog-to-changelog
  * tests: Fix Python 3.12 warning
  * attr: Fix glib hash_table != NULL assert
  * attr: Fix memory leak for list and get operation
  * main: Fix exit code on grant/revoke command error
  * spec: Migrate to SPDX license
- Added hardening to systemd service(s). Added patch(es):
  * harden_booth-arbitrator.service.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN</changelog>
  <changelog author="pgajdos@suse.com" date="1718107200">- Update to version 1.2+git0.322fea0 (CVE-2024-3049 [bsc#1226032]):
  * build: Prepare version 1.2 release
  * Add support for GnuTLS
  * configure: Add option to select HMAC library
  * configure: Remove duplicate mhash.h check
  * auth: Check result of gcrypt gcry_md_get_algo_dlen
  * attr: Fix reading of server_reply
  * pacemaker: Store booth-cfg-name attribute
  * transport: Fix _find_myself for kernel 6.9
  * tests: Remove the unit-tests directory.
  * query_get_string_answer: Remove duplicate line
  * pacemaker: Remove const warning
  * pacemaker: Use long format for crm_ticket -v
  * pacemaker: Check snprintf return values
  * pacemaker: Don't add explicit error prefix in log
  * pacemaker: Remove non-atomic grant of ticket</changelog>
</package>
<package pkgid="397915a42cdc5a170e56f7939a9625c3199478e293d1921c8e156fce20119944f80a984d195e235d4b3c90ef290756d086b9c657d1807a1ccd8c89fee0b2e9c8" name="booth-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2+git0.322fea0" rel="1.1"/>
  <changelog author="Callum Farmer &lt;callumjfarmer13@gmail.com&gt;" date="1597838400">- Fixes for %_libexecdir changing to /usr/libexec (bsc#1174075)</changelog>
  <changelog author="aburlakov@suse.com" date="1600257600">- Update to version 1.0+20200702.2f043da:
  * transport: Check fcntl return value
  * transport: setsockopt failures are not critical
  * pacemaker: Change rv handling of pcmk_get_attr
  * pacemaker: Express intention about logical or
  * main: mkdir failure is not critical
  * pacemaker: Handle updated exit code of crm_ticket
  * main: Delete lockfile when signal arrive too early
  * main: Accept longer config and lock file names
  * Fix gcc-10 warnings for multiple definition of pcmk_handler
  * Fix gcc-10 warnings for packed struct members
  * Use pkg-config to configure libxml-2.0</changelog>
  <changelog author="varkoly@suse.com" date="1622116800">- Update to version 1.0+20210519.bfb2f92:
  * config: Remove deprecated net functions
  * configure: drop unnecessary check and define
  * configure: move exec_prefix sanitizer closer to prefix
  * configure: drop dead code
  * configure: drop unnecessary macro
  * configure: use PKG_CONFIG to detect pacemaker user/group
  * configure: use resource-agents pkg-config info to determine ocfdir
  * configure: add BOOTH_PKG_CHECK_VAR macro to wrap PKG_CHECK_VAR
  * configure: detect and init pkg-config with proper macro
  * configure: Simplify libqb detection when libqb is not installed in standard paths
  * [build] ship booth.pc with basic booth build information for downstream packages to use
  * booth.spec: Change naming scheme for upgrades
  * boot.spec.in: Package html files when generated
  * build: Fix building of html docs with asciidoc
  * git-version-gen: Use fallback for git-archive
  * configure: Make sure without-html_man works
  * test: Add compatibility with iproute ss command
  * test: fix the delimiter in the here-string
  * build: Remove bashisms
  * booth.spec: Add fedora compatibility provides
  * build: Add option to enable tests during rpmbuild
  * build: Substitute hauser and haclient in RPM
  * build: Substitute python dependency in RPM
  * build: Substitute glue dependency in RPM
  * build: Substitute asciidoc or asciidoctor for RPM
  * build: Rework build of RPM
  * build: Use git-version-gen
  * configure: Always let automake set python vars
  * build: Delete cov directory on clean
  * build: Make sure tarball contains all needed files
  * build: Remove unneeded OS detection section
  * build: Make generating of HTML man work
- remove applied patch
  test-fix-read-a-issue.patch</changelog>
  <changelog author="Matej Cepl &lt;mcepl@suse.com&gt;" date="1632830400">- Use Python 3 for -test subpackage.</changelog>
  <changelog author="pgajdos@suse.com" date="1659009600">- Update to version 1.0+20220724.dce51f9:
  * ticket: Fix compiler warning
  * rpm: use new package name for pacemaker devel on opensuse
  * Revert "Refactor: main: substitute is_auth_req macro"
  * doc: Describe debug config file option
  * handler: Use only signal-safe functions
  * main: Use only signal-safe functions
  * fix bashisms (use printf instead of echo)
- fixes CVE-2022-2553 [bsc#1201946]</changelog>
  <changelog author="Yan Gao &lt;ygao@suse.com&gt;" date="1663070400">- Update to version 1.0+20220815.f40c2d5:
  * configure: Modernize configure.ac a bit
- spec: BuildRequires firewall-macros (bsc#1202959)
- spec: optionally BuildRequires cluster-glue-devel instead of libglue-devel</changelog>
  <changelog author="varkoly@suse.com" date="1678968000">- Update to version 1.0+20221117.9d4029a:
  * man: Add generated html files into gitignore
  * man: remove literal paragraph format from boothd.8
  * man: Remove italic bold formatting
  * man: Do not format __defaults__
  * man: Indent peers counters
  * man: Move debug description to better place
  * test: Add test for unknown/unexpected keyword
  * config: Include protocol in error message
  * config: Include keyword in error message
  * unit file: Remove Alias directive</changelog>
  <changelog author="Peter Varkoly &lt;varkoly@suse.com&gt;" date="1699963200">- Update to version 1.1+git0.09b0074:
  * build: Prepare version 1.1 release
  * build: Make distcheck work for non-root user
  * build: Include icons in release tarballs
  * build: Add release.mk
  * build: Add gitlog-to-changelog
  * tests: Fix Python 3.12 warning
  * attr: Fix glib hash_table != NULL assert
  * attr: Fix memory leak for list and get operation
  * main: Fix exit code on grant/revoke command error
  * spec: Migrate to SPDX license
- Added hardening to systemd service(s). Added patch(es):
  * harden_booth-arbitrator.service.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN</changelog>
  <changelog author="pgajdos@suse.com" date="1718107200">- Update to version 1.2+git0.322fea0 (CVE-2024-3049 [bsc#1226032]):
  * build: Prepare version 1.2 release
  * Add support for GnuTLS
  * configure: Add option to select HMAC library
  * configure: Remove duplicate mhash.h check
  * auth: Check result of gcrypt gcry_md_get_algo_dlen
  * attr: Fix reading of server_reply
  * pacemaker: Store booth-cfg-name attribute
  * transport: Fix _find_myself for kernel 6.9
  * tests: Remove the unit-tests directory.
  * query_get_string_answer: Remove duplicate line
  * pacemaker: Remove const warning
  * pacemaker: Use long format for crm_ticket -v
  * pacemaker: Check snprintf return values
  * pacemaker: Don't add explicit error prefix in log
  * pacemaker: Remove non-atomic grant of ticket</changelog>
</package>
<package pkgid="3864e613345986e7412a4c762000e5a8bf55ea5ee7bd2cf9b118541c9eda9f3ee6dd8adfabe0964dce6551da65bbdd9ba73e0814310c61bc1eb9ca7f7ad083fe" name="booth-debugsource" arch="x86_64">
  <version epoch="0" ver="1.2+git0.322fea0" rel="1.1"/>
  <changelog author="Callum Farmer &lt;callumjfarmer13@gmail.com&gt;" date="1597838400">- Fixes for %_libexecdir changing to /usr/libexec (bsc#1174075)</changelog>
  <changelog author="aburlakov@suse.com" date="1600257600">- Update to version 1.0+20200702.2f043da:
  * transport: Check fcntl return value
  * transport: setsockopt failures are not critical
  * pacemaker: Change rv handling of pcmk_get_attr
  * pacemaker: Express intention about logical or
  * main: mkdir failure is not critical
  * pacemaker: Handle updated exit code of crm_ticket
  * main: Delete lockfile when signal arrive too early
  * main: Accept longer config and lock file names
  * Fix gcc-10 warnings for multiple definition of pcmk_handler
  * Fix gcc-10 warnings for packed struct members
  * Use pkg-config to configure libxml-2.0</changelog>
  <changelog author="varkoly@suse.com" date="1622116800">- Update to version 1.0+20210519.bfb2f92:
  * config: Remove deprecated net functions
  * configure: drop unnecessary check and define
  * configure: move exec_prefix sanitizer closer to prefix
  * configure: drop dead code
  * configure: drop unnecessary macro
  * configure: use PKG_CONFIG to detect pacemaker user/group
  * configure: use resource-agents pkg-config info to determine ocfdir
  * configure: add BOOTH_PKG_CHECK_VAR macro to wrap PKG_CHECK_VAR
  * configure: detect and init pkg-config with proper macro
  * configure: Simplify libqb detection when libqb is not installed in standard paths
  * [build] ship booth.pc with basic booth build information for downstream packages to use
  * booth.spec: Change naming scheme for upgrades
  * boot.spec.in: Package html files when generated
  * build: Fix building of html docs with asciidoc
  * git-version-gen: Use fallback for git-archive
  * configure: Make sure without-html_man works
  * test: Add compatibility with iproute ss command
  * test: fix the delimiter in the here-string
  * build: Remove bashisms
  * booth.spec: Add fedora compatibility provides
  * build: Add option to enable tests during rpmbuild
  * build: Substitute hauser and haclient in RPM
  * build: Substitute python dependency in RPM
  * build: Substitute glue dependency in RPM
  * build: Substitute asciidoc or asciidoctor for RPM
  * build: Rework build of RPM
  * build: Use git-version-gen
  * configure: Always let automake set python vars
  * build: Delete cov directory on clean
  * build: Make sure tarball contains all needed files
  * build: Remove unneeded OS detection section
  * build: Make generating of HTML man work
- remove applied patch
  test-fix-read-a-issue.patch</changelog>
  <changelog author="Matej Cepl &lt;mcepl@suse.com&gt;" date="1632830400">- Use Python 3 for -test subpackage.</changelog>
  <changelog author="pgajdos@suse.com" date="1659009600">- Update to version 1.0+20220724.dce51f9:
  * ticket: Fix compiler warning
  * rpm: use new package name for pacemaker devel on opensuse
  * Revert "Refactor: main: substitute is_auth_req macro"
  * doc: Describe debug config file option
  * handler: Use only signal-safe functions
  * main: Use only signal-safe functions
  * fix bashisms (use printf instead of echo)
- fixes CVE-2022-2553 [bsc#1201946]</changelog>
  <changelog author="Yan Gao &lt;ygao@suse.com&gt;" date="1663070400">- Update to version 1.0+20220815.f40c2d5:
  * configure: Modernize configure.ac a bit
- spec: BuildRequires firewall-macros (bsc#1202959)
- spec: optionally BuildRequires cluster-glue-devel instead of libglue-devel</changelog>
  <changelog author="varkoly@suse.com" date="1678968000">- Update to version 1.0+20221117.9d4029a:
  * man: Add generated html files into gitignore
  * man: remove literal paragraph format from boothd.8
  * man: Remove italic bold formatting
  * man: Do not format __defaults__
  * man: Indent peers counters
  * man: Move debug description to better place
  * test: Add test for unknown/unexpected keyword
  * config: Include protocol in error message
  * config: Include keyword in error message
  * unit file: Remove Alias directive</changelog>
  <changelog author="Peter Varkoly &lt;varkoly@suse.com&gt;" date="1699963200">- Update to version 1.1+git0.09b0074:
  * build: Prepare version 1.1 release
  * build: Make distcheck work for non-root user
  * build: Include icons in release tarballs
  * build: Add release.mk
  * build: Add gitlog-to-changelog
  * tests: Fix Python 3.12 warning
  * attr: Fix glib hash_table != NULL assert
  * attr: Fix memory leak for list and get operation
  * main: Fix exit code on grant/revoke command error
  * spec: Migrate to SPDX license
- Added hardening to systemd service(s). Added patch(es):
  * harden_booth-arbitrator.service.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN</changelog>
  <changelog author="pgajdos@suse.com" date="1718107200">- Update to version 1.2+git0.322fea0 (CVE-2024-3049 [bsc#1226032]):
  * build: Prepare version 1.2 release
  * Add support for GnuTLS
  * configure: Add option to select HMAC library
  * configure: Remove duplicate mhash.h check
  * auth: Check result of gcrypt gcry_md_get_algo_dlen
  * attr: Fix reading of server_reply
  * pacemaker: Store booth-cfg-name attribute
  * transport: Fix _find_myself for kernel 6.9
  * tests: Remove the unit-tests directory.
  * query_get_string_answer: Remove duplicate line
  * pacemaker: Remove const warning
  * pacemaker: Use long format for crm_ticket -v
  * pacemaker: Check snprintf return values
  * pacemaker: Don't add explicit error prefix in log
  * pacemaker: Remove non-atomic grant of ticket</changelog>
</package>
<package pkgid="7fd7b3c7199de28acc50bae37027643d4d07dfea4416db2cd24f0f04ef6ed68fc2d42ff6f5e0ed1eec92a91eee7167fbaf00f3f1a68e7178fcbbf6777dca9f1c" name="booth-test" arch="x86_64">
  <version epoch="0" ver="1.2+git0.322fea0" rel="1.1"/>
  <changelog author="Callum Farmer &lt;callumjfarmer13@gmail.com&gt;" date="1597838400">- Fixes for %_libexecdir changing to /usr/libexec (bsc#1174075)</changelog>
  <changelog author="aburlakov@suse.com" date="1600257600">- Update to version 1.0+20200702.2f043da:
  * transport: Check fcntl return value
  * transport: setsockopt failures are not critical
  * pacemaker: Change rv handling of pcmk_get_attr
  * pacemaker: Express intention about logical or
  * main: mkdir failure is not critical
  * pacemaker: Handle updated exit code of crm_ticket
  * main: Delete lockfile when signal arrive too early
  * main: Accept longer config and lock file names
  * Fix gcc-10 warnings for multiple definition of pcmk_handler
  * Fix gcc-10 warnings for packed struct members
  * Use pkg-config to configure libxml-2.0</changelog>
  <changelog author="varkoly@suse.com" date="1622116800">- Update to version 1.0+20210519.bfb2f92:
  * config: Remove deprecated net functions
  * configure: drop unnecessary check and define
  * configure: move exec_prefix sanitizer closer to prefix
  * configure: drop dead code
  * configure: drop unnecessary macro
  * configure: use PKG_CONFIG to detect pacemaker user/group
  * configure: use resource-agents pkg-config info to determine ocfdir
  * configure: add BOOTH_PKG_CHECK_VAR macro to wrap PKG_CHECK_VAR
  * configure: detect and init pkg-config with proper macro
  * configure: Simplify libqb detection when libqb is not installed in standard paths
  * [build] ship booth.pc with basic booth build information for downstream packages to use
  * booth.spec: Change naming scheme for upgrades
  * boot.spec.in: Package html files when generated
  * build: Fix building of html docs with asciidoc
  * git-version-gen: Use fallback for git-archive
  * configure: Make sure without-html_man works
  * test: Add compatibility with iproute ss command
  * test: fix the delimiter in the here-string
  * build: Remove bashisms
  * booth.spec: Add fedora compatibility provides
  * build: Add option to enable tests during rpmbuild
  * build: Substitute hauser and haclient in RPM
  * build: Substitute python dependency in RPM
  * build: Substitute glue dependency in RPM
  * build: Substitute asciidoc or asciidoctor for RPM
  * build: Rework build of RPM
  * build: Use git-version-gen
  * configure: Always let automake set python vars
  * build: Delete cov directory on clean
  * build: Make sure tarball contains all needed files
  * build: Remove unneeded OS detection section
  * build: Make generating of HTML man work
- remove applied patch
  test-fix-read-a-issue.patch</changelog>
  <changelog author="Matej Cepl &lt;mcepl@suse.com&gt;" date="1632830400">- Use Python 3 for -test subpackage.</changelog>
  <changelog author="pgajdos@suse.com" date="1659009600">- Update to version 1.0+20220724.dce51f9:
  * ticket: Fix compiler warning
  * rpm: use new package name for pacemaker devel on opensuse
  * Revert "Refactor: main: substitute is_auth_req macro"
  * doc: Describe debug config file option
  * handler: Use only signal-safe functions
  * main: Use only signal-safe functions
  * fix bashisms (use printf instead of echo)
- fixes CVE-2022-2553 [bsc#1201946]</changelog>
  <changelog author="Yan Gao &lt;ygao@suse.com&gt;" date="1663070400">- Update to version 1.0+20220815.f40c2d5:
  * configure: Modernize configure.ac a bit
- spec: BuildRequires firewall-macros (bsc#1202959)
- spec: optionally BuildRequires cluster-glue-devel instead of libglue-devel</changelog>
  <changelog author="varkoly@suse.com" date="1678968000">- Update to version 1.0+20221117.9d4029a:
  * man: Add generated html files into gitignore
  * man: remove literal paragraph format from boothd.8
  * man: Remove italic bold formatting
  * man: Do not format __defaults__
  * man: Indent peers counters
  * man: Move debug description to better place
  * test: Add test for unknown/unexpected keyword
  * config: Include protocol in error message
  * config: Include keyword in error message
  * unit file: Remove Alias directive</changelog>
  <changelog author="Peter Varkoly &lt;varkoly@suse.com&gt;" date="1699963200">- Update to version 1.1+git0.09b0074:
  * build: Prepare version 1.1 release
  * build: Make distcheck work for non-root user
  * build: Include icons in release tarballs
  * build: Add release.mk
  * build: Add gitlog-to-changelog
  * tests: Fix Python 3.12 warning
  * attr: Fix glib hash_table != NULL assert
  * attr: Fix memory leak for list and get operation
  * main: Fix exit code on grant/revoke command error
  * spec: Migrate to SPDX license
- Added hardening to systemd service(s). Added patch(es):
  * harden_booth-arbitrator.service.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN</changelog>
  <changelog author="pgajdos@suse.com" date="1718107200">- Update to version 1.2+git0.322fea0 (CVE-2024-3049 [bsc#1226032]):
  * build: Prepare version 1.2 release
  * Add support for GnuTLS
  * configure: Add option to select HMAC library
  * configure: Remove duplicate mhash.h check
  * auth: Check result of gcrypt gcry_md_get_algo_dlen
  * attr: Fix reading of server_reply
  * pacemaker: Store booth-cfg-name attribute
  * transport: Fix _find_myself for kernel 6.9
  * tests: Remove the unit-tests directory.
  * query_get_string_answer: Remove duplicate line
  * pacemaker: Remove const warning
  * pacemaker: Use long format for crm_ticket -v
  * pacemaker: Check snprintf return values
  * pacemaker: Don't add explicit error prefix in log
  * pacemaker: Remove non-atomic grant of ticket</changelog>
</package>
<package pkgid="133b5ab19fba6e7b3b43226568534e3f64c2d73335a244b59a34c162ae0906e1effcc96b7243f23cbc1a687da04653d123ba4371e984a7bab21c06e77787b060" name="bovo" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: switch to official 6.6 runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appstream: use developer tag with name KDE
  * Bump min required KF6 to 6.0
  * Drop support for KF5's deprecated KToolInvocation
  * Fix build by ensuring output dir for zipped svg files exists
  * Store theme files as SVG in repo, compress to SVGZ only on installation</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="b128180de196ffa907b944caa855d982dc7793bceec94f93ece4e2502f219d8c2c1deed4517dbcf18253ba2cebd079dad512777cbd658ad9f3e02f379e91ab83" name="bovo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: switch to official 6.6 runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appstream: use developer tag with name KDE
  * Bump min required KF6 to 6.0
  * Drop support for KF5's deprecated KToolInvocation
  * Fix build by ensuring output dir for zipped svg files exists
  * Store theme files as SVG in repo, compress to SVGZ only on installation</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="3c01a742490f0825d5d7e96ec7cd2fc39f441ebfbad6abe66cb7a60dbf5464f90690765ce51be8e0e814b07dc7cc391f212ea5643e23d46517d698a5254eb2c1" name="bovo-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: switch to official 6.6 runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appstream: use developer tag with name KDE
  * Bump min required KF6 to 6.0
  * Drop support for KF5's deprecated KToolInvocation
  * Fix build by ensuring output dir for zipped svg files exists
  * Store theme files as SVG in repo, compress to SVGZ only on installation</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="c731af0be541cb9290275180838f555a584e32d7235037886e98e5346bc2a4c5867549614f7e0d3e97a71bdae3a458099b75e252f1caf0efab10905cc0f81aab" name="bovo-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: switch to official 6.6 runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appstream: use developer tag with name KDE
  * Bump min required KF6 to 6.0
  * Drop support for KF5's deprecated KToolInvocation
  * Fix build by ensuring output dir for zipped svg files exists
  * Store theme files as SVG in repo, compress to SVGZ only on installation</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="f9dc23b414be4862438525bf52907d964e9e371a96867f603f3a46d1e8e4da0b9d2fad938b63c00f9fd47cc8fbb387cb68b81ae8f26766f9add23234cf4edc26" name="bovo-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: Initial add snapcraft file</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * flatpak: switch to official 6.6 runtime</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * appstream: use developer tag with name KDE
  * Bump min required KF6 to 6.0
  * Drop support for KF5's deprecated KToolInvocation
  * Fix build by ensuring output dir for zipped svg files exists
  * Store theme files as SVG in repo, compress to SVGZ only on installation</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="be84e60ed3deb218b69f5c136745930b1f789da0130dec0401dddfe7432a193ffa5db3387b5f92abecef2558f50eeb5019b737949541cb892a3492c1fe3e9953" name="branding-openSUSE" arch="noarch">
  <version epoch="0" ver="84.87.20240405" rel="5.1.sr20240429"/>
  <changelog author="Stasiek Michalski &lt;stasiek@michalski.cc&gt;" date="1609934400">- Update LibreOffice About image (boo#1180550)</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1614859200">- move SUSE-brand to /usr/etc</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1619697600">- Also skip *.tr as config files in
  /etc/bootsplash/themes/openSUSE/bootloader (in addition to
  /etc/bootsplash/themes/openSUSE/cdrom)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1621512000">- Enable grub2-branding on riscv64</changelog>
  <changelog author="Sasi Olin &lt;hel@lcp.world&gt;" date="1631275200">- Drop systemd icons, since distribution-logos took that over
- Change the name of the font used in the installer</changelog>
  <changelog author="Cliff Zhao &lt;qzhao@suse.com&gt;" date="1632052800">- Update branding-tumbleweed.zip from https://github.com/openSUSE/branding.git
  Drop plymouth-branding-openSUSE's watermark link add a
  configuration function to plymouth theme configuration to avoid
  logo lost which cause plymouth to fail.
- Update branding-openSUSE.spec: resort plymouth-branding-openSUSE
  install and build dependence to avoid plymouth fall to terminal
  mode in some scenario(bsc#1189613).</changelog>
  <changelog author="Jacob Michalskie &lt;hel@lcp.world&gt;" date="1677499200">- Make title QToolButton backgrounds transparent
- Drop optipng requirement</changelog>
  <changelog author="Michael Chang &lt;mchang@suse.com&gt;" date="1693396800">- Remove grub2 BuildRequires in grub2-branding (bsc#1214769)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1695643200">- Enable grub2-branding on ppc64le. patterns-microos-base has
  Requires (grub2-branding-openSUSE if grub2). So we need the
  branding.</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1707998400">- Remove update-alternatives usage, we don't have dynamic
  wallpapers anymore which were using that (bsc#1219919).</changelog>
  <changelog author="Lubos Kocman &lt;lubos.kocman@suse.com&gt;" date="1712232000">- Use png for wallpapers for Tumbleweed
- SLES seems to be using png
- Using a compat symlink wallpapers/openSUSEdefault-&gt; wallpapers/SLEdefault
  allows running certain apps without rebuild. Such as cockpit.
- Use optipng -o5 to compress files (has to be reflected in spec)
- Bump date</changelog>
</package>
<package pkgid="cb21711dc24d14374578605e336885ff2839776dbc9fdfcd9a1aec062f021b817608087e5c86034878b5fa4a328f6a1a252309f3fd4b1db34d44685f0dc1d331" name="branding-openSUSE" arch="src">
  <version epoch="0" ver="84.87.20240405" rel="5.1.sr20240429"/>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1565265600">- Add patch to fix parallel build:
  * fix-parallel-build.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1568376000">- Avoid bashisms in scriptlets.</changelog>
  <changelog author="Marcel Kuehlhorn &lt;tux93@opensuse.org&gt;" date="1569931200">- Removed fix-parallel-build.patch - was applied upstream
- Removed xfce4-splash-branding - Splash was dropped in Xfce 4.14</changelog>
  <changelog author="Stasiek Michalski &lt;hellcp@mailbox.org&gt;" date="1570190400">- Remove symlinks for grub2
- Update requirements for distribution-logos</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1571140800">- BuildRequires rsvg-convert instead of rsvg-view on suse_version
  &gt;= 1550. rsvg-view no longer exists and the sub-package from
  librsvg was renamed accordingly.</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Stasiek Michalski &lt;hellcp@mailbox.org&gt;" date="1572091200">- Don't set the theme on install/uninstall</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1595419200">- Stop building grub2-branding-openSUSE for Power architectures [boo#1171146]</changelog>
  <changelog author="Cliff Zhao &lt;qzhao@suse.com&gt;" date="1600516800">- Update branding-tumbleweed.zip: Rebrand all components of SLES/D
  in boot progress (jsc#SLE-14772).</changelog>
  <changelog author="Stasiek Michalski &lt;stasiek@michalski.cc&gt;" date="1609934400">- Update LibreOffice About image (boo#1180550)</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1614859200">- move SUSE-brand to /usr/etc</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1619697600">- Also skip *.tr as config files in
  /etc/bootsplash/themes/openSUSE/bootloader (in addition to
  /etc/bootsplash/themes/openSUSE/cdrom)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1621512000">- Enable grub2-branding on riscv64</changelog>
  <changelog author="Sasi Olin &lt;hel@lcp.world&gt;" date="1631275200">- Drop systemd icons, since distribution-logos took that over
- Change the name of the font used in the installer</changelog>
  <changelog author="Cliff Zhao &lt;qzhao@suse.com&gt;" date="1632052800">- Update branding-tumbleweed.zip from https://github.com/openSUSE/branding.git
  Drop plymouth-branding-openSUSE's watermark link add a
  configuration function to plymouth theme configuration to avoid
  logo lost which cause plymouth to fail.
- Update branding-openSUSE.spec: resort plymouth-branding-openSUSE
  install and build dependence to avoid plymouth fall to terminal
  mode in some scenario(bsc#1189613).</changelog>
  <changelog author="Jacob Michalskie &lt;hel@lcp.world&gt;" date="1677499200">- Make title QToolButton backgrounds transparent
- Drop optipng requirement</changelog>
  <changelog author="Michael Chang &lt;mchang@suse.com&gt;" date="1693396800">- Remove grub2 BuildRequires in grub2-branding (bsc#1214769)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1695643200">- Enable grub2-branding on ppc64le. patterns-microos-base has
  Requires (grub2-branding-openSUSE if grub2). So we need the
  branding.</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1707998400">- Remove update-alternatives usage, we don't have dynamic
  wallpapers anymore which were using that (bsc#1219919).</changelog>
  <changelog author="Lubos Kocman &lt;lubos.kocman@suse.com&gt;" date="1712232000">- Use png for wallpapers for Tumbleweed
- SLES seems to be using png
- Using a compat symlink wallpapers/openSUSEdefault-&gt; wallpapers/SLEdefault
  allows running certain apps without rebuild. Such as cockpit.
- Use optipng -o5 to compress files (has to be reflected in spec)
- Bump date</changelog>
</package>
<package pkgid="998267225479c04ff3959a1180732d936d9b8e0aa761b7c3846a1d197ab427411482d295e5d030f225b2d445c3e05383f3c74bd2ac874959cac33589daa385e1" name="bscalc" arch="noarch">
  <version epoch="0" ver="2.10" rel="2.1"/>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1597579200">- update to 2.4:
  * remove msgcat dependency
  * Translated using Weblate (Bengali (India))
  * Add Travis build status badge
  * Update translation files
  * add translation platform widget
  * Translated using Weblate (Turkish)
  * Fix memory leak in bs_size_new_from_str
  * Update translation files
  * src/gettext: fix warning if gettext is already present
  * fix build on shells where test == fails
  * Require the same version of python3-bytesize in libbytesize-tools
  * New minor release of the libbytesize library. There are only two bugfixes in this release.
  * Full list of changes
  * fix out of tree build failure
  * Fix return value for round_to_nearest when using Size
  * New bytesize calculator bssize has been added.
  * Code has been ported from PCRE to PCRE2.
  * Python 2 support has been removed.
  * Run all libbytesize tests from one script
  * Add all "public" python API symbols to __init__.py
  * Allow running tests using installed library
  * Remove Python 2 support
  * Port to pcre2
  * Add support for floor division by a non-integer number in Python
  * Add a simple bytesize calculator tool
  * Add tools to autotools and packaging
  * Exit with 1 from configure if there were failures
  * Add a summary to the end of ./configure output
  * Only support modulo between two Size instances
  * Fix parsing of exponential representations of real numbers
  * Add the '--version' option to bs_calc.py
  * Add a man page for the bscalc tool
  * Assume the given expression is in bytes if no unit is given</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1612008000">- update to 2.5:
  * translation updates
  * tools: Read input from stdin when not running in a tty
  * Add support to ppc64le for debian build
  * testsuite fixes</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1626523200">- update to 2.6:
  * Make sure Size can be interpreted as integer in Python 3.10
  * Translation updates</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1657800000">- update to 2.7:
  * Fix skipping tests when required locale is missing
  * Remove Travis CI configuration
  * Fix some warnings and typos in docstrings and comments
  * Fix warnings dicovered by the GCC analyzer
  * build: avoid bashisms in configure
  * Update translation files
  * Do not use distutils to get Python library path</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1683201600">- update to 2.8:
  * Added translation using Weblate
  * configure.ac: Remove invalid email address for bug reports
  * spec: Bump release to 21 for Packit daily builds
  * spec: Fix source archive URL
  * Make use of error optional
  * Replace C++ style comments with C style
  * Various docstring fixes
  * docs: Remove information about Python 2 support
  * Remove unused test dependencies variables from Makefile
  * Do not hardcode pylint executable name in Makefile</changelog>
  <changelog author="Luciano Santos &lt;luc14n0@opensuse.org&gt;" date="1683374400">- Drop lang sub-package recommendation. It's not needed anymore now
  that lang packages provide package supplementation instead.
- Make bscalc sub-package 'noarch', since it doesn't contain any
  binaries, only a Python script and its manpage.</changelog>
  <changelog author="Luciano Santos &lt;luc14n0@opensuse.org&gt;" date="1693396800">- Update to version 2.9:
  * This release contains fixes for some small issues.
  * Updated translations.</changelog>
  <changelog author="Luciano Santos &lt;luc14n0@opensuse.org&gt;" date="1695470400">- Rename python3-libbytesize sub-package to python3-bytesize. This
  is the expected name by its consumers.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1698840000">- Update to release 2.10
  * remove dependency on python3-six</changelog>
  <changelog author="Matej Cepl &lt;mcepl@cepl.eu&gt;" date="1718020800">- Add %python3_fix_shebang to fix binaries dependency on
  /usr/bin/python3</changelog>
</package>
<package pkgid="3b6942063a7b64aaea7e6d5d1476b1b8b2a55e2e5cef497a3b6bb19d2e8b7eab49696dcc3a23e2f7f75d7c4b44e72bd9f6f728efc4bcb758193b0a1bf5efd426" name="bsdtar" arch="i586">
  <version epoch="0" ver="3.7.4" rel="3.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 3.5.1:
  * various compilation fixes (#1461, #1462, #1463, #1464)
  * fixed undefined behavior in a function in warc reader (#1465)</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1631448000">- Fix CVE-2021-23177, extracting a symlink with ACLs modifies ACLs of target
  (CVE-2021-23177, bsc#1192425)
  * CVE-2021-23177.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1634817600">- Fix CVE-2021-31566, modifies file flags of symlink target
  (CVE-2021-31566, bsc#1192426.patch)
  CVE-2021-31566.patch
- Fix bsc#1192427, processing fixup entries may follow symbolic links
  bsc1192427.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1636286400">- update to 3.5.2:
  * CPIO: Support for PWB and v7 binary cpio formats
  * ZIP reader: Support of deflate algorithm in symbolic link decompression
  * security: fix handling of symbolic link ACLs on Linux (boo#1192425)
  * security: never follow symlinks when setting file flags on Linux (boo#1192426)
  * security: do not follow symlinks when processing the fixup list (boo#1192427)
  * fix extraction of hardlinks to symlinks
  * 7zip reader and writer fixes
  * RAR reader fixes
  * ZIP reader: fix excessive read for padded zip
  * CAB reader: fix double free
  * handle short writes from archive_write_callback
- Drop upstream mereged:
  * CVE-2021-23177.patch
  * CVE-2021-31566.patch
  * bsc1192427.patch</changelog>
  <changelog author="Adrian Schr&#xF6;ter &lt;adrian@suse.de&gt;" date="1638187200">- fix permission settings on following symlinks (fix-following-symlinks.patch)
  this fixes also wrong permissions of /var/tmp in factory systems
  CVE-2021-31566</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1645617600">- Fix CVE-2021-36976 use-after-free in copy_string
  (CVE-2021-36976, bsc#1188572)
  * fix-CVE-2021-36976.patch
- The following issues have already been fixed in this package but
  weren't previously mentioned in the changes file:
  CVE-2017-5601, bsc#1022528, bsc#1189528</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1645704000">- Update to 3.6.0
  * Fix use-after-free bug (CVE-2021-36976)
  * tar: new option "--no-read-sparse"
  * tar: threads support for zstd
  * RAR reader: filter support
  * RAR5 reader: self-extracting archive support
  * ZIP reader: zstd decompression support
  * tar: respect "--ignore-zeros" in c, r and u modes
  * reduced size of application binaries
  * internal code optimizations
- Drop upstream merged:
  * fix-following-symlinks.patch
  * fix-CVE-2021-36976.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1649332800">- Fix CVE-2022-26280 out-of-bounds read via the component zipx_lzma_alone_init
  (CVE-2022-26280, bsc#1197634)
  * fix-CVE-2022-26280.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1649419200">- update to 3.6.1:
  * 7zip reader: fix PPMD read beyond boundary (#1671)
  * ZIP reader: fix possible out of bounds read (OSS-Fuzz 38766 #1672)
  * ISO reader: fix possible heap buffer overflow in read_children() (OSS-Fuzz 38764, #1685)
  * RARv4 redaer: fix multiple issues in RARv4 filter code (introduced in libarchive 3.6.0)
  * fix heap use after free in archive_read_format_rar_read_data() (OSS-Fuzz 44547, 52efa50)
  * fix null dereference in read_data_compressed() (OSS-Fuzz 44843, 1271f77)
  * fix heap user after free in run_filters() (OSS-Fuzz 46279, #1715)
- Drop upstream merged fix-CVE-2022-26280.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1669118400">- Fix CVE-2022-36227, Handle a calloc returning NULL
  (CVE-2022-36227, bsc#1205629)
  * CVE-2022-36227.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1671796800">- update to 3.6.2 (bsc#1205629, CVE-2022-36227)
  * NULL pointer dereference vulnerability in archive_write.c
  * include ZSTD in Windows builds (#1688)
  * SSL fixes on Windows (#1714, #1723, #1724)
  * rar5 reader: fix possible garbled output with bsdtar -O (#1745)
  * mtree reader: support reading mtree files with tabs (#1783)
  * various small fixes for issues found by CodeQL
- Drop upstream merged CVE-2022-36227.patch</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1690200000">- update to 3.7.0
  * bsdunzip port from FreeBSD
  * fix 2 year 2038 issues</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1694952000">- update to 3.7.2:
  * Multiple vulnerabilities have been fixed in the PAX writer
  * bsdunzip(1) now correctly handles arguments following an
  - x after the zipfile
  * zstd filter now supports the "long" write option
  * SEGV and stack buffer overflow in verbose mode of cpio
  * bsdunzip updated to match latest upstream code
  * miscellaneous functional bugfixes</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703851200">- skip write tests on 32bit, they OOM</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1714478400">- Update to 3.7.4:
  * rar: Fix OOB in rar e8 filter (CVE-2024-26256, bsc#1222911)
  * zip: Fix out of boundary access
  * 7zip: Limit amount of properties
  * bsdtar: Fix error handling around strtol() usages
  * passphrase: Improve newline handling on Windows
  * passphrase: Never allow empty passwords
  * rar: Fix "File CRC Error" when extracting specific rar4 archives
  * xar: Avoid infinite link loop
  * zip: Update AppleDouble support for directories
  * zstd: Implement core detection
- Update to 3.7.3:
  * PCRE2 support
  * add trailing letter b to bsdtar(1) substitute pattern
  * add support for long options "--group" and "--owner" to tar(1)
  * Fix possible vulnerability in tar error reporting introduced in f27c173
  * ISO9660: preserve the natural order of links
  * rar5: fix decoding unicode filenames on Windows
  * rar5: fix infinite loop if during rar5 decompression the last block produced no data
  * xz filter: fix incorrect eof at the end of an lzip member
  * zip: fix end-of-data marker processing when decompressing zip archives
  * multiple bsdunzip(1) fixes
  * filetime truncation fix on Windows
- Fix rpmlint warning about summary being too long</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1716379200">- Fix bsdunzip test failing due to a locale issue
  * fix-bsdunzip-test.patch</changelog>
  <changelog author="Antonio Teixeira &lt;antonio.teixeira@suse.com&gt;" date="1718884800">- Update lib-suffix.patch
  * Add LIB_SUFFIX to libdir path in the pkg-config file</changelog>
</package>
<package pkgid="69c402eb1651d971a3658ab1c9ec132e787e2cc99384a677a062254ffb419fde3ebaee07edee87a57208a097522d284e2ab96e5585db8535451ac495bca128f3" name="bsdtar" arch="x86_64">
  <version epoch="0" ver="3.7.4" rel="3.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 3.5.1:
  * various compilation fixes (#1461, #1462, #1463, #1464)
  * fixed undefined behavior in a function in warc reader (#1465)</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1631448000">- Fix CVE-2021-23177, extracting a symlink with ACLs modifies ACLs of target
  (CVE-2021-23177, bsc#1192425)
  * CVE-2021-23177.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1634817600">- Fix CVE-2021-31566, modifies file flags of symlink target
  (CVE-2021-31566, bsc#1192426.patch)
  CVE-2021-31566.patch
- Fix bsc#1192427, processing fixup entries may follow symbolic links
  bsc1192427.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1636286400">- update to 3.5.2:
  * CPIO: Support for PWB and v7 binary cpio formats
  * ZIP reader: Support of deflate algorithm in symbolic link decompression
  * security: fix handling of symbolic link ACLs on Linux (boo#1192425)
  * security: never follow symlinks when setting file flags on Linux (boo#1192426)
  * security: do not follow symlinks when processing the fixup list (boo#1192427)
  * fix extraction of hardlinks to symlinks
  * 7zip reader and writer fixes
  * RAR reader fixes
  * ZIP reader: fix excessive read for padded zip
  * CAB reader: fix double free
  * handle short writes from archive_write_callback
- Drop upstream mereged:
  * CVE-2021-23177.patch
  * CVE-2021-31566.patch
  * bsc1192427.patch</changelog>
  <changelog author="Adrian Schr&#xF6;ter &lt;adrian@suse.de&gt;" date="1638187200">- fix permission settings on following symlinks (fix-following-symlinks.patch)
  this fixes also wrong permissions of /var/tmp in factory systems
  CVE-2021-31566</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1645617600">- Fix CVE-2021-36976 use-after-free in copy_string
  (CVE-2021-36976, bsc#1188572)
  * fix-CVE-2021-36976.patch
- The following issues have already been fixed in this package but
  weren't previously mentioned in the changes file:
  CVE-2017-5601, bsc#1022528, bsc#1189528</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1645704000">- Update to 3.6.0
  * Fix use-after-free bug (CVE-2021-36976)
  * tar: new option "--no-read-sparse"
  * tar: threads support for zstd
  * RAR reader: filter support
  * RAR5 reader: self-extracting archive support
  * ZIP reader: zstd decompression support
  * tar: respect "--ignore-zeros" in c, r and u modes
  * reduced size of application binaries
  * internal code optimizations
- Drop upstream merged:
  * fix-following-symlinks.patch
  * fix-CVE-2021-36976.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1649332800">- Fix CVE-2022-26280 out-of-bounds read via the component zipx_lzma_alone_init
  (CVE-2022-26280, bsc#1197634)
  * fix-CVE-2022-26280.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1649419200">- update to 3.6.1:
  * 7zip reader: fix PPMD read beyond boundary (#1671)
  * ZIP reader: fix possible out of bounds read (OSS-Fuzz 38766 #1672)
  * ISO reader: fix possible heap buffer overflow in read_children() (OSS-Fuzz 38764, #1685)
  * RARv4 redaer: fix multiple issues in RARv4 filter code (introduced in libarchive 3.6.0)
  * fix heap use after free in archive_read_format_rar_read_data() (OSS-Fuzz 44547, 52efa50)
  * fix null dereference in read_data_compressed() (OSS-Fuzz 44843, 1271f77)
  * fix heap user after free in run_filters() (OSS-Fuzz 46279, #1715)
- Drop upstream merged fix-CVE-2022-26280.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1669118400">- Fix CVE-2022-36227, Handle a calloc returning NULL
  (CVE-2022-36227, bsc#1205629)
  * CVE-2022-36227.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1671796800">- update to 3.6.2 (bsc#1205629, CVE-2022-36227)
  * NULL pointer dereference vulnerability in archive_write.c
  * include ZSTD in Windows builds (#1688)
  * SSL fixes on Windows (#1714, #1723, #1724)
  * rar5 reader: fix possible garbled output with bsdtar -O (#1745)
  * mtree reader: support reading mtree files with tabs (#1783)
  * various small fixes for issues found by CodeQL
- Drop upstream merged CVE-2022-36227.patch</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1690200000">- update to 3.7.0
  * bsdunzip port from FreeBSD
  * fix 2 year 2038 issues</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1694952000">- update to 3.7.2:
  * Multiple vulnerabilities have been fixed in the PAX writer
  * bsdunzip(1) now correctly handles arguments following an
  - x after the zipfile
  * zstd filter now supports the "long" write option
  * SEGV and stack buffer overflow in verbose mode of cpio
  * bsdunzip updated to match latest upstream code
  * miscellaneous functional bugfixes</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703851200">- skip write tests on 32bit, they OOM</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1714478400">- Update to 3.7.4:
  * rar: Fix OOB in rar e8 filter (CVE-2024-26256, bsc#1222911)
  * zip: Fix out of boundary access
  * 7zip: Limit amount of properties
  * bsdtar: Fix error handling around strtol() usages
  * passphrase: Improve newline handling on Windows
  * passphrase: Never allow empty passwords
  * rar: Fix "File CRC Error" when extracting specific rar4 archives
  * xar: Avoid infinite link loop
  * zip: Update AppleDouble support for directories
  * zstd: Implement core detection
- Update to 3.7.3:
  * PCRE2 support
  * add trailing letter b to bsdtar(1) substitute pattern
  * add support for long options "--group" and "--owner" to tar(1)
  * Fix possible vulnerability in tar error reporting introduced in f27c173
  * ISO9660: preserve the natural order of links
  * rar5: fix decoding unicode filenames on Windows
  * rar5: fix infinite loop if during rar5 decompression the last block produced no data
  * xz filter: fix incorrect eof at the end of an lzip member
  * zip: fix end-of-data marker processing when decompressing zip archives
  * multiple bsdunzip(1) fixes
  * filetime truncation fix on Windows
- Fix rpmlint warning about summary being too long</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1716379200">- Fix bsdunzip test failing due to a locale issue
  * fix-bsdunzip-test.patch</changelog>
  <changelog author="Antonio Teixeira &lt;antonio.teixeira@suse.com&gt;" date="1718884800">- Update lib-suffix.patch
  * Add LIB_SUFFIX to libdir path in the pkg-config file</changelog>
</package>
<package pkgid="4996017c3bf6f0784e863f28918fd1c4dd5516f65a08a39e86f4a8e9de7bf32c89c61dab7693e0e9616499ed25412dcf23a2904df6f9ae888e56e4b2e6f3150d" name="bsdtar-debuginfo" arch="i586">
  <version epoch="0" ver="3.7.4" rel="3.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 3.5.1:
  * various compilation fixes (#1461, #1462, #1463, #1464)
  * fixed undefined behavior in a function in warc reader (#1465)</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1631448000">- Fix CVE-2021-23177, extracting a symlink with ACLs modifies ACLs of target
  (CVE-2021-23177, bsc#1192425)
  * CVE-2021-23177.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1634817600">- Fix CVE-2021-31566, modifies file flags of symlink target
  (CVE-2021-31566, bsc#1192426.patch)
  CVE-2021-31566.patch
- Fix bsc#1192427, processing fixup entries may follow symbolic links
  bsc1192427.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1636286400">- update to 3.5.2:
  * CPIO: Support for PWB and v7 binary cpio formats
  * ZIP reader: Support of deflate algorithm in symbolic link decompression
  * security: fix handling of symbolic link ACLs on Linux (boo#1192425)
  * security: never follow symlinks when setting file flags on Linux (boo#1192426)
  * security: do not follow symlinks when processing the fixup list (boo#1192427)
  * fix extraction of hardlinks to symlinks
  * 7zip reader and writer fixes
  * RAR reader fixes
  * ZIP reader: fix excessive read for padded zip
  * CAB reader: fix double free
  * handle short writes from archive_write_callback
- Drop upstream mereged:
  * CVE-2021-23177.patch
  * CVE-2021-31566.patch
  * bsc1192427.patch</changelog>
  <changelog author="Adrian Schr&#xF6;ter &lt;adrian@suse.de&gt;" date="1638187200">- fix permission settings on following symlinks (fix-following-symlinks.patch)
  this fixes also wrong permissions of /var/tmp in factory systems
  CVE-2021-31566</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1645617600">- Fix CVE-2021-36976 use-after-free in copy_string
  (CVE-2021-36976, bsc#1188572)
  * fix-CVE-2021-36976.patch
- The following issues have already been fixed in this package but
  weren't previously mentioned in the changes file:
  CVE-2017-5601, bsc#1022528, bsc#1189528</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1645704000">- Update to 3.6.0
  * Fix use-after-free bug (CVE-2021-36976)
  * tar: new option "--no-read-sparse"
  * tar: threads support for zstd
  * RAR reader: filter support
  * RAR5 reader: self-extracting archive support
  * ZIP reader: zstd decompression support
  * tar: respect "--ignore-zeros" in c, r and u modes
  * reduced size of application binaries
  * internal code optimizations
- Drop upstream merged:
  * fix-following-symlinks.patch
  * fix-CVE-2021-36976.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1649332800">- Fix CVE-2022-26280 out-of-bounds read via the component zipx_lzma_alone_init
  (CVE-2022-26280, bsc#1197634)
  * fix-CVE-2022-26280.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1649419200">- update to 3.6.1:
  * 7zip reader: fix PPMD read beyond boundary (#1671)
  * ZIP reader: fix possible out of bounds read (OSS-Fuzz 38766 #1672)
  * ISO reader: fix possible heap buffer overflow in read_children() (OSS-Fuzz 38764, #1685)
  * RARv4 redaer: fix multiple issues in RARv4 filter code (introduced in libarchive 3.6.0)
  * fix heap use after free in archive_read_format_rar_read_data() (OSS-Fuzz 44547, 52efa50)
  * fix null dereference in read_data_compressed() (OSS-Fuzz 44843, 1271f77)
  * fix heap user after free in run_filters() (OSS-Fuzz 46279, #1715)
- Drop upstream merged fix-CVE-2022-26280.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1669118400">- Fix CVE-2022-36227, Handle a calloc returning NULL
  (CVE-2022-36227, bsc#1205629)
  * CVE-2022-36227.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1671796800">- update to 3.6.2 (bsc#1205629, CVE-2022-36227)
  * NULL pointer dereference vulnerability in archive_write.c
  * include ZSTD in Windows builds (#1688)
  * SSL fixes on Windows (#1714, #1723, #1724)
  * rar5 reader: fix possible garbled output with bsdtar -O (#1745)
  * mtree reader: support reading mtree files with tabs (#1783)
  * various small fixes for issues found by CodeQL
- Drop upstream merged CVE-2022-36227.patch</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1690200000">- update to 3.7.0
  * bsdunzip port from FreeBSD
  * fix 2 year 2038 issues</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1694952000">- update to 3.7.2:
  * Multiple vulnerabilities have been fixed in the PAX writer
  * bsdunzip(1) now correctly handles arguments following an
  - x after the zipfile
  * zstd filter now supports the "long" write option
  * SEGV and stack buffer overflow in verbose mode of cpio
  * bsdunzip updated to match latest upstream code
  * miscellaneous functional bugfixes</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703851200">- skip write tests on 32bit, they OOM</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1714478400">- Update to 3.7.4:
  * rar: Fix OOB in rar e8 filter (CVE-2024-26256, bsc#1222911)
  * zip: Fix out of boundary access
  * 7zip: Limit amount of properties
  * bsdtar: Fix error handling around strtol() usages
  * passphrase: Improve newline handling on Windows
  * passphrase: Never allow empty passwords
  * rar: Fix "File CRC Error" when extracting specific rar4 archives
  * xar: Avoid infinite link loop
  * zip: Update AppleDouble support for directories
  * zstd: Implement core detection
- Update to 3.7.3:
  * PCRE2 support
  * add trailing letter b to bsdtar(1) substitute pattern
  * add support for long options "--group" and "--owner" to tar(1)
  * Fix possible vulnerability in tar error reporting introduced in f27c173
  * ISO9660: preserve the natural order of links
  * rar5: fix decoding unicode filenames on Windows
  * rar5: fix infinite loop if during rar5 decompression the last block produced no data
  * xz filter: fix incorrect eof at the end of an lzip member
  * zip: fix end-of-data marker processing when decompressing zip archives
  * multiple bsdunzip(1) fixes
  * filetime truncation fix on Windows
- Fix rpmlint warning about summary being too long</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1716379200">- Fix bsdunzip test failing due to a locale issue
  * fix-bsdunzip-test.patch</changelog>
  <changelog author="Antonio Teixeira &lt;antonio.teixeira@suse.com&gt;" date="1718884800">- Update lib-suffix.patch
  * Add LIB_SUFFIX to libdir path in the pkg-config file</changelog>
</package>
<package pkgid="2638c5292a4d5d5b689fa49ec6d61510bac86ac7fe9cde21d0079b503f7c5b37d967cafd5fc70800586aed1a382d8b9563a92370ddad0137f34e4d9495aaba33" name="bsdtar-debuginfo" arch="x86_64">
  <version epoch="0" ver="3.7.4" rel="3.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1609934400">- update to 3.5.1:
  * various compilation fixes (#1461, #1462, #1463, #1464)
  * fixed undefined behavior in a function in warc reader (#1465)</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1631448000">- Fix CVE-2021-23177, extracting a symlink with ACLs modifies ACLs of target
  (CVE-2021-23177, bsc#1192425)
  * CVE-2021-23177.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1634817600">- Fix CVE-2021-31566, modifies file flags of symlink target
  (CVE-2021-31566, bsc#1192426.patch)
  CVE-2021-31566.patch
- Fix bsc#1192427, processing fixup entries may follow symbolic links
  bsc1192427.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1636286400">- update to 3.5.2:
  * CPIO: Support for PWB and v7 binary cpio formats
  * ZIP reader: Support of deflate algorithm in symbolic link decompression
  * security: fix handling of symbolic link ACLs on Linux (boo#1192425)
  * security: never follow symlinks when setting file flags on Linux (boo#1192426)
  * security: do not follow symlinks when processing the fixup list (boo#1192427)
  * fix extraction of hardlinks to symlinks
  * 7zip reader and writer fixes
  * RAR reader fixes
  * ZIP reader: fix excessive read for padded zip
  * CAB reader: fix double free
  * handle short writes from archive_write_callback
- Drop upstream mereged:
  * CVE-2021-23177.patch
  * CVE-2021-31566.patch
  * bsc1192427.patch</changelog>
  <changelog author="Adrian Schr&#xF6;ter &lt;adrian@suse.de&gt;" date="1638187200">- fix permission settings on following symlinks (fix-following-symlinks.patch)
  this fixes also wrong permissions of /var/tmp in factory systems
  CVE-2021-31566</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1645617600">- Fix CVE-2021-36976 use-after-free in copy_string
  (CVE-2021-36976, bsc#1188572)
  * fix-CVE-2021-36976.patch
- The following issues have already been fixed in this package but
  weren't previously mentioned in the changes file:
  CVE-2017-5601, bsc#1022528, bsc#1189528</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1645704000">- Update to 3.6.0
  * Fix use-after-free bug (CVE-2021-36976)
  * tar: new option "--no-read-sparse"
  * tar: threads support for zstd
  * RAR reader: filter support
  * RAR5 reader: self-extracting archive support
  * ZIP reader: zstd decompression support
  * tar: respect "--ignore-zeros" in c, r and u modes
  * reduced size of application binaries
  * internal code optimizations
- Drop upstream merged:
  * fix-following-symlinks.patch
  * fix-CVE-2021-36976.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1649332800">- Fix CVE-2022-26280 out-of-bounds read via the component zipx_lzma_alone_init
  (CVE-2022-26280, bsc#1197634)
  * fix-CVE-2022-26280.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1649419200">- update to 3.6.1:
  * 7zip reader: fix PPMD read beyond boundary (#1671)
  * ZIP reader: fix possible out of bounds read (OSS-Fuzz 38766 #1672)
  * ISO reader: fix possible heap buffer overflow in read_children() (OSS-Fuzz 38764, #1685)
  * RARv4 redaer: fix multiple issues in RARv4 filter code (introduced in libarchive 3.6.0)
  * fix heap use after free in archive_read_format_rar_read_data() (OSS-Fuzz 44547, 52efa50)
  * fix null dereference in read_data_compressed() (OSS-Fuzz 44843, 1271f77)
  * fix heap user after free in run_filters() (OSS-Fuzz 46279, #1715)
- Drop upstream merged fix-CVE-2022-26280.patch</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1669118400">- Fix CVE-2022-36227, Handle a calloc returning NULL
  (CVE-2022-36227, bsc#1205629)
  * CVE-2022-36227.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1671796800">- update to 3.6.2 (bsc#1205629, CVE-2022-36227)
  * NULL pointer dereference vulnerability in archive_write.c
  * include ZSTD in Windows builds (#1688)
  * SSL fixes on Windows (#1714, #1723, #1724)
  * rar5 reader: fix possible garbled output with bsdtar -O (#1745)
  * mtree reader: support reading mtree files with tabs (#1783)
  * various small fixes for issues found by CodeQL
- Drop upstream merged CVE-2022-36227.patch</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1690200000">- update to 3.7.0
  * bsdunzip port from FreeBSD
  * fix 2 year 2038 issues</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1694952000">- update to 3.7.2:
  * Multiple vulnerabilities have been fixed in the PAX writer
  * bsdunzip(1) now correctly handles arguments following an
  - x after the zipfile
  * zstd filter now supports the "long" write option
  * SEGV and stack buffer overflow in verbose mode of cpio
  * bsdunzip updated to match latest upstream code
  * miscellaneous functional bugfixes</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703851200">- skip write tests on 32bit, they OOM</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1714478400">- Update to 3.7.4:
  * rar: Fix OOB in rar e8 filter (CVE-2024-26256, bsc#1222911)
  * zip: Fix out of boundary access
  * 7zip: Limit amount of properties
  * bsdtar: Fix error handling around strtol() usages
  * passphrase: Improve newline handling on Windows
  * passphrase: Never allow empty passwords
  * rar: Fix "File CRC Error" when extracting specific rar4 archives
  * xar: Avoid infinite link loop
  * zip: Update AppleDouble support for directories
  * zstd: Implement core detection
- Update to 3.7.3:
  * PCRE2 support
  * add trailing letter b to bsdtar(1) substitute pattern
  * add support for long options "--group" and "--owner" to tar(1)
  * Fix possible vulnerability in tar error reporting introduced in f27c173
  * ISO9660: preserve the natural order of links
  * rar5: fix decoding unicode filenames on Windows
  * rar5: fix infinite loop if during rar5 decompression the last block produced no data
  * xz filter: fix incorrect eof at the end of an lzip member
  * zip: fix end-of-data marker processing when decompressing zip archives
  * multiple bsdunzip(1) fixes
  * filetime truncation fix on Windows
- Fix rpmlint warning about summary being too long</changelog>
  <changelog author="Danilo Spinella &lt;danilo.spinella@suse.com&gt;" date="1716379200">- Fix bsdunzip test failing due to a locale issue
  * fix-bsdunzip-test.patch</changelog>
  <changelog author="Antonio Teixeira &lt;antonio.teixeira@suse.com&gt;" date="1718884800">- Update lib-suffix.patch
  * Add LIB_SUFFIX to libdir path in the pkg-config file</changelog>
</package>
<package pkgid="b3c02cb55ba377c8db174faf36c2f303264f887173361caaf2232d9e72250dae50d4e07ceacc055cd283b2956cb1de75d3ec3311e08c9a297deef858039a6ca1" name="bugzilla" arch="noarch">
  <version epoch="0" ver="5.0.6" rel="6.1"/>
  <changelog author="matwey.kornilov@gmail.com" date="1507032000">- put bugzilla.rpmlintrc into Sources</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1507118400">- rename bugzilla.rpmlintrc to bugzilla-rpmlintrc
  to follow guidelines</changelog>
  <changelog author="ecsos@opensuse.org" date="1520251200">- update to 5.0.4
  This release fixes one security issue.
  See the Security Advisory for details.
  - checksetup.pl would fail to update Chart storage during
    pre-3.6 to 5.0 upgrade. (Bug 1273846)
  - editflagtypes.cgi would crash when classifications are enabled
    and the user did not have global editcomponents privileges.
    (Bug 1310728)
  - The File::Slurp would trigger warnings on perl 5.24.
    (Bug 1301887)
  - All the time entries in the 'when' column had the correct date
    but the time was fixed to 00:00 when using Sqlite.
    (Bug 1303702)</changelog>
  <changelog author="ecsos@opensuse.org" date="1521806400">- update german language to 5.0.4
- Add patch bugzilla-de-tagfix.patch to fix "missing closing tag
  in german language pack" (boo#1015765).
  Thanks voorburg@gmx.net.</changelog>
  <changelog author="ecsos@opensuse.org" date="1563364800">- Update to 5.0.6
  This release contains a schema change to the flagtypes table,
  allowing for many more flagtypes.
  - The flagtypes table should have been using a mediumint for
    several releases, but due to a bug in the schema migration code
    this never happened.
- Changes from 5.0.5
  This release reformats the code according to the same
  conventions as the popular Mojolicious product and includes a
  .perltidyrc to do the same. You may use whatever coding style you
  want, but all files commited to the repo must be reformatted
  according to those rules.
  Additionally, we no longer follow the same release process as
  before. Releases will be more frequent.
  - As it is now 2019, the bugs_fulltext table is now InnoDB instead
    of MyISAM. This may cause upgrade headaches.
- Update german language to 5.0.4-2.
- Drop bugzilla-de-tagfix.patch because now in upstream language.
- Run spec-cleaner.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1580731200">- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to
  shortcut through the -mini flavors.</changelog>
  <changelog author="ecsos &lt;ecsos@opensuse.org&gt;" date="1607860800">- Use apache-rpm-macros.
- Put apache configuration files in separate subpackage.
- Remove %service_add_post and %server_del_postun apache2.service
  from spec.
- Fix two rpmlint errors.</changelog>
  <changelog author="Steve Kowalik &lt;steven.kowalik@suse.com&gt;" date="1630411200">- Add modernize-bugzilla-submit.patch:
  - Port bugzilla-submit to Python 3.</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1681819200">- Port jb2bz.py to python3
  * Add bugzilla-py3-jb2bz.patch</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang_path macro, [bsc#1212476]</changelog>
</package>
<package pkgid="f9ed834b74234a236b02bcb706a73daf1aeac031a1fa67ff57954fd1d110a7f4ba203b78ebcb9a17947dca9dc7eda43dfa212dc66d049529e9f4e962d484f6d0" name="bugzilla" arch="src">
  <version epoch="0" ver="5.0.6" rel="6.1"/>
  <changelog author="jweberhofer@weberhofer.at" date="1427284800">- Moved code from .htaccess file into bugzilla.conf
- Removed BOM from bugzilla.conf
- Explicitly set directory rights for gernam language pack
- Cleaned up spec file</changelog>
  <changelog author="ecsos@opensuse.org" date="1429790400">- update to 4.4.9
  - Users who are not in the insidergroup were able to determine
    if some specific user made a private comment in bugs.
    (Bug 1151290)
  - Due to a regression caused by bug 1090275, the WebService
    methods Bug.get_bugs and Bug.get_history were no longer
    allowed. (Bug 1154099)
  - Bugzilla now supports the new .htaccess format from Apache 2.4.
    (Bug 1121477)
  - A regression in Bugzilla 4.4.3 due to CVE-2014-1517 caused the
    admin's password to be ignored when starting a sudo session.
    (Bug 1132887)
- update bugzilla.conf with new from .htaccess
- update german language to 4.4.9</changelog>
  <changelog author="ecsos@opensuse.org" date="1435060800">- add perl-Module-Pluggable and perl-Object-Pluggable to Requires:
  because it will be removed in next perl major release.</changelog>
  <changelog author="ecsos@opensuse.org" date="1436788800">- update to 5.0
  https://www.bugzilla.org/releases/5.0/release-notes.html
- update german language to 5.0
- fix no acccess under apache 2.4 in bugzilla.conf</changelog>
  <changelog author="ecsos@opensuse.org" date="1442577600">- update to 5.0.1
  This update fixes several vulnerabilities
  https://www.bugzilla.org/releases/5.0.1/release-notes.html
- Security fixes:
  * (CVE-2015-4499)
    https://www.bugzilla.org/security/4.2.14/
    https://bugzilla.mozilla.org/show_bug.cgi?id=1202447</changelog>
  <changelog author="ecsos@opensuse.org" date="1451822400">- update to 5.0.2
  This release fixes two security issues and some bug fixes.
  https://www.bugzilla.org/releases/5.0.2/release-notes.html
  - mod_perl now works correctly with mod_access_compat turned off
    on Apache 2.4.
    To regenerate the .htaccess files, you must first delete all
    existing ones in subdirectories:
    find . -mindepth 2 -name .htaccess -exec rm -f {} \;
    You must then run checksetup.pl again to recreate them with
    the correct syntax. (Bug 1223790)
  - Emails sent by Bugzilla are now correctly encoded as UTF-8.
    (Bug 714724)
  - Strawberry Perl is now fully supported on Windows.
    (Bug 1089448 and bug 987742)
  - The XML-RPC API now works with IIS on Windows. (Bug 708252)
  - Some queries should now be faster on PostgreSQL. (Bug 1184431)
- Security fixes:
  * (CVE-2015-8508)
    https://www.bugzilla.org/security/4.2.15/
    https://bugzilla.mozilla.org/show_bug.cgi?id=1221518
  * (CVE-2015-8509)
    https://www.bugzilla.org/security/4.2.15/
    https://bugzilla.mozilla.org/show_bug.cgi?id=1232785</changelog>
  <changelog author="ecsos@opensuse.org" date="1453204800">- fix error "Undefined subroutine..." in whine.pl
  https://bugzilla.mozilla.org/show_bug.cgi?id=1235395</changelog>
  <changelog author="ecsos@opensuse.org" date="1453723200">- update german language to 5.0.2-1</changelog>
  <changelog author="ecsos@opensuse.org" date="1466078400">- update to 5.0.3
  This release fixes one security issue and some bug fixes.
  https://www.bugzilla.org/releases/5.0.3/release-notes.html
  - A regression in Bugzilla 5.0.2 caused whine.pl to be unable
    to send emails due to a missing subroutine. (Bug 1235395)
  - The Encode module changed the way it encodes strings,
    causing email addresses in emails sent by Bugzilla to be encoded,
    preventing emails from being correctly delivered to recipients.
    We now encode email headers correctly. (Bug 1246228)
  - Fix additional taint issues with Strawberry Perl.
    (Bug 987742 and bug 1089448)
  - When exporting a buglist as a CSV file, fields starting with
    either "=", "+", "-" or "@" are preceded by a space to not
    trigger formula execution in Excel. (Bug 1259881)
  - An extension which allows user-controlled data to be used as
    a link in tabs could trigger XSS if the data is not correctly
    sanitized. Bugzilla no longer relies on the extension to do the
    sanity check. A vanilla installation is not affected as no tab
    is user-controlled. (Bug 1250114)
  - Extensions can now easily override the favicon used for the
    Bugzilla website. (Bug 1250264)
- Security fix:
  * (CVE-2016-2803)
    https://www.bugzilla.org/security/4.4.11/
- rework patch fix_whine_error.patch because most now in upstream</changelog>
  <changelog author="ecsos@opensuse.org" date="1469534400">- update german language to 5.0.3-1</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1507032000">- put bugzilla.rpmlintrc into Sources</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1507118400">- rename bugzilla.rpmlintrc to bugzilla-rpmlintrc
  to follow guidelines</changelog>
  <changelog author="ecsos@opensuse.org" date="1520251200">- update to 5.0.4
  This release fixes one security issue.
  See the Security Advisory for details.
  - checksetup.pl would fail to update Chart storage during
    pre-3.6 to 5.0 upgrade. (Bug 1273846)
  - editflagtypes.cgi would crash when classifications are enabled
    and the user did not have global editcomponents privileges.
    (Bug 1310728)
  - The File::Slurp would trigger warnings on perl 5.24.
    (Bug 1301887)
  - All the time entries in the 'when' column had the correct date
    but the time was fixed to 00:00 when using Sqlite.
    (Bug 1303702)</changelog>
  <changelog author="ecsos@opensuse.org" date="1521806400">- update german language to 5.0.4
- Add patch bugzilla-de-tagfix.patch to fix "missing closing tag
  in german language pack" (boo#1015765).
  Thanks voorburg@gmx.net.</changelog>
  <changelog author="ecsos@opensuse.org" date="1563364800">- Update to 5.0.6
  This release contains a schema change to the flagtypes table,
  allowing for many more flagtypes.
  - The flagtypes table should have been using a mediumint for
    several releases, but due to a bug in the schema migration code
    this never happened.
- Changes from 5.0.5
  This release reformats the code according to the same
  conventions as the popular Mojolicious product and includes a
  .perltidyrc to do the same. You may use whatever coding style you
  want, but all files commited to the repo must be reformatted
  according to those rules.
  Additionally, we no longer follow the same release process as
  before. Releases will be more frequent.
  - As it is now 2019, the bugs_fulltext table is now InnoDB instead
    of MyISAM. This may cause upgrade headaches.
- Update german language to 5.0.4-2.
- Drop bugzilla-de-tagfix.patch because now in upstream language.
- Run spec-cleaner.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1580731200">- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to
  shortcut through the -mini flavors.</changelog>
  <changelog author="ecsos &lt;ecsos@opensuse.org&gt;" date="1607860800">- Use apache-rpm-macros.
- Put apache configuration files in separate subpackage.
- Remove %service_add_post and %server_del_postun apache2.service
  from spec.
- Fix two rpmlint errors.</changelog>
  <changelog author="Steve Kowalik &lt;steven.kowalik@suse.com&gt;" date="1630411200">- Add modernize-bugzilla-submit.patch:
  - Port bugzilla-submit to Python 3.</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1681819200">- Port jb2bz.py to python3
  * Add bugzilla-py3-jb2bz.patch</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang_path macro, [bsc#1212476]</changelog>
</package>
<package pkgid="37be82be0c534c0242d3576cedffda59a73c35c09206cc0b69befc1ada096df87964bdbb33e0b1f2f9eaf9921d49951c06c8bc75962214b58f5fec56d6bd1a6f" name="bugzilla-apache" arch="noarch">
  <version epoch="0" ver="5.0.6" rel="6.1"/>
  <changelog author="matwey.kornilov@gmail.com" date="1507032000">- put bugzilla.rpmlintrc into Sources</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1507118400">- rename bugzilla.rpmlintrc to bugzilla-rpmlintrc
  to follow guidelines</changelog>
  <changelog author="ecsos@opensuse.org" date="1520251200">- update to 5.0.4
  This release fixes one security issue.
  See the Security Advisory for details.
  - checksetup.pl would fail to update Chart storage during
    pre-3.6 to 5.0 upgrade. (Bug 1273846)
  - editflagtypes.cgi would crash when classifications are enabled
    and the user did not have global editcomponents privileges.
    (Bug 1310728)
  - The File::Slurp would trigger warnings on perl 5.24.
    (Bug 1301887)
  - All the time entries in the 'when' column had the correct date
    but the time was fixed to 00:00 when using Sqlite.
    (Bug 1303702)</changelog>
  <changelog author="ecsos@opensuse.org" date="1521806400">- update german language to 5.0.4
- Add patch bugzilla-de-tagfix.patch to fix "missing closing tag
  in german language pack" (boo#1015765).
  Thanks voorburg@gmx.net.</changelog>
  <changelog author="ecsos@opensuse.org" date="1563364800">- Update to 5.0.6
  This release contains a schema change to the flagtypes table,
  allowing for many more flagtypes.
  - The flagtypes table should have been using a mediumint for
    several releases, but due to a bug in the schema migration code
    this never happened.
- Changes from 5.0.5
  This release reformats the code according to the same
  conventions as the popular Mojolicious product and includes a
  .perltidyrc to do the same. You may use whatever coding style you
  want, but all files commited to the repo must be reformatted
  according to those rules.
  Additionally, we no longer follow the same release process as
  before. Releases will be more frequent.
  - As it is now 2019, the bugs_fulltext table is now InnoDB instead
    of MyISAM. This may cause upgrade headaches.
- Update german language to 5.0.4-2.
- Drop bugzilla-de-tagfix.patch because now in upstream language.
- Run spec-cleaner.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1580731200">- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to
  shortcut through the -mini flavors.</changelog>
  <changelog author="ecsos &lt;ecsos@opensuse.org&gt;" date="1607860800">- Use apache-rpm-macros.
- Put apache configuration files in separate subpackage.
- Remove %service_add_post and %server_del_postun apache2.service
  from spec.
- Fix two rpmlint errors.</changelog>
  <changelog author="Steve Kowalik &lt;steven.kowalik@suse.com&gt;" date="1630411200">- Add modernize-bugzilla-submit.patch:
  - Port bugzilla-submit to Python 3.</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1681819200">- Port jb2bz.py to python3
  * Add bugzilla-py3-jb2bz.patch</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang_path macro, [bsc#1212476]</changelog>
</package>
<package pkgid="45fa8296fbe5992b1535661df344cfde5ef75e5538b724e73bcaff3ba55e73b329e000d09abe737dac175d8e5763a584c74ee1f6d96d89971a3b9158e75c1774" name="bugzilla-lang-de" arch="noarch">
  <version epoch="0" ver="5.0.6" rel="6.1"/>
  <changelog author="matwey.kornilov@gmail.com" date="1507032000">- put bugzilla.rpmlintrc into Sources</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1507118400">- rename bugzilla.rpmlintrc to bugzilla-rpmlintrc
  to follow guidelines</changelog>
  <changelog author="ecsos@opensuse.org" date="1520251200">- update to 5.0.4
  This release fixes one security issue.
  See the Security Advisory for details.
  - checksetup.pl would fail to update Chart storage during
    pre-3.6 to 5.0 upgrade. (Bug 1273846)
  - editflagtypes.cgi would crash when classifications are enabled
    and the user did not have global editcomponents privileges.
    (Bug 1310728)
  - The File::Slurp would trigger warnings on perl 5.24.
    (Bug 1301887)
  - All the time entries in the 'when' column had the correct date
    but the time was fixed to 00:00 when using Sqlite.
    (Bug 1303702)</changelog>
  <changelog author="ecsos@opensuse.org" date="1521806400">- update german language to 5.0.4
- Add patch bugzilla-de-tagfix.patch to fix "missing closing tag
  in german language pack" (boo#1015765).
  Thanks voorburg@gmx.net.</changelog>
  <changelog author="ecsos@opensuse.org" date="1563364800">- Update to 5.0.6
  This release contains a schema change to the flagtypes table,
  allowing for many more flagtypes.
  - The flagtypes table should have been using a mediumint for
    several releases, but due to a bug in the schema migration code
    this never happened.
- Changes from 5.0.5
  This release reformats the code according to the same
  conventions as the popular Mojolicious product and includes a
  .perltidyrc to do the same. You may use whatever coding style you
  want, but all files commited to the repo must be reformatted
  according to those rules.
  Additionally, we no longer follow the same release process as
  before. Releases will be more frequent.
  - As it is now 2019, the bugs_fulltext table is now InnoDB instead
    of MyISAM. This may cause upgrade headaches.
- Update german language to 5.0.4-2.
- Drop bugzilla-de-tagfix.patch because now in upstream language.
- Run spec-cleaner.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1580731200">- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to
  shortcut through the -mini flavors.</changelog>
  <changelog author="ecsos &lt;ecsos@opensuse.org&gt;" date="1607860800">- Use apache-rpm-macros.
- Put apache configuration files in separate subpackage.
- Remove %service_add_post and %server_del_postun apache2.service
  from spec.
- Fix two rpmlint errors.</changelog>
  <changelog author="Steve Kowalik &lt;steven.kowalik@suse.com&gt;" date="1630411200">- Add modernize-bugzilla-submit.patch:
  - Port bugzilla-submit to Python 3.</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1681819200">- Port jb2bz.py to python3
  * Add bugzilla-py3-jb2bz.patch</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang_path macro, [bsc#1212476]</changelog>
</package>
<package pkgid="1ccc17b1856a5881bc74351518d4ed2e58de8bf83455811bf36af75356cc3ce47ce45e1bbc9dc948d7d37f8d865ca980443d778b341b36abd693fea9b6a57a98" name="build-compare" arch="noarch">
  <version epoch="0" ver="20240414T061202.fa744af" rel="4.1"/>
  <changelog author="olaf@aepfle.de" date="1628683200">- Handle another Date: variant in DocBook generated man pages</changelog>
  <changelog author="bwiedemann@suse.de" date="1630929600">- Drop another duration from rpmlint.log</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1632139200">- Properly drop another duration from rpmlint.log</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.de&gt;" date="1632225600">- Fix build-compare for shadow package</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1645617600">- Add extra handling for KMP versions</changelog>
  <changelog author="olaf@aepfle.de" date="1646395200">- handle -a also in same-build-result.sh
- Find rpmlint.log in more places
- fix logic error in appstream comparison
- rework exit handling in same-build-result.sh
- Fix result in case no rpmlint.log exist
- remove count of checks and packages from rpmlint.log
- remove Check time report from rpmlint.log
- ELF diffing performance improvements
- unpack packages in parallel
- Add zstd handling</changelog>
  <changelog author="olaf@aepfle.de" date="1655121600">- fix objdump parsing (#52)</changelog>
  <changelog author="olaf@aepfle.de" date="1655726400">- fix objdump parsing for non-executable sections (#53)</changelog>
  <changelog author="Martin Kampas &lt;martin.kampas@jolla.com&gt;" date="1661256000">- handle more setuid/setgid ELF variants (#54)</changelog>
  <changelog author="Martin Kampas &lt;martin.kampas@jolla.com&gt;" date="1662120000">- fix compatibility with older sed (#55)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1663588800">- move license to licensedir
- spec file cleanups</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1669377600">- Trim "PROVIDES" from source rpms (#59, bsc#1205998)</changelog>
  <changelog author="Oleg Girko &lt;ol@infoserver.lv&gt;" date="1680955200">- Ignore more sections when comparing ELF executable files</changelog>
  <changelog author="olaf@aepfle.de" date="1682683200">- remove timestamps from png files</changelog>
  <changelog author="Oleg Girko &lt;ol@infoserver.lv&gt;" date="1683115200">- Fix filtering compiled Python modules to handle Python &gt;= 3.7</changelog>
  <changelog author="olaf@aepfle.de" date="1687003200">- Filter dune language version in dune-package files</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.de&gt;" date="1712491200">- Don't compare %{RPMVERSION}</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.de&gt;" date="1713182400">- Update for openSUSE:Slowroll:Build:2</changelog>
</package>
<package pkgid="33719f779d64b3e396ffd2c1ed7e5dfb2f27fc0bdd236cbaed5e1c0316304bbd0277c26668a85a2d3d877ae485f43bbe11cd047a187b8865ae29ee26934ba909" name="build-compare" arch="src">
  <version epoch="0" ver="20240414T061202.fa744af" rel="4.1"/>
  <changelog author="olaf@aepfle.de" date="1590753600">- Remove usage of readarray to remain compatible with bash3</changelog>
  <changelog author="bwiedemann@suse.de" date="1595851200">- Make output more diffable and readable
- Fix regression in compare_archive
- Fix unit tests</changelog>
  <changelog author="olaf@aepfle.de" date="1628683200">- Handle another Date: variant in DocBook generated man pages</changelog>
  <changelog author="bwiedemann@suse.de" date="1630929600">- Drop another duration from rpmlint.log</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1632139200">- Properly drop another duration from rpmlint.log</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.de&gt;" date="1632225600">- Fix build-compare for shadow package</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1645617600">- Add extra handling for KMP versions</changelog>
  <changelog author="olaf@aepfle.de" date="1646395200">- handle -a also in same-build-result.sh
- Find rpmlint.log in more places
- fix logic error in appstream comparison
- rework exit handling in same-build-result.sh
- Fix result in case no rpmlint.log exist
- remove count of checks and packages from rpmlint.log
- remove Check time report from rpmlint.log
- ELF diffing performance improvements
- unpack packages in parallel
- Add zstd handling</changelog>
  <changelog author="olaf@aepfle.de" date="1655121600">- fix objdump parsing (#52)</changelog>
  <changelog author="olaf@aepfle.de" date="1655726400">- fix objdump parsing for non-executable sections (#53)</changelog>
  <changelog author="Martin Kampas &lt;martin.kampas@jolla.com&gt;" date="1661256000">- handle more setuid/setgid ELF variants (#54)</changelog>
  <changelog author="Martin Kampas &lt;martin.kampas@jolla.com&gt;" date="1662120000">- fix compatibility with older sed (#55)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1663588800">- move license to licensedir
- spec file cleanups</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1669377600">- Trim "PROVIDES" from source rpms (#59, bsc#1205998)</changelog>
  <changelog author="Oleg Girko &lt;ol@infoserver.lv&gt;" date="1680955200">- Ignore more sections when comparing ELF executable files</changelog>
  <changelog author="olaf@aepfle.de" date="1682683200">- remove timestamps from png files</changelog>
  <changelog author="Oleg Girko &lt;ol@infoserver.lv&gt;" date="1683115200">- Fix filtering compiled Python modules to handle Python &gt;= 3.7</changelog>
  <changelog author="olaf@aepfle.de" date="1687003200">- Filter dune language version in dune-package files</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.de&gt;" date="1712491200">- Don't compare %{RPMVERSION}</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.de&gt;" date="1713182400">- Update for openSUSE:Slowroll:Build:2</changelog>
</package>
<package pkgid="6f8bb59949f9605848fdb668ec6bb22ef20c972e116d70cda08a050a10a0deb54d383cbdeebdddfaee3eb1c41a640e75a87fc898b709eee1d2de90ccd7fa89fb" name="build-compare" arch="noarch">
  <version epoch="0" ver="20240414T061202.fa744af" rel="5.14sr"/>
  <changelog author="olaf@aepfle.de" date="1628683200">- Handle another Date: variant in DocBook generated man pages</changelog>
  <changelog author="bwiedemann@suse.de" date="1630929600">- Drop another duration from rpmlint.log</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1632139200">- Properly drop another duration from rpmlint.log</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.de&gt;" date="1632225600">- Fix build-compare for shadow package</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1645617600">- Add extra handling for KMP versions</changelog>
  <changelog author="olaf@aepfle.de" date="1646395200">- handle -a also in same-build-result.sh
- Find rpmlint.log in more places
- fix logic error in appstream comparison
- rework exit handling in same-build-result.sh
- Fix result in case no rpmlint.log exist
- remove count of checks and packages from rpmlint.log
- remove Check time report from rpmlint.log
- ELF diffing performance improvements
- unpack packages in parallel
- Add zstd handling</changelog>
  <changelog author="olaf@aepfle.de" date="1655121600">- fix objdump parsing (#52)</changelog>
  <changelog author="olaf@aepfle.de" date="1655726400">- fix objdump parsing for non-executable sections (#53)</changelog>
  <changelog author="Martin Kampas &lt;martin.kampas@jolla.com&gt;" date="1661256000">- handle more setuid/setgid ELF variants (#54)</changelog>
  <changelog author="Martin Kampas &lt;martin.kampas@jolla.com&gt;" date="1662120000">- fix compatibility with older sed (#55)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1663588800">- move license to licensedir
- spec file cleanups</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1669377600">- Trim "PROVIDES" from source rpms (#59, bsc#1205998)</changelog>
  <changelog author="Oleg Girko &lt;ol@infoserver.lv&gt;" date="1680955200">- Ignore more sections when comparing ELF executable files</changelog>
  <changelog author="olaf@aepfle.de" date="1682683200">- remove timestamps from png files</changelog>
  <changelog author="Oleg Girko &lt;ol@infoserver.lv&gt;" date="1683115200">- Fix filtering compiled Python modules to handle Python &gt;= 3.7</changelog>
  <changelog author="olaf@aepfle.de" date="1687003200">- Filter dune language version in dune-package files</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.de&gt;" date="1712491200">- Don't compare %{RPMVERSION}</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.de&gt;" date="1713182400">- Update for openSUSE:Slowroll:Build:2</changelog>
</package>
<package pkgid="adcc207a46c23a2cb7c1c64b15f69e0b099e08d8cc037c0dc5b07012df199b3583a529957e1083974fb42aa99d2091f882fac0e3d2dc597d83a7f309a55ebb72" name="build-compare" arch="src">
  <version epoch="0" ver="20240414T061202.fa744af" rel="5.14sr"/>
  <changelog author="olaf@aepfle.de" date="1590753600">- Remove usage of readarray to remain compatible with bash3</changelog>
  <changelog author="bwiedemann@suse.de" date="1595851200">- Make output more diffable and readable
- Fix regression in compare_archive
- Fix unit tests</changelog>
  <changelog author="olaf@aepfle.de" date="1628683200">- Handle another Date: variant in DocBook generated man pages</changelog>
  <changelog author="bwiedemann@suse.de" date="1630929600">- Drop another duration from rpmlint.log</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1632139200">- Properly drop another duration from rpmlint.log</changelog>
  <changelog author="Stephan Kulow &lt;coolo@suse.de&gt;" date="1632225600">- Fix build-compare for shadow package</changelog>
  <changelog author="Stefan Seyfried &lt;seife+obs@b1-systems.com&gt;" date="1645617600">- Add extra handling for KMP versions</changelog>
  <changelog author="olaf@aepfle.de" date="1646395200">- handle -a also in same-build-result.sh
- Find rpmlint.log in more places
- fix logic error in appstream comparison
- rework exit handling in same-build-result.sh
- Fix result in case no rpmlint.log exist
- remove count of checks and packages from rpmlint.log
- remove Check time report from rpmlint.log
- ELF diffing performance improvements
- unpack packages in parallel
- Add zstd handling</changelog>
  <changelog author="olaf@aepfle.de" date="1655121600">- fix objdump parsing (#52)</changelog>
  <changelog author="olaf@aepfle.de" date="1655726400">- fix objdump parsing for non-executable sections (#53)</changelog>
  <changelog author="Martin Kampas &lt;martin.kampas@jolla.com&gt;" date="1661256000">- handle more setuid/setgid ELF variants (#54)</changelog>
  <changelog author="Martin Kampas &lt;martin.kampas@jolla.com&gt;" date="1662120000">- fix compatibility with older sed (#55)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1663588800">- move license to licensedir
- spec file cleanups</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1669377600">- Trim "PROVIDES" from source rpms (#59, bsc#1205998)</changelog>
  <changelog author="Oleg Girko &lt;ol@infoserver.lv&gt;" date="1680955200">- Ignore more sections when comparing ELF executable files</changelog>
  <changelog author="olaf@aepfle.de" date="1682683200">- remove timestamps from png files</changelog>
  <changelog author="Oleg Girko &lt;ol@infoserver.lv&gt;" date="1683115200">- Fix filtering compiled Python modules to handle Python &gt;= 3.7</changelog>
  <changelog author="olaf@aepfle.de" date="1687003200">- Filter dune language version in dune-package files</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.de&gt;" date="1712491200">- Don't compare %{RPMVERSION}</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.de&gt;" date="1713182400">- Update for openSUSE:Slowroll:Build:2</changelog>
</package>
<package pkgid="6e89d99b35a8dbf3bcf8d4db7814d653dcd604bc267804d9196ac9e299ecb9b7457778bcf0fdc684b62dd9ae5d88e463727bdb1302c9311eb3c8fae3002a955c" name="caca-utils" arch="i586">
  <version epoch="0" ver="0.99.beta20" rel="3.1"/>
  <changelog author="&#x418;&#x43B;&#x44C;&#x44F; &#x418;&#x43D;&#x434;&#x438;&#x433;&#x43E; &lt;ilya@ilya.top&gt;" date="1582718400">- Refreshed spec-file via spec-cleaner.
- Added Requires:toilet for caca-utils, because need for cacaclock.</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1583841600">- The contents of libcaca-prevent-overflow.patch
  have been moved to Bug1120502-add_cast_to_prevent_overflow.patch
  and libcaca-variable-type.patch
  [libcaca-prevent-overflow.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1614340800">- More overflow prevention of multiplying large ints
  [bsc#1182731, CVE-2021-3410, libcaca-bsc1182731-prevent-overflow.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1618574400">- The problem is due to the fact that the images in the POC have
  a size of 0x0 and thus, when exporting, no data is written for
  the image bits.
  However, space is allocated for the header only, not taking
  into account that sprintf appends a NUL byte.
  [CVE-2021-30498, CVE-2021-30499, bsc#1184751, bsc#1184752,
  bsc1184751-add-space-for-NUL-byte.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1647259200">- When a zero-width or zero-height image is given, a divide-by-zero
  occurs. This patch checks for this and produces a zero-sized
  output.
  [bsc1197028-correctly-handle-zero-width-or-height-images.patch,
  CVE-2022-0856, bsc#1197028]</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1668427200">- Upgrade to 0.99.beta20
  * IPv6 support in cacaserver
  * fixed a bug from 2004 that caused PDF documentation generation to fail
  * memory allocation functions are now more robust
  * numerous fixes for memory leaks and invalid memory accesses:
  * CVE-2021-30498
  * CVE-2021-30499
  * CVE-2021-3410
  * CVE-2018-20546
  * CVE-2018-20547
  * CVE-2018-20545
  * CVE-2018-20548
  * CVE-2018-20549
- Dropped upstream fixed patches
  * libcaca-bsc1182731-prevent-overflow.patch
  * libcaca-variable-type.patch
  * Bug1120502-add_cast_to_prevent_overflow.patch</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1668427201">- add patch [libcaca-autoconf-2.69.patch]
  * Don't force autoconf to be at version 2.71</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1708689600">- Use %autosetup, prepare for RPM 4.20.
  * Rewrote patches so that they are applied uniformly via %autosetup.
  * Correctly reorder the patches in specfile declaration.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1718625600">- Added file libcaca-0.99.beta20-gcc14.patch (boo#1225795).</changelog>
  <changelog author="&#x418;&#x43B;&#x44C;&#x44F; &#x418;&#x43D;&#x434;&#x438;&#x433;&#x43E; &lt;ilya@ilya.top&gt;" date="1718625601">- Updated spec-file with manual optimizations.</changelog>
</package>
<package pkgid="2740e0c78c8699a2732c022e74bd946539fa6c051184233bdd72426597c6e6c382b8c76891d8d26a50f53f5a77f08a9b76f0f74ff99716198b4f4fd9e6efd297" name="caca-utils" arch="x86_64">
  <version epoch="0" ver="0.99.beta20" rel="3.1"/>
  <changelog author="&#x418;&#x43B;&#x44C;&#x44F; &#x418;&#x43D;&#x434;&#x438;&#x433;&#x43E; &lt;ilya@ilya.top&gt;" date="1582718400">- Refreshed spec-file via spec-cleaner.
- Added Requires:toilet for caca-utils, because need for cacaclock.</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1583841600">- The contents of libcaca-prevent-overflow.patch
  have been moved to Bug1120502-add_cast_to_prevent_overflow.patch
  and libcaca-variable-type.patch
  [libcaca-prevent-overflow.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1614340800">- More overflow prevention of multiplying large ints
  [bsc#1182731, CVE-2021-3410, libcaca-bsc1182731-prevent-overflow.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1618574400">- The problem is due to the fact that the images in the POC have
  a size of 0x0 and thus, when exporting, no data is written for
  the image bits.
  However, space is allocated for the header only, not taking
  into account that sprintf appends a NUL byte.
  [CVE-2021-30498, CVE-2021-30499, bsc#1184751, bsc#1184752,
  bsc1184751-add-space-for-NUL-byte.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1647259200">- When a zero-width or zero-height image is given, a divide-by-zero
  occurs. This patch checks for this and produces a zero-sized
  output.
  [bsc1197028-correctly-handle-zero-width-or-height-images.patch,
  CVE-2022-0856, bsc#1197028]</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1668427200">- Upgrade to 0.99.beta20
  * IPv6 support in cacaserver
  * fixed a bug from 2004 that caused PDF documentation generation to fail
  * memory allocation functions are now more robust
  * numerous fixes for memory leaks and invalid memory accesses:
  * CVE-2021-30498
  * CVE-2021-30499
  * CVE-2021-3410
  * CVE-2018-20546
  * CVE-2018-20547
  * CVE-2018-20545
  * CVE-2018-20548
  * CVE-2018-20549
- Dropped upstream fixed patches
  * libcaca-bsc1182731-prevent-overflow.patch
  * libcaca-variable-type.patch
  * Bug1120502-add_cast_to_prevent_overflow.patch</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1668427201">- add patch [libcaca-autoconf-2.69.patch]
  * Don't force autoconf to be at version 2.71</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1708689600">- Use %autosetup, prepare for RPM 4.20.
  * Rewrote patches so that they are applied uniformly via %autosetup.
  * Correctly reorder the patches in specfile declaration.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1718625600">- Added file libcaca-0.99.beta20-gcc14.patch (boo#1225795).</changelog>
  <changelog author="&#x418;&#x43B;&#x44C;&#x44F; &#x418;&#x43D;&#x434;&#x438;&#x433;&#x43E; &lt;ilya@ilya.top&gt;" date="1718625601">- Updated spec-file with manual optimizations.</changelog>
</package>
<package pkgid="ac80dae30054ef771fd5e02ffc79cbea205e1082a768138677d97fb6778039f14a8458f61f7e9e8ce4abfea621093beeb45bcd51ff1ee3f6d21226cf18d2005f" name="caca-utils-debuginfo" arch="i586">
  <version epoch="0" ver="0.99.beta20" rel="3.1"/>
  <changelog author="&#x418;&#x43B;&#x44C;&#x44F; &#x418;&#x43D;&#x434;&#x438;&#x433;&#x43E; &lt;ilya@ilya.top&gt;" date="1582718400">- Refreshed spec-file via spec-cleaner.
- Added Requires:toilet for caca-utils, because need for cacaclock.</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1583841600">- The contents of libcaca-prevent-overflow.patch
  have been moved to Bug1120502-add_cast_to_prevent_overflow.patch
  and libcaca-variable-type.patch
  [libcaca-prevent-overflow.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1614340800">- More overflow prevention of multiplying large ints
  [bsc#1182731, CVE-2021-3410, libcaca-bsc1182731-prevent-overflow.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1618574400">- The problem is due to the fact that the images in the POC have
  a size of 0x0 and thus, when exporting, no data is written for
  the image bits.
  However, space is allocated for the header only, not taking
  into account that sprintf appends a NUL byte.
  [CVE-2021-30498, CVE-2021-30499, bsc#1184751, bsc#1184752,
  bsc1184751-add-space-for-NUL-byte.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1647259200">- When a zero-width or zero-height image is given, a divide-by-zero
  occurs. This patch checks for this and produces a zero-sized
  output.
  [bsc1197028-correctly-handle-zero-width-or-height-images.patch,
  CVE-2022-0856, bsc#1197028]</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1668427200">- Upgrade to 0.99.beta20
  * IPv6 support in cacaserver
  * fixed a bug from 2004 that caused PDF documentation generation to fail
  * memory allocation functions are now more robust
  * numerous fixes for memory leaks and invalid memory accesses:
  * CVE-2021-30498
  * CVE-2021-30499
  * CVE-2021-3410
  * CVE-2018-20546
  * CVE-2018-20547
  * CVE-2018-20545
  * CVE-2018-20548
  * CVE-2018-20549
- Dropped upstream fixed patches
  * libcaca-bsc1182731-prevent-overflow.patch
  * libcaca-variable-type.patch
  * Bug1120502-add_cast_to_prevent_overflow.patch</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1668427201">- add patch [libcaca-autoconf-2.69.patch]
  * Don't force autoconf to be at version 2.71</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1708689600">- Use %autosetup, prepare for RPM 4.20.
  * Rewrote patches so that they are applied uniformly via %autosetup.
  * Correctly reorder the patches in specfile declaration.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1718625600">- Added file libcaca-0.99.beta20-gcc14.patch (boo#1225795).</changelog>
  <changelog author="&#x418;&#x43B;&#x44C;&#x44F; &#x418;&#x43D;&#x434;&#x438;&#x433;&#x43E; &lt;ilya@ilya.top&gt;" date="1718625601">- Updated spec-file with manual optimizations.</changelog>
</package>
<package pkgid="98002df605ed198deb03faf04d80adde656425a341d49bdd91de12cd6ccf6d678e9485f15e4276debb57a93efba886a46fb8d702e806b3aa98cd7a2c7b6dc905" name="caca-utils-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.99.beta20" rel="3.1"/>
  <changelog author="&#x418;&#x43B;&#x44C;&#x44F; &#x418;&#x43D;&#x434;&#x438;&#x433;&#x43E; &lt;ilya@ilya.top&gt;" date="1582718400">- Refreshed spec-file via spec-cleaner.
- Added Requires:toilet for caca-utils, because need for cacaclock.</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1583841600">- The contents of libcaca-prevent-overflow.patch
  have been moved to Bug1120502-add_cast_to_prevent_overflow.patch
  and libcaca-variable-type.patch
  [libcaca-prevent-overflow.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1614340800">- More overflow prevention of multiplying large ints
  [bsc#1182731, CVE-2021-3410, libcaca-bsc1182731-prevent-overflow.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1618574400">- The problem is due to the fact that the images in the POC have
  a size of 0x0 and thus, when exporting, no data is written for
  the image bits.
  However, space is allocated for the header only, not taking
  into account that sprintf appends a NUL byte.
  [CVE-2021-30498, CVE-2021-30499, bsc#1184751, bsc#1184752,
  bsc1184751-add-space-for-NUL-byte.patch]</changelog>
  <changelog author="Josef M&#xF6;llers &lt;josef.moellers@suse.com&gt;" date="1647259200">- When a zero-width or zero-height image is given, a divide-by-zero
  occurs. This patch checks for this and produces a zero-sized
  output.
  [bsc1197028-correctly-handle-zero-width-or-height-images.patch,
  CVE-2022-0856, bsc#1197028]</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1668427200">- Upgrade to 0.99.beta20
  * IPv6 support in cacaserver
  * fixed a bug from 2004 that caused PDF documentation generation to fail
  * memory allocation functions are now more robust
  * numerous fixes for memory leaks and invalid memory accesses:
  * CVE-2021-30498
  * CVE-2021-30499
  * CVE-2021-3410
  * CVE-2018-20546
  * CVE-2018-20547
  * CVE-2018-20545
  * CVE-2018-20548
  * CVE-2018-20549
- Dropped upstream fixed patches
  * libcaca-bsc1182731-prevent-overflow.patch
  * libcaca-variable-type.patch
  * Bug1120502-add_cast_to_prevent_overflow.patch</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1668427201">- add patch [libcaca-autoconf-2.69.patch]
  * Don't force autoconf to be at version 2.71</changelog>
  <changelog author="Valentin Lefebvre &lt;valentin.lefebvre@suse.com&gt;" date="1708689600">- Use %autosetup, prepare for RPM 4.20.
  * Rewrote patches so that they are applied uniformly via %autosetup.
  * Correctly reorder the patches in specfile declaration.</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1718625600">- Added file libcaca-0.99.beta20-gcc14.patch (boo#1225795).</changelog>
  <changelog author="&#x418;&#x43B;&#x44C;&#x44F; &#x418;&#x43D;&#x434;&#x438;&#x433;&#x43E; &lt;ilya@ilya.top&gt;" date="1718625601">- Updated spec-file with manual optimizations.</changelog>
</package>
<package pkgid="e6addb367b7d9ded00a86f0b5f1f3b160408fda798007207eaa96e39069924c3922c6059e2b0f5b7958941802cf14a328e7bcca9f99775340387ca41dbfab255" name="caddy" arch="src">
  <version epoch="0" ver="2.8.4" rel="2.0.2.1.sr20240605"/>
  <changelog author="alexandre.vicenzi@suse.com" date="1675944000">- Update to version 2.6.3:
  * New trusted_proxies global option (within servers) can be used to specify trusted proxy IP ranges globally
  * Unix sockets on Windows now supported as proxy upstreams
  * Proxied WebSocket connections are now logged with correct status code and "size" (bytes read + bytes written)
  * The quic-go package has received significant optimizations and HTTP/3 should be more efficient now
  * CVE-2022-41721: ineffective mitigation for unsafe io.ReadAll (boo#1207207)</changelog>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
</package>
<package pkgid="aabe080805dbb5acb46172e6079b35ac8e9e8ee46a5dc22c904874f6b958ee44754a1d532985a014d1dfeef5edf4812ba418ef80716bfe3126790a01664134f0" name="caddy" arch="x86_64">
  <version epoch="0" ver="2.8.4" rel="2.0.2.1.sr20240605"/>
  <changelog author="alexandre.vicenzi@suse.com" date="1675944000">- Update to version 2.6.3:
  * New trusted_proxies global option (within servers) can be used to specify trusted proxy IP ranges globally
  * Unix sockets on Windows now supported as proxy upstreams
  * Proxied WebSocket connections are now logged with correct status code and "size" (bytes read + bytes written)
  * The quic-go package has received significant optimizations and HTTP/3 should be more efficient now
  * CVE-2022-41721: ineffective mitigation for unsafe io.ReadAll (boo#1207207)</changelog>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
</package>
<package pkgid="642d87c66168056a28fe933b8c0ccdcecd4f47532f3dad3d15a8502f02642a18551c2f21106c3b9a25d205df6eb56d7d9cdd4eea6591630d292961958389c521" name="caddy" arch="src">
  <version epoch="0" ver="2.8.4" rel="3.0.4.1.sr20240605"/>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1718798400">- Revert buildable-artifact change, fetch tarball with tar_scm
- Downgrade golang(API) version to match go.mod
- Override Caddy version during build time as suggested in caddy.go</changelog>
</package>
<package pkgid="8f44b426cc6112e68392552c870c838ee3ccf5c0639b36c0e418165db6c0238d7b9d76af5fe2ff71ba605cb4b05b7af8c47badfb02df95e5d0e8d1551f7b291c" name="caddy" arch="x86_64">
  <version epoch="0" ver="2.8.4" rel="3.0.4.1.sr20240605"/>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1718798400">- Revert buildable-artifact change, fetch tarball with tar_scm
- Downgrade golang(API) version to match go.mod
- Override Caddy version during build time as suggested in caddy.go</changelog>
</package>
<package pkgid="d393667213d823f0287a43c827a323002b2454d6b9f8bbfd137e5bca03b7e13457dade0cd980407018ff3bd9d0c168f36c1ceaaba7a8f12b9fd76934afb2c9e2" name="caddy-bash-completion" arch="noarch">
  <version epoch="0" ver="2.8.4" rel="2.0.2.1.sr20240605"/>
  <changelog author="alexandre.vicenzi@suse.com" date="1675944000">- Update to version 2.6.3:
  * New trusted_proxies global option (within servers) can be used to specify trusted proxy IP ranges globally
  * Unix sockets on Windows now supported as proxy upstreams
  * Proxied WebSocket connections are now logged with correct status code and "size" (bytes read + bytes written)
  * The quic-go package has received significant optimizations and HTTP/3 should be more efficient now
  * CVE-2022-41721: ineffective mitigation for unsafe io.ReadAll (boo#1207207)</changelog>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
</package>
<package pkgid="eb3690beab8a895294fe4e4337747d809d9dbef76ad267702ff928c016092e75d30ef0010a305d5b869cb4c5de354efd5c4757452a50616ad1456f947738a593" name="caddy-bash-completion" arch="noarch">
  <version epoch="0" ver="2.8.4" rel="3.0.4.1.sr20240605"/>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1718798400">- Revert buildable-artifact change, fetch tarball with tar_scm
- Downgrade golang(API) version to match go.mod
- Override Caddy version during build time as suggested in caddy.go</changelog>
</package>
<package pkgid="0678b8f51d8fb5876db967ca994bfc58b8349cbfb38f5675474b0dd804256400566ebf3c021a6daf39c7f9af7d37f7ad68f0b9f1e0fb014865a11c850ac41bfc" name="caddy-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.8.4" rel="2.0.2.1.sr20240605"/>
  <changelog author="alexandre.vicenzi@suse.com" date="1675944000">- Update to version 2.6.3:
  * New trusted_proxies global option (within servers) can be used to specify trusted proxy IP ranges globally
  * Unix sockets on Windows now supported as proxy upstreams
  * Proxied WebSocket connections are now logged with correct status code and "size" (bytes read + bytes written)
  * The quic-go package has received significant optimizations and HTTP/3 should be more efficient now
  * CVE-2022-41721: ineffective mitigation for unsafe io.ReadAll (boo#1207207)</changelog>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
</package>
<package pkgid="14d7d8860e37b122b7fa9bbc16a93783d6917b1cc6582b32116990844f7f59c4d100d941f19fd5a2012f5e078ae42b766d2cc133e9d4d6b7594dbdd540bc82fc" name="caddy-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.8.4" rel="3.0.4.1.sr20240605"/>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1718798400">- Revert buildable-artifact change, fetch tarball with tar_scm
- Downgrade golang(API) version to match go.mod
- Override Caddy version during build time as suggested in caddy.go</changelog>
</package>
<package pkgid="a9246b0371a19d61d92bfa57a70c414eac44ffcf7b2bdc8ff0ce2f2e2826e67af6415d384626df5bb010be84d8e67be1a62bebd91ba16988c632604fd3f2a890" name="caddy-fish-completion" arch="noarch">
  <version epoch="0" ver="2.8.4" rel="2.0.2.1.sr20240605"/>
  <changelog author="alexandre.vicenzi@suse.com" date="1675944000">- Update to version 2.6.3:
  * New trusted_proxies global option (within servers) can be used to specify trusted proxy IP ranges globally
  * Unix sockets on Windows now supported as proxy upstreams
  * Proxied WebSocket connections are now logged with correct status code and "size" (bytes read + bytes written)
  * The quic-go package has received significant optimizations and HTTP/3 should be more efficient now
  * CVE-2022-41721: ineffective mitigation for unsafe io.ReadAll (boo#1207207)</changelog>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
</package>
<package pkgid="c1dd5de33f5f21626c07d4edd8e6a7fc337100f386ce317ce90f29ee331ceeb02704e20ed2e536da82620e0028f07dea4c9738ca6bad6f9de072cd816ceb6dba" name="caddy-fish-completion" arch="noarch">
  <version epoch="0" ver="2.8.4" rel="3.0.4.1.sr20240605"/>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1718798400">- Revert buildable-artifact change, fetch tarball with tar_scm
- Downgrade golang(API) version to match go.mod
- Override Caddy version during build time as suggested in caddy.go</changelog>
</package>
<package pkgid="1156d6d71112470c53d0e0e0878337c12c6df660b8b37e73648c06e03ffd5d6660821932ef6e28aa4063f98ad8d8136d93071bca205c055d22261ae130519486" name="caddy-zsh-completion" arch="noarch">
  <version epoch="0" ver="2.8.4" rel="2.0.2.1.sr20240605"/>
  <changelog author="alexandre.vicenzi@suse.com" date="1675944000">- Update to version 2.6.3:
  * New trusted_proxies global option (within servers) can be used to specify trusted proxy IP ranges globally
  * Unix sockets on Windows now supported as proxy upstreams
  * Proxied WebSocket connections are now logged with correct status code and "size" (bytes read + bytes written)
  * The quic-go package has received significant optimizations and HTTP/3 should be more efficient now
  * CVE-2022-41721: ineffective mitigation for unsafe io.ReadAll (boo#1207207)</changelog>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
</package>
<package pkgid="ad255bee384c01d0013ca906570b8f43a8132aafb44bf4ba7e5bcfc1229a79a7efe1d17936f2ec7fa4f821e546f753924b149e92a46a39eebb361165539ee32b" name="caddy-zsh-completion" arch="noarch">
  <version epoch="0" ver="2.8.4" rel="3.0.4.1.sr20240605"/>
  <changelog author="jkowalczyk@suse.com" date="1682769600">- Update to version 2.6.4:
  * go.mod: Upgrade acmez and x/net
  * reverseproxy: Don't buffer chunked requests (fix #5366) (#5367)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1682856000">- Fix failing build on SLE-12 by defining _sharedstatedir /var/lib
  on SLE-12 consistent with SLE-15, openSUSE and upstream RPM docs.
  * SLE-12 _sharedstatedir was /usr/com, _localstatedir is /var as expected
  * SLE-15+ _sharedstatedir is /var/lib, _localstatedir is /var
  * _sharedstatedir used here as home directory for newly created user caddy
  * If not redefined build fails with empty /usr/com not owned by any package
  * Switch to useradd -d %{_sharedstatedir} from %{_localstatedir}/lib
    The latter is common in Factory packages possibly for historical reasons,
    opt for the less common option here for equivalence and clarity.</changelog>
  <changelog author="elimat@opensuse.org" date="1691150400">- Update to version 2.7.2:
  * reverseproxy: Fix hijack ordering which broke websockets (#5679)
  * httpcaddyfile: Fix `string does not match ~[]E` error (#5675)
  * encode: Fix infinite recursion (#5672)
  * caddyhttp: Make use of `http.ResponseController` (#5654)
  * go.mod: Upgrade dependencies esp. smallstep/certificates
  * core: Allow loopback hosts for admin endpoint (fix #5650) (#5664)
  * httpcaddyfile: Allow `hostnames` &amp; logger name overrides for log directive (#5643)
  * reverseproxy: Connection termination cleanup (#5663)
  * go.mod: Use quic-go 0.37.1
  * reverseproxy: Export ipVersions type (#5648)
  * go.mod: Use latest CertMagic (v0.19.1)
  * caddyhttp: Preserve original error (fix #5652)
  * fileserver: add lazy image loading (#5646)
  * go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum (#5644)
  * core: Refine mutex during reloads (fix #5628) (#5645)
  * go.mod: update quic-go to v0.36.2 (#5636)
  * fileserver: Tweak grid view of browse template
  * fileserver: add `export-template` sub-command to `file-server` (#5630)
  * caddyfile: Fix comparing if two tokens are on the same line (#5626)
  * caddytls: Reuse certificate cache through reloads (#5623)
  * Minor tweaks to security.md
  * reverseproxy: Pointer receiver
  * caddyhttp: Trim dot/space only on Windows (fix #5613)
  * update quic-go to v0.36.1 (#5611)
  * caddyconfig: Specify config adapter for HTTP loader (close #5607)
  * core: Embed net.UDPConn to gain optimizations (#5606)
  * chore: remove deprecated property `rlcp` in goreleaser config (#5608)
  * core: Skip `chmod` for abstract unix sockets (#5596)
  * core: Add optional unix socket file permissions (#4741)
  * reverseproxy: Honor `tls_except_port` for active health checks (#5591)
  * Appease linter
  * Fix compile on Windows, hopefully
  * core: Properly preserve unix sockets (fix  #5568)
  * go.mod: Upgrade CertMagic for hotfix
  * go.mod: Upgrade some dependencies
  * chore: upgrade otel (#5586)
  * go.mod: Update quic-go to v0.36.0 (#5584)
  * reverseproxy: weighted_round_robin load balancing policy (#5579)
  * reverseproxy: Experimental streaming timeouts (#5567)
  * chore: remove refs of deprecated io/ioutil (#5576)
  * headers: Allow `&gt;` to defer shortcut for replacements (#5574)
  * caddyhttp: Support custom network for HTTP/3 (#5573)
  * reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)
  * fileserver: browse: Better grid layout (#5564)
  * caddytls: Clarify some JSON config docs
  * cmd: Implement storage import/export (#5532)
  * go.mod: Upgrade quic-go to 0.35.1
  * update quic-go to v0.35.0 (#5560)
  * templates: Add `readFile` action that does not evaluate templates (#5553)
  * caddyfile: Track import name instead of modifying filename (#5540)
  * core: Use SO_REUSEPORT_LB on FreeBSD (#5554)
  * caddyfile: Do not replace import tokens if they are part of a snippet (#5539)
  * fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)
  * fileserver: browse: minor tweaks for grid view, dark mode (#5545)
  * fileserver: Only set Etag if not already set (fix #5546) (#5547)
  * fileserver: Fix file browser breadcrumb font (#5543)
  * caddyhttp: Fix h3 shutdown (#5541)
  * fileserver: More filetypes for browse icons
  * fileserver: Fix file browser footer in grid mode (#5536)
  * cmd: Avoid spammy log messages (fix #5538)
  * httpcaddyfile: Sort Caddyfile slice
  * caddyhttp: Implement named routes, `invoke` directive (#5107)
  * rewrite: use escaped path, fix #5278 (#5504)
  * headers: Add &gt; Caddyfile shortcut for enabling defer (#5535)
  * go.mod: Upgrade several dependencies
  * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile (#5494)
  * fileserver: Use EscapedPath for browse (#5534)
  * caddyhttp: Refactor cert Managers (fix #5415) (#5533)
  * Slightly more helpful error message
  * caddytls: Check for nil ALPN; close #5470 (#5473)
  * cmd: Reduce spammy logs from --watch
  * caddyhttp: Add a getter for Server.name (#5531)
  * caddytls: Configurable fallback SNI (#5527)
  * caddyhttp: Update quic's TLS configs after reload (#5517) (fix #4849)
  * Add doc comment about changing admin endpoint
  * feature: watch include directory (#5521)
  * chore: remove deprecated linters (#5525)
  * go.mod: Upgrade CertMagic again
  * go.mod: Upgrade CertMagic
  * reverseproxy: Optimize base case for least_conn and random_choose policies (#5487)
  * reverseproxy: Fix active health check header canonicalization, refactor (#5446)
  * reverseproxy: Add `fallback` for some policies, instead of always random (#5488)
  * logging: Actually honor the SoftStart parameter
  * logging: Soft start for net writer (close #5520)
  * fastcgi: Fix `capture_stderr` (#5515)
  * acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)
  * go.mod: Update some dependencies
  * logging: Add traceID field to access logs when tracing is active (#5507)
  * caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's `ResponseController` (#5509)
  * reverseproxy: Fix reinitialize upstream healthy metrics (#5498)
  * fix some comments (#5508)
  * templates: Add `fileStat` function (#5497)
  * caddyfile: Stricter parsing, error for brace on new line (#5505)
  * core: Return default logger if no modules loaded
  * celmatcher: Implement `pkix.Name` conversion to string (#5492)
  * chore: Adjustments to CI caching (#5495)
  * reverseproxy: Remove deprecated `lookup_srv` (#5396)
  * cmd: Support `'` quotes in envfile parsing (#5437)
  * Update contributing guidelines (#5466)
  * caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)
  * reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)
  * cmd: Create pidfile before config load (close #5477)
  * fileserver: Add color-scheme meta tag (#5475)
  * build(deps): bump actions/setup-go from 3 to 4 (#5474)
  * proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP listener wrapper (#5424)
  * reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)
  * caddyhttp: Log request body bytes read (#5461)
  * log: Make sink logs encodable (#5441)
  * caddytls: Eval replacer on automation policy subjects (#5459)
  * headers: Support deleting all headers as first op (#5464)
  * replacer: Add HTTP time format (#5458)
  * reverseproxy: Header up/down support for CLI command (#5460)
  * caddyhttp: Determine real client IP if trusted proxies configured (#5104)
  * httpcaddyfile: Adjust path matcher sorting to solve for specificity (#5462)
  * caddytls: Zero out throttle window first (#5443)
  * ci: add `--yes` to cosign arguments (#5440)
  * reverseproxy: Reset Content-Length to prevent FastCGI from hanging (#5435)
  * caddytls: Allow on-demand w/o ask for internal-only
  * caddytls: Require 'ask' endpoint for on-demand TLS
  * fileserver: New file browse template (#5427)
  * go.mod: Upgrade dependencies
  * tracing: Support autoprop from OTEL_PROPAGATORS (#5147)
  * caddyhttp: Enable 0-RTT QUIC (#5425)
  * encode: flush status code when hijacked. (#5419)
  * fileserver: Remove trailing slash on fs filenames (#5417)
  * core: Eliminate unnecessary shutdown delay on Unix (#5413)
  * caddyhttp: Fix `vars_regexp` matcher with placeholders (#5408)
  * context: Rename func to `AppIfConfigured` (#5397)
  * reverseproxy: allow specifying ip version for dynamic `a` upstream (#5401)
  * ci/cd: ship tarballs with vendored deps (#5403)
  * caddyfile: Fix heredoc fuzz crasher, drop trailing newline (#5404)
  * caddyfile: Implement heredoc support (#5385)
  * cmd: Expand cobra support, add short flags (#5379)
  * ci: Update minimum Go version to 1.19
  * go.mod: Upgrade quic-go to v0.33.0 (Go 1.19 min)
  * reverseproxy: refactor HTTP transport layer (#5369)
  * caddytls: Relax the warning for on-demand (#5384)
  * cmd: Strict unmarshal for validate (#5383)
  * caddyfile: Implement variadics for import args placeholders (#5249)
  * cmd: make `caddy fmt` hints more clear (#5378)
  * cmd: Adjust documentation for commands (#5377)
- BuildRequires: golang(API) &gt;= 1.20 for guic-go bump</changelog>
  <changelog author="jkowalczyk@suse.com" date="1691323200">- Update to version 2.7.3:
  * go.mod: Upgrade to quic-go v0.37.3
  * cmd: Split unix sockets for admin endpoint addresses (#5696)
  * reverseproxy: do not parse upstream address too early if it contains replaceble parts (#5695)
  * caddyfile: check that matched key is not a substring of the replacement key (#5685)
  * chore: use `--clean` instead of `--rm-dist` for goreleaser (#5691)
  * go.mod: Upgrade quic-go to v0.37.2 (fix  #5680)
  * fileserver: browse: Render SVG images in grid</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1692273600">- Use _service mode manual as better alias name than disabled
  * osc reports service mode disabled as obsolete</changelog>
  <changelog author="jkowalczyk@suse.com" date="1692273601">- Update to version 2.7.4:
  * go.mod: Upgrade CertMagic and quic-go
  * reverseproxy: Always return new upstreams (fix #5736) (#5752)
  * ci: use gci linter (#5708)
  * fileserver: Slightly more fitting icons
  * cmd: Require config for caddy validate (fix #5612) (#5614)
  * Fix tests
  * caddytls: Update docs for on-demand config
  * fileserver: Don't repeat error for invalid method inside error context (#5705)
  * ci: Update to Go 1.21 (#5719)
  * ci: Add riscv64 (64-bit RISC-V) to goreleaser (#5720)
  * go.mod: Upgrade golang.org/x/net to 0.14.0 (#5718)
  * ci: Use gofumpt to format code (#5707)
  * templates: Fix httpInclude (fix #5698)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1695297600">- Switch to sysuser for user setup</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1697198400">- Update to version 2.7.5:
  * admin: Respond with 4xx on non-existing config path (#5870)
  * ci: Force the Go version for govulncheck (#5879)
  * fileserver: Set canonical URL on browse template (#5867)
  * tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852)
  * reverseproxy: Add more debug logs (#5793)
  * reverseproxy: Fix `least_conn` policy regression (#5862)
  * reverseproxy: Add logging for dynamic A upstreams (#5857)
  * reverseproxy: Replace health header placeholders (#5861)
  * httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860)
  * cmd: Fix exiting with custom status code, add `caddy -v` (#5874)
  * reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828)
  * reverseproxy: Fix retries on "upstreams unavailable" error (#5841)
  * httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808)
  * encode: Add `application/wasm*` to the default content types (#5869)
  * fileserver: Add command shortcuts `-l` and `-a` (#5854)
  * go.mod: Upgrade dependencies incl. x/net/http
  * templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)
  * reverseproxy: Allow fallthrough for response handlers without routes (#5780)
  * fix: caddytest.AssertResponseCode error message (#5853)
  * build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847)
  * build(deps): bump actions/checkout from 3 to 4 (#5846)
  * caddyhttp: Use LimitedReader for HTTPRedirectListener
  * fileserver: browse template SVG icons and UI tweaks (#5812)
  * reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)
  * httpcaddyfile: fix placeholder shorthands in named routes (#5791)
  * cmd: Prevent overwriting existing env vars with `--envfile` (#5803)
  * ci: Run govulncheck (#5790)
  * logging: query filter for array of strings (#5779)
  * logging: Clone array on log filters, prevent side-effects (#5786)
  * fileserver: Export BrowseTemplate
  * ci: ensure short-sha is exported correctly on all platforms (#5781)
  * caddyfile: Fix case where heredoc marker is empty after newline (#5769)
  * go.mod: Update quic-go to v0.38.0 (#5772)
  * chore: Appease gosec linter (#5777)
  * replacer: change timezone to UTC for "time.now.http" placeholders (#5774)
  * caddyfile: Adjust error formatting (#5765)
  * update quic-go to v0.37.6 (#5767)
  * httpcaddyfile: Stricter errors for site and upstream address schemes (#5757)
  * caddyfile: Loosen heredoc parsing (#5761)
  * fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751)
  * fix package typo (#5764)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1702036800">- Update to version 2.7.6:
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1707134400">- Provide user and group (due to RPM 4.19)
- Update caddy.sysusers to also create a group</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1707220800">- Drop deprecated go_provides macro: even though it tries to guard
  on suse_version &lt;= 1110, it has entirely disarms the dep scanner.
- Remove the manual user/group provides: the package uses
  sysusers.d; the auto-provides were not working due to the broken
  go_provides.</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1707220801">- Packaging improvements:
  * Remove define github project name components no longer needed
  * Remove define gname and uname for user and group creation, use
    package name macro with identical value
  * Drop BuildRequires: golang-packaging. The original macros for
    file movements into GOPATH are obsolete with Go modules. Macro
    go_nostrip is no longer needed with current binutils and Go.
  * Use autosetup -a 1 to unpack source and vendored dependencies
  * Drop export CGO_ENABLED="0". Use the default unless there is a
    defined requirement or benefit.
  * Build PIE with pattern that may become recommended procedure:
    %%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
    A go toolchain buildmode default config would be preferable
    but none exist at this time.
  * Drop mod=vendor, go1.14+ will detect vendor dir and auto-enable
  * Remove ldflags -s (Omit symbol table and debug info) and -w
    (Omit DWARF symbol table). This information is used to produce
    separate debuginfo packages and binaries are stripped for
    reduced size by GNU strip during RPM build.
  * Add basic %check to execute binary --help</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1711886400">- Fix --no-check build</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1716897600">- Update to version 2.8.0:
  * acmeserver: Add `sign_with_root` for Caddyfile (#6345)
  * caddyfile: Reject global request matchers earlier (#6339)
  * core: Fix bug in AppIfConfigured (fix #6336)
  * fix a typo (#6333)
  * autohttps: Move log WARN to INFO, reduce confusion (#6185)
  * reverseproxy: Support HTTP/3 transport to backend (#6312)
  * context: AppIfConfigured returns error; consider not-yet-provisioned modules (#6292)
  * Fix lint error about deprecated method in smallstep/certificates/authority
  * go.mod: Upgrade dependencies
  * caddytls: fix permission requirement with AutomationPolicy (#6328)
  * caddytls: remove ClientHelloSNICtxKey (#6326)
  * caddyhttp: Trace individual middleware handlers (#6313)
  * templates: Add `pathEscape` template function and use it in file browser (#6278)
  * caddytls: set server name in context (#6324)
  * chore: downgrade minimum Go version in go.mod (#6318)
  * caddytest: normalize the JSON config (#6316)
  * caddyhttp: New experimental handler for intercepting responses (#6232)
  * httpcaddyfile: Set challenge ports when http_port or https_port are used
  * logging: Add support for additional logger filters other than hostname (#6082)
  * caddyhttp: Log 4xx as INFO; 5xx as ERROR (close #6106)
  * Second half of 6dce493
  * caddyhttp: Alter log message when request is unhandled (close #5182)
  * chore: Bump Go version in CI (#6310)
  * go.mod: go 1.22.3
  * Fix typos (#6311)
  * reverseproxy: Pointer to struct when loading modules; remove LazyCertPool (#6307)
  * tracing: add trace_id var (`http.vars.trace_id` placeholder) (#6308)
  * go.mod: CertMagic v0.21.0
  * reverseproxy: Implement health_follow_redirects (#6302)
  * caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
  * go.mod: Upgrade to quic-go v0.43.1
  * reverseproxy: HTTP transport: fix PROXY protocol initialization (#6301)
  * caddytls: Ability to drop connections (close #6294)
  * build(deps): bump golangci/golangci-lint-action from 4 to 5 (#6289)
  * httpcaddyfile: Fix expression matcher shortcut in snippets (#6288)
  * caddytls: Evict internal certs from cache based on issuer (#6266)
  * chore: add warn logs when using deprecated fields (#6276)
  * caddyhttp: Fix linter warning about deprecation
  * go.mod: Upgrade to quic-go v0.43.0
  * fileserver: Set "Vary: Accept-Encoding" header (see #5849)
  * events: Add debug log
  * reverseproxy: handle buffered data during hijack (#6274)
  * ci: remove `android` and `plan9` from cross-build workflow (#6268)
  * run `golangci-lint run --fix --fast` (#6270)
  * caddytls: Option to configure certificate lifetime (#6253)
  * replacer: Implement `file.*` global replacements (#5463)
  * caddyhttp: Address some Go 1.20 features (#6252)
  * Quell linter (false positive)
  * reverse_proxy: Add grace_period for SRV upstreams to Caddyfile (#6264)
  * doc: add `verifier` in `ClientAuthentication` caddyfile marshaler doc (#6263)
  * caddytls: Add Caddyfile support for on-demand permission module (close #6260)
  * reverseproxy: Remove long-deprecated buffering properties
  * reverseproxy: Reuse buffered request body even if partially drained
  * reverseproxy: Accept EOF when buffering
  * logging: Fix default access logger (#6251)
  * fileserver: Improve Vary handling (#5849)
  * cmd: Only validate config is proper JSON if config slice has data (#6250)
  * staticresp: Use the evaluated response body for sniffing JSON content-type (#6249)
  * encode: Slight fix for the previous commit
  * encode: Improve Etag handling (fix #5849)
  * httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)
  * caddyfile: Populate regexp matcher names by default (#6145)
  * caddyhttp: record num. bytes read when response writer is hijacked (#6173)
  * caddyhttp: Support multiple logger names per host (#6088)
  * chore: fix some typos in comments (#6243)
  * encode: Configurable compression level for zstd (#6140)
  * caddytls: Remove shim code supporting deprecated lego-dns (#6231)
  * connection policy: add `local_ip`  matcher (#6074)
  * reverseproxy: Wait for both ends of websocket to close (#6175)
  * caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)
  * caddytls: Still provision permission module if ask is specified
  * fileserver: read etags from precomputed files (#6222)
  * fileserver: Escape # and ? in img src (fix #6237)
  * reverseproxy: Implement modular CA provider for TLS transport (#6065)
  * caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)
  * cmd: Fix panic related to config filename (fix #5919)
  * cmd: Assume Caddyfile based on filename prefix and suffix (#5919)
  * admin: Make `Etag` a header, not a trailer (#6208)
  * caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)
  * caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)
  * gitignore: Add rule for caddyfile.go (#6225)
  * chore: Fix broken links in README.md (#6223)
  * chore: Upgrade some dependencies (#6221)
  * caddyhttp: Add plaintext response to `file_server browse` (#6093)
  * admin: Use xxhash for etag (#6207)
  * modules: fix some typo in conments (#6206)
  * caddyhttp: Replace sensitive headers with REDACTED (close #5669)
  * caddyhttp: close quic connections when server closes (#6202)
  * reverseproxy: Use xxhash instead of fnv32 for LB (#6203)
  * caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)
  * chore: upgrade deps (#6198)
  * chore: remove repetitive word (#6193)
  * Added a null check to avoid segfault on rewrite query ops (#6191)
  * rewrite: `uri query` replace operation (#6165)
  * logging: support `ms` duration format and add docs (#6187)
  * replacer: use RWMutex to protect static provider (#6184)
  * caddyhttp: Allow `header` replacement with empty string (#6163)
  * vars: Make nil values act as empty string instead of `"&lt;nil&gt;"` (#6174)
  * chore: Update quic-go to v0.42.0 (#6176)
  * caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)
  * reverseproxy: configurable active health_passes and health_fails (#6154)
  * reverseproxy: Configurable forward proxy URL (#6114)
  * caddyhttp: upgrade to cel v0.20.0 (#6161)
  * chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)
  * caddyhttp: suppress flushing if the response is being buffered (#6150)
  * chore: encode: use FlushError instead of Flush (#6168)
  * encode: write status immediately when status code is informational (#6164)
  * httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)
  * httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)
  * rewrite: Implement `uri query` operations (#6120)
  * fix struct names (#6151)
  * fileserver: Preserve query during canonicalization redirect (#6109)
  * logging: Implement `log_append` handler (#6066)
  * httpcaddyfile: Allow nameless regexp placeholder shorthand (#6113)
  * logging: Implement `append` encoder, allow flatter filters config (#6069)
  * ci: fix the integration test `TestLeafCertLoaders` (#6149)
  * vars: Allow overriding `http.auth.user.id` in replacer as a special case (#6108)
  * caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable (#6050)
  * cmd: Adjust config load logs/errors (#6032)
  * reverseproxy: SRV dynamic upstream failover (#5832)
  * ci: bump golangci/golangci-lint-action from 3 to 4 (#6141)
  * core: OnExit hooks (#6128)
  * cmd: fix the output of the `Usage` section (#6138)
  * caddytls: verifier: caddyfile: re-add Caddyfile support (#6127)
  * acmeserver: add policy field to define allow/deny rules (#5796)
  * reverseproxy: cookie should be Secure and SameSite=None when TLS (#6115)
  * caddytest: Rename adapt tests to `*.caddyfiletest` extension (#6119)
  * tests: uses testing.TB interface for helper to be able to use test server in benchmarks. (#6103)
  * caddyfile: Assert having a space after heredoc marker to simply check (#6117)
  * chore: Update Chroma to get the new Caddyfile lexer (#6118)
  * reverseproxy: use context.WithoutCancel (#6116)
  * caddyfile: Reject directives in the place of site addresses (#6104)
  * caddyhttp: Register post-shutdown callbacks (#5948)
  * caddyhttp: Only attempt to enable full duplex for HTTP/1.x (#6102)
  * caddyauth: Drop support for `scrypt` (#6091)
  * Revert "caddyfile: Reject long heredoc markers (#6098)" (#6100)
  * caddyauth: Rename `basicauth` to `basic_auth` (#6092)
  * logging: Inline Caddyfile syntax for `ip_mask` filter (#6094)
  * caddyfile: Reject long heredoc markers (#6098)
  * chore: Rename CI jobs, run on M1 mac (#6089)
  * update comment
  * improved list
  * fix: add back text/*
  * fix: add more media types to the compressed by default list
  * acmeserver: support specifying the allowed challenge types (#5794)
  * matchers: Drop `forwarded` option from `remote_ip` matcher (#6085)
  * caddyhttp: Test cases for `%2F` and `%252F` (#6084)
  * bump to golang 1.22 (#6083)
  * fileserver: Browse can show symlink target if enabled (#5973)
  * core: Support NO_COLOR env var to disable log coloring (#6078)
  * build(deps): bump peter-evans/repository-dispatch from 2 to 3 (#6080)
  * Update comment in setcap helper script
  * caddytls: Make on-demand 'ask' permission modular (#6055)
  * core: Add `ctx.Slogger()` which returns an `slog` logger (#5945)
  * chore: Update quic-go to v0.41.0, bump Go minimum to 1.21 (#6043)
  * chore: enabling a few more linters (#5961)
  * caddyfile: Correctly close the heredoc when the closing marker appears immediately (#6062)
  * caddyfile: Switch to slices.Equal for better performance (#6061)
  * tls: modularize trusted CA providers (#5784)
  * logging: Automatic `wrap` default for `filter` encoder (#5980)
  * caddyhttp: Fix panic when request missing ClientIPVarKey (#6040)
  * caddyfile: Normalize &amp; flatten all unmarshalers (#6037)
  * cmd: reverseproxy: log: use caddy logger (#6042)
  * matchers: `query` now ANDs multiple keys (#6054)
  * caddyfile: Add heredoc support to `fmt` command (#6056)
  * refactor: move automaxprocs init in caddycmd.Main()
  * caddyfile: Allow heredoc blank lines (#6051)
  * httpcaddyfile: Add optional status code argument to `handle_errors` directive (#5965)
  * httpcaddyfile: Rewrite `root` and `rewrite` parsing to allow omitting matcher (#5844)
  * fileserver: Implement caddyfile.Unmarshaler interface (#5850)
  * reverseproxy: Add `tls_curves` option to HTTP transport (#5851)
  * caddyhttp: Security enhancements for client IP parsing (#5805)
  * replacer: Fix escaped closing braces (#5995)
  * filesystem: Globally declared filesystems, `fs` directive (#5833)
  * ci/cd: use the build tag `nobadger` to exclude badgerdb (#6031)
  * httpcaddyfile: Fix redir &lt;to&gt; html (#6001)
  * httpcaddyfile: Support client auth verifiers (#6022)
  * tls: add reuse_private_keys (#6025)
  * reverseproxy: Only change Content-Length when full request is buffered (#5830)
  * Switch Solaris-derivatives away from listen_unix (#6021)
  * build(deps): bump actions/upload-artifact from 3 to 4 (#6013)
  * build(deps): bump actions/setup-go from 4 to 5 (#6012)
  * chore: check against errors of `io/fs` instead of `os` (#6011)
  * caddyhttp: support unix sockets in `caddy respond` command (#6010)
  * fileserver: Add total file size to directory listing (#6003)
  * httpcaddyfile: Fix cert file decoding to load multiple PEM in one file (#5997)
  * build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#5994)
  * cmd: use automaxprocs for better perf in containers (#5711)
  * logging: Add `zap.Option` support (#5944)
  * httpcaddyfile: Sort skip_hosts for deterministic JSON (#5990)
  * metrics: Record request metrics on HTTP errors (#5979)
  * go.mod: Updated quic-go to v0.40.1 (#5983)
  * fileserver: Enable compression for command by default (#5855)
  * fileserver: New --precompressed flag (#5880)
  * caddyhttp: Add `uuid` to access logs when used (#5859)
  * proxyprotocol: use github.com/pires/go-proxyproto (#5915)
  * cmd: Preserve LastModified date when exporting storage (#5968)
  * core: Always make AppDataDir for InstanceID (#5976)
  * chore: cross-build for AIX (#5971)
  * caddytls: Sync distributed storage cleaning (#5940)
  * caddytls: Context to DecisionFunc (#5923)
  * tls: accept placeholders in string values of certificate loaders (#5963)
  * templates: Offically make templates extensible (#5939)
  * http2 uses new round-robin scheduler (#5946)
  * panic when reading from backend failed to propagate stream error (#5952)
  * chore: Bump otel to v1.21.0. (#5949)
  * httpredirectlistener: Only set read limit for when request is HTTP (#5917)
  * fileserver: Add .m4v for browse template icon
  * Revert "caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)" (#5924)
  * go.mod: update quic-go version to v0.40.0 (#5922)
  * update quic-go to v0.39.3 (#5918)
  * chore: Fix usage pool comment (#5916)
  * test: acmeserver: add smoke test for the ACME server directory (#5914)
  * Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
  * caddyhttp: Adjust `scheme` placeholder docs (#5910)
  * go.mod: Upgrade quic-go to v0.39.1
  * go.mod: CVE-2023-45142 Update opentelemetry (#5908)
  * templates: Delete headers on `httpError` to reset to clean slate (#5905)
  * httpcaddyfile: Remove port from logger names (#5881)
  * core: Apply SO_REUSEPORT to UDP sockets (#5725)
  * caddyhttp: Use sync.Pool to reduce lengthReader allocations (#5848)
  * cmd: Add newline character to version string in CLI output (#5895)
  * core: quic listener will manage the underlying socket by itself (#5749)
  * templates: Clarify `include` args docs, add `.ClientIP` (#5898)
  * httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
  * cmd: upgrade: resolve symlink of the executable (#5891)
  * caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
- Packaging improvements:
  * Update to BuildRequires: golang(API) &gt;= 1.21 matching go.mod
- CVEs:
  * CVE-2024-22189 (bsc#1222468)
  * CVE-2023-45142</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717070400">- Update to version 2.8.1:
  * caddyhttp: Fix merging consecutive `client_ip` or `remote_ip` matchers (#6350)
  * core: MkdirAll appDataDir in InstanceID with 0o700 (#6340)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329600">- Update to version 2.8.2:
  * cmd: fix auto-detetction of .caddyfile extension (#6356)
  * caddyhttp: properly sanitize requests for root path (#6360)
  * caddytls: Implement certmagic.RenewalInfoGetter
  * build(deps): bump golangci/golangci-lint-action from 5 to 6 (#6361)</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1717329601">- Update to version 2.8.4:
  * cmd: fix regression in auto-detect of Caddyfile (#6362)
  * Tag v2.8.3 was mistakenly made on the v2.8.2 commit and is skipped</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718107200">- Source Caddyfile and index.html from upstream
- Remove part of inaccurate description
- Package shell completion separately
- Generate shell completion during build
- Include manpages
- Remove compatibility with SLE-12
- Source buildable-artifact tar from github to embed version
  information (https://github.com/golang/go/issues/29228)
- Check binary with version subcommand
- Raise golang(API) required version</changelog>
  <changelog author="Enrico Belleri &lt;kilgore.trout@idesmi.eu&gt;" date="1718366400">- Add OBS manual service download_files</changelog>
  <changelog author="Alexandre Vicenzi &lt;alexandre.vicenzi@suse.com&gt;" date="1718798400">- Revert buildable-artifact change, fetch tarball with tar_scm
- Downgrade golang(API) version to match go.mod
- Override Caddy version during build time as suggested in caddy.go</changelog>
</package>
<package pkgid="c2d5c9292129a5c50b8a2a7b5d000f0c43662491c01fe323f5b1f91b5ee15768ccd56bd4e8cdbb28bcb52a877d96a6bf82d423ec8d92d36fbbf49828001ed2f1" name="cadvisor" arch="src">
  <version epoch="0" ver="0.46.0" rel="2.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1671710400">- Initial package (0.46.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- update description from Holden Fried &lt;holdenrf2021@gmail.com&gt;</changelog>
</package>
<package pkgid="5230f8ef730e8e2634588171ef2c4387fb6de26fa47d267a0d66ac047eb8f8001207181466885f912101e29504f36f56681af41d5e28ddc7839f54dd78f6adc5" name="cadvisor" arch="x86_64">
  <version epoch="0" ver="0.46.0" rel="2.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1671710400">- Initial package (0.46.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- update description from Holden Fried &lt;holdenrf2021@gmail.com&gt;</changelog>
</package>
<package pkgid="e853fe7dcb4afb388886415c3d1a74df58032387bf9ad4174c890fb2874ccb860d3c5d526168c7655be727aefd585a88029f478e77ea3f75f7d39205a7ba0f19" name="cadvisor-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.46.0" rel="2.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1671710400">- Initial package (0.46.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- update description from Holden Fried &lt;holdenrf2021@gmail.com&gt;</changelog>
</package>
<package pkgid="8cd58df7c00aa325fa17cd9ab9886a4000c5c0c4c7a8997ef88984e524ccd96b7e968d46426bb34353a2e3b8559a3f81574cd309dc3df3f6afc2a174fc007922" name="caja-engrampa" arch="x86_64">
  <version epoch="0" ver="1.28.1" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1572868800">- Fix build error complaining about conflicting types for
  g_ptr_array_copy by updating to 1.23.1.
- Update to version 1.23.1:
  * Update translations
  * glib-utils: Remove unused function - g_ptr_array_copy
  * Remove some unused/deprecated functions
  * Various smaller fixes</changelog>
  <changelog author="Maurizio Galli &lt;maurizio.galli@gmail.com&gt;" date="1578052800">- Update to version 1.23.2
  * tx: sync with transifex
  * LHA: add test for checking compressed file integrity
  * Add application/(x-compress|x-rpm|x-lzh-compressed) in local magic
  * Show archive type in properties dialog
  * Zstandard: read .tar.zst files
  * Zstandard: add test for checking compressed file integrity
  * Zstandard: Update MIME type
  * Ar: Update MIME type and add magic numbers
  * fr-command-ar: fetch dates with strptime
  * Remove internal mkdtemp and define feature test macro
  * fr-command-tar: fetch dates with strptime
  * Use mate-compiler-flags.m4 provided by mate-common
  * ar: don't remove leading whitespaces in filename field
  * i18n caja extension copyright
  * LHA: make compatible with content-type response from gio file query
  * fr-command-dpkg: fetch dates with strptime
  * dlg-prop: set property label in ui file
  * Add extract-dialog-options.ui
  * LHA: Fix internet media type
  * Use g_list_free_full and g_slist_free_full
  * dlg-prop: show the exact number of bytes as part of the size
  * dlg-prop: allow to open the archive's folder
  * remove warnings: ‘gtk_image_new_from_stock’ is deprecated
  * glib-utils &amp; gtk-utils: Remove unused functions
  * dlg-package-installer: show icons in error dialog buttons
  * dlg-package-installer: remove warning ‘GtkStock’ is deprecated
  * gio-utils: Remove unused functions
  * glib-utils: Remove get_time_string()
  * unace 2.5: Don't show archive summary in file listing
  * tar: don't remove leading whitespaces in filename field
  * Initialization discards ‘const’ qualifier from pointer target type
  * remove warnings: "ENABLE_MAGIC" is not defined, evaluates to 0
  * comparison of integer expressions of different signedness: ‘size_t’
  * Missing initializer for struct field
  * remove warnings: cast from function call [-Wbad-function-cast]
  * remove build warning: local variable shadows another variable</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.2):
  * fr-command-rpm: Use rpm2cpio binary shipped with rpm package.
  * Add source rpm to supported mime-types.
  * Use cpio if no binary is found.
  * Add a configure environment variable to select the cpio path.
  * 7z: Don't set the work directory, i.e. use temporary directory.
  * Check if a mime-type is an alias in
    compute_supported_archive_types.
  * Define LOCALEDIR for bindtextdomain().
  * Migrate from intltool to gettext.
  * Clean file type selection in the new archive dialogue.
  * Automatically sets the maximum size of static arrays.
  * Fix localised pause UI logic.
  * dlg-extract: GtkFileChooserDialog instead of set extra widget.
  * dlg-batch-add: Set dialog image from icon-name instead of
    pixbuf.
  * Fix build using the -fno-common flag.
  * fr-process: Do not override LC_CTYPE.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * Avoid memory leak in java utils.
  * build: Silent build warnings for distcheck.
  * engrampa.appdata.xml: Recursive acronyms for .iso, .rpm
    filetypes.
  * autoconf: Get zstd mime type using libmagic if enabled.
  * Update translations.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1619438400">- Update to version 1.24.2:
  * Translations update
  * ar: fix filename in file list
  * rar 6.00: fix listing archive content with encrypted file list
  * fr-archive: Fix memory leak</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1684152000">- Update to version 1.26.1:
  * fr-process: Fix memory leak.
  * Fix archive file save as function.
  * file-data: Fix memory leak.
  * fr-window: Fix memory leak.
  * dlg-package-installer: Fix memory leak.
  * Update translations.
- Add engrampa-1.26.1-add-7zip-support.patch: Add new 7-zip
  (7zz and 7zzs) project support (commit 6f49d2c7).</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1707825600">- CVE-2023-52138:
  Add patch: engrampa-1.26.1-use-unar-instead-of-cpio-for-CPIO-archives.patch,
  Use unar instead of cpio for CPIO archives (upstream commit 8cd485a5).</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711886400">- Update version to 1.28.1
  * update translations
  * Use unar instead of cpio for CPIO archives
  * Add correct jar mime type
  * Fix double URI escaping
  * Escapes a string for use in a URI. replace special "# and ?" characters in
    uri
  * rar: Actually accept unrar-free as the executable name
  * rar: Add support for unrar-free
  * rar: Fix out of bounds read on malformed output
  * rar: Simplify and merge duplicate code
  * zip: Fix crashes on buggy zip output
  * 7z: Fix accepting RAR archives when unar-open-zip=true
  * correct translation string
  * Fix Segfault on opening .deb files after recent Debian Unstable updates
  * fix warning in Japanese translations
  * Distribute Meson build system (but don't use on openSUSE)
- Drop engrampa-1.26.1-add-7zip-support.patch and
  engrampa-1.26.1-use-unar-instead-of-cpio-for-CPIO-archives.patch, merged by
  Upstream</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Support building on SUSE version 1550: instead of pkgconfig(libmagic)
  build-depend on file-devel for older versions of SUSE.
- Build with --enable-magic configure option set.</changelog>
</package>
<package pkgid="73e28a72978ecd8b563358d24b4b7da45cb08f3a6054ea281cbb987b20415d7d53ecfb11c8d4d6ba014f80d3782193f404053bf620f32b07685ebfd143454bfe" name="caja-engrampa-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.1" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1572868800">- Fix build error complaining about conflicting types for
  g_ptr_array_copy by updating to 1.23.1.
- Update to version 1.23.1:
  * Update translations
  * glib-utils: Remove unused function - g_ptr_array_copy
  * Remove some unused/deprecated functions
  * Various smaller fixes</changelog>
  <changelog author="Maurizio Galli &lt;maurizio.galli@gmail.com&gt;" date="1578052800">- Update to version 1.23.2
  * tx: sync with transifex
  * LHA: add test for checking compressed file integrity
  * Add application/(x-compress|x-rpm|x-lzh-compressed) in local magic
  * Show archive type in properties dialog
  * Zstandard: read .tar.zst files
  * Zstandard: add test for checking compressed file integrity
  * Zstandard: Update MIME type
  * Ar: Update MIME type and add magic numbers
  * fr-command-ar: fetch dates with strptime
  * Remove internal mkdtemp and define feature test macro
  * fr-command-tar: fetch dates with strptime
  * Use mate-compiler-flags.m4 provided by mate-common
  * ar: don't remove leading whitespaces in filename field
  * i18n caja extension copyright
  * LHA: make compatible with content-type response from gio file query
  * fr-command-dpkg: fetch dates with strptime
  * dlg-prop: set property label in ui file
  * Add extract-dialog-options.ui
  * LHA: Fix internet media type
  * Use g_list_free_full and g_slist_free_full
  * dlg-prop: show the exact number of bytes as part of the size
  * dlg-prop: allow to open the archive's folder
  * remove warnings: ‘gtk_image_new_from_stock’ is deprecated
  * glib-utils &amp; gtk-utils: Remove unused functions
  * dlg-package-installer: show icons in error dialog buttons
  * dlg-package-installer: remove warning ‘GtkStock’ is deprecated
  * gio-utils: Remove unused functions
  * glib-utils: Remove get_time_string()
  * unace 2.5: Don't show archive summary in file listing
  * tar: don't remove leading whitespaces in filename field
  * Initialization discards ‘const’ qualifier from pointer target type
  * remove warnings: "ENABLE_MAGIC" is not defined, evaluates to 0
  * comparison of integer expressions of different signedness: ‘size_t’
  * Missing initializer for struct field
  * remove warnings: cast from function call [-Wbad-function-cast]
  * remove build warning: local variable shadows another variable</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.2):
  * fr-command-rpm: Use rpm2cpio binary shipped with rpm package.
  * Add source rpm to supported mime-types.
  * Use cpio if no binary is found.
  * Add a configure environment variable to select the cpio path.
  * 7z: Don't set the work directory, i.e. use temporary directory.
  * Check if a mime-type is an alias in
    compute_supported_archive_types.
  * Define LOCALEDIR for bindtextdomain().
  * Migrate from intltool to gettext.
  * Clean file type selection in the new archive dialogue.
  * Automatically sets the maximum size of static arrays.
  * Fix localised pause UI logic.
  * dlg-extract: GtkFileChooserDialog instead of set extra widget.
  * dlg-batch-add: Set dialog image from icon-name instead of
    pixbuf.
  * Fix build using the -fno-common flag.
  * fr-process: Do not override LC_CTYPE.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * Avoid memory leak in java utils.
  * build: Silent build warnings for distcheck.
  * engrampa.appdata.xml: Recursive acronyms for .iso, .rpm
    filetypes.
  * autoconf: Get zstd mime type using libmagic if enabled.
  * Update translations.</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1619438400">- Update to version 1.24.2:
  * Translations update
  * ar: fix filename in file list
  * rar 6.00: fix listing archive content with encrypted file list
  * fr-archive: Fix memory leak</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1684152000">- Update to version 1.26.1:
  * fr-process: Fix memory leak.
  * Fix archive file save as function.
  * file-data: Fix memory leak.
  * fr-window: Fix memory leak.
  * dlg-package-installer: Fix memory leak.
  * Update translations.
- Add engrampa-1.26.1-add-7zip-support.patch: Add new 7-zip
  (7zz and 7zzs) project support (commit 6f49d2c7).</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1707825600">- CVE-2023-52138:
  Add patch: engrampa-1.26.1-use-unar-instead-of-cpio-for-CPIO-archives.patch,
  Use unar instead of cpio for CPIO archives (upstream commit 8cd485a5).</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711886400">- Update version to 1.28.1
  * update translations
  * Use unar instead of cpio for CPIO archives
  * Add correct jar mime type
  * Fix double URI escaping
  * Escapes a string for use in a URI. replace special "# and ?" characters in
    uri
  * rar: Actually accept unrar-free as the executable name
  * rar: Add support for unrar-free
  * rar: Fix out of bounds read on malformed output
  * rar: Simplify and merge duplicate code
  * zip: Fix crashes on buggy zip output
  * 7z: Fix accepting RAR archives when unar-open-zip=true
  * correct translation string
  * Fix Segfault on opening .deb files after recent Debian Unstable updates
  * fix warning in Japanese translations
  * Distribute Meson build system (but don't use on openSUSE)
- Drop engrampa-1.26.1-add-7zip-support.patch and
  engrampa-1.26.1-use-unar-instead-of-cpio-for-CPIO-archives.patch, merged by
  Upstream</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Support building on SUSE version 1550: instead of pkgconfig(libmagic)
  build-depend on file-devel for older versions of SUSE.
- Build with --enable-magic configure option set.</changelog>
</package>
<package pkgid="dff1e0341f10027b46c81f346d5189b5f18aec883dba2a5fd8d9fb5f7b2d70fa88012768b9c0c8cb32a10b407d36067f6e1cf4c07bbfcea2401ddfa9f9dd072f" name="caja-extension-av" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="02a3683eb317a50bea3a3f0358b45440ce9281c2789d4d0b5fd43c00bd54fb1cab142b33809b5156c6ee442694528654fcba1d8d268c551042dde43cc0c2c18b" name="caja-extension-av-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="0c0defe2fa00d671c3f1de6ca63c2fb6cca4b1ab6a79369fe7014fbccf89eba4c74644b48d95de7a1c1d605010a3a2c816bb0e4f5e45ff6f3a7ae034b20c0232" name="caja-extension-gksu" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="81024a177f9c0177430a63b17ff913c48fce208bb5e0eacc6766c17f1be0e6253f25ac11159e2f820d8192138d563c1670e608ea12590718351747463d7cf0d0" name="caja-extension-gksu-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="ef7c559c98d444a8b3237d7cf35c9321686bc619891b8df920ad7f3fb4556063b8be28a6724038495e205ac8fbbc0bd5705f17ee48b4422699b4827b5aa5d0e7" name="caja-extension-image-converter" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="55a980ba7837719dd5e4a88b503b9264a42020832bc5054e57be5bc39db07248f0d2380e362aa7ecf7b499ddfd08dc0c6c92a09b92723050c7cb38625dd11a89" name="caja-extension-image-converter-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="e9e1fcb66b056da2eb84028f17fff90b16102cf839c04b02bb103c04c8f9fa117dccd8b4d16d086ce1d50ed6e25ad15a044c252e8bd29307ecd127da7628d498" name="caja-extension-open-terminal" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="3ca3324fc3805090954fbac22eba071ce0af68a1b83c7dffd91fd31634a0e4e372b68d2eb12c29cf8d33ddd48ec0b1ebc59b791d921523a8a631d14d5412ccfe" name="caja-extension-open-terminal-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="5f9efb4b39c15f725a6e629d4e57f89878d83ede5f90b3350f8736f721dcc8ec2d3093f6965175df5748af1164fbf60496eca371b9be60fde53c4d14c1fe86db" name="caja-extension-sendto" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="d292da205611f6dd0e24a493b8451e4fdb77f456390e8ef8e06883da58ada1b4af61540dd9ecd78ed9fc93ee2996f6f757a25589ffe6f290cf53777f76c61074" name="caja-extension-sendto-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="1ba39047ff3603af2f6cc22dec4ba5eb02245f02ed30da223a10fa6a09da4e95607280fff6332cc0476f7f9bd41525c05ddc65f73bf7d6b3de70c44e27339064" name="caja-extension-sendto-devel" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="97977d107db7b1ccb6c9c8a4c322e308e6b3cd469fd20e33886cb9e292470aa4e2cb0f39667ac2658f252a5d01a1559e9bad8cd24747151cf881e58f8596991a" name="caja-extension-sendto-gajim" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="9c9d3ae09715dc6ce2cdeba7c57032d2edcb62ec7893fd33a081738d76b8e59ed15fd2c8f9d21cbc97767e14c0748a007f6e4da97e318f8e64e5c14d7b3b8b03" name="caja-extension-sendto-gajim-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="7c17ab8f64c65565719083c13699b3a3b59c440aeac1d20e87b699fe7a547c62a32f8306246ed3c06b92e779d3648fee924f9d5ebb65e81b3efcdfb4526b6586" name="caja-extension-sendto-pidgin" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="9dd7fc77fad192068c198a60ff99ac2167a7b4cbd69179c74b90a5355b2fc5bfbbf699d532d90645cd54abb96537a80e42f685b895dcfa28849940f5441b7cd8" name="caja-extension-sendto-pidgin-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="50f99737aeeffd7ab356c7ac8706cf1a49139a4f18c9c26638e9016a6c939598e48e9ea562fe950d0421577a649b814a590f9d912ff0d99dc81f1ffaea3f4c93" name="caja-extension-sendto-upnp" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="6b9b776e46ed2f23aac468c6d9739dfc04e9925dee20a97547808c3d59840c86da382bc5915a4aedb6b317e05906ef358515535edcb79174f75e2ad0e3e9b9b3" name="caja-extension-sendto-upnp-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="3fab93d865a9929a3ee26e739f51327c1fdec13a23ccd298c63e7dcf771c5cdca1bba2f7be9c0c83cd8a841ef1d038b50290515c4aa902fb290b4c73acf98510" name="caja-extension-share" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="dc903a86fdb2460884114446990ef7bee7c89ac9317877bfdbb7658dff823cd4a420113be16ff70b4b888e30d0aa0ee56c5828489c4cf13f3ad6fb253d5bc601" name="caja-extension-share-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="b9dc38fffd72620aecd36cf5c26f097fbbe08e903d7d8c574fe279c707236678909b9d290ab7a8474f790e44d8d6ef9117b392e977b25b10a07f5aaa2a6601fa" name="caja-extension-wallpaper" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="23bc238e7107e153e29925264d444549b17bebc14fd91060d9aa73ca97d683c779997422599f4b98ad092a690a833513732e66106d99cdadf724e360286bc438" name="caja-extension-wallpaper-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="84b83cf2331c47a7fc2cb93426e2238bf4ac770b5fb094b7d204da2370afa42c668131e7e3a75ed7e6faa47f278df065012498fe8226c1191dc59b3c1ac51bb7" name="caja-extension-xattr-tags" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="4bd0f9f359c9e67e67a635b8a5a783d4fd399c371b96f4c3dcf4c35150240aad199e61020ae428675786e8a383fea8fe269ba0e75825ba2aaf560ca74c514b7f" name="caja-extension-xattr-tags-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="70d72204c5e616ea760ca72638bc70d98bc09f984e56dfa28ad60424bdfd98c711659900cb515996c76e9fe129c35fe767c27ea9e4422ddbcceddeb5b144c19b" name="caja-extensions" arch="src">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="sor.alexei@meowr.ru" date="1460203200">- Update to version 1.14.0:
  * Some more fixes and cleanups.
  * Update translations.
  * Add Changelog generation.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1470830400">- Update to version 1.14.1:
  * Make distcheck use currently selected GTK+ version.
  * Update translations.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1474372800">- Update to version 1.16.0:
  * open-terminal: Fix opening the terminal in remote directories
    with single or double quotes in their names.
  * open-terminal: Some code cleanups.
  * Update translations.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1489492800">- Update to version 1.18.0:
  * NEWS: Use consistent, project wide, markdown-like formatting to
    make generating release announcements easier.
  * Build: Require caja &gt;= 1.17.1 and libmate-desktop &gt;= 1.17.0.
  * Move to GTK+3 (require GTK+ &gt;= 3.14), drop the GTK+2 code and
  - -with-gtk build option.
  * Add the xattr-tags extension to show xattr tags in a new
    column.
  * Update translations.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1492430400">- Update to version 1.18.1:
  * xattr-tags improvements.
  * Update translations.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1510142400">- Update to version 1.18.2:
  * xattr-tags: Remove a hack, it's not needed now.
  * xattr-tags: Fix a typo that caused undefined reference.
  * Update translations.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1520596800">- Update to version 1.20.0:
  * Require GTK+ 3.22 and GLib 2.50.
  * open-terminal: Don't use excessive string duplication.
  * Avoid deprecated gdk_screen_make_display_name().
  * sendto burn: Avoid deprecated gtk_show_uri().
  * Fix the libcaja_gksu_la_LDFLAGS variable declaration.
  * xattr-tags: Fix extension description.
  * README: Added development info.
  * Update translations.
- Add caja-extensions_gtk-3.20.patch: Restore GLib 2.48 and
  GTK+ 3.20 support.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1529150400">- Update to version 1.20.1:
  * Update translations.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1544702400">- Update to version 1.20.2:
  * Update translations.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1551787200">- Update to version 1.22.0:
  * Disable deprecation warnings for distcheck.
  * Make caja-open-terminal configurable (depends on Caja 1.21.3+).
  * Require caja &gt;= 1.21.3.
- Rebase caja-extensions_gtk-3.20.patch.</changelog>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="6398d89fb33e60af1a0aebff68e245e271f23a52d31fa9b6b3e505f2130797e2576a5ccdeb83f5879615e1efa6166d2235c98f5937958d0957b1f1523e9c1396" name="caja-extensions-common-lang" arch="noarch">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="622b33d34f52296a46fee2b3c6755418393530c254782d09a4b94b6ed0679d15739a5d1ce0ca9d5f3db1ddb2a1dc3815658f28f9130f954b3f6cbc037a01eee7" name="caja-extensions-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="a79047d98ca8cf26e3a913d02fb9fb39ed4050860585f14496c8f15166149014db555557b88f1e7b26e12bdc6797563f807e54a5034cc44b2202e1a207ececed" name="caja-extensions-debugsource" arch="x86_64">
  <version epoch="0" ver="1.28.0" rel="2.1"/>
  <changelog author="Jonathan Brielmaier &lt;jbrielmaier@suse.de&gt;" date="1563451200">- Update to version 1.23.0:
  * Translations update
  * Remove trailing whitespaces
  * Strings resistance
  * Change url project's website
- add patch:
  * enable-gupnp-1.2.patch: Tumbleweed only ships gupnp-1.2, so we
    enable it with a patch. Reported upstream as
    https://github.com/mate-desktop/caja-extensions/issues/52
- remove patch:
  * caja-extensions_gtk-3.20.patch: we don't support gtk3.22 anymore
- build require gtk &gt;= 3.22 and glib &gt;= 2.50
- build require gupnp-1.2 on TW, stay on gupnp-1.0 for the rest</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1571313600">- Remove obsolete Groups tag (fate#326485)</changelog>
  <changelog author="Max Lin &lt;mlin@suse.com&gt;" date="1582286400">- Leap 15.2 has newer gupnp, enable builds with gupnp 1.2 on Leap 15.2</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1582718400">- Update to version 1.24.0 (changes since 1.23.0):
  * Migrate from intltool to gettext.
  * caja-image-resizer: Avoid g_type_class_add_private.
  * caja-image-rotator: Avoid g_type_class_add_private.
  * i18n caja extension copyright.
  * Build either with gupnp version 1.0 or 1.2.
  * image-converter: Don't use non-existing icons in context menu.
  * caja-sendto: Rewrite caja-sendto.ui from scratch fixing
    deprecations.
  * caja-sendto-command: Add .7z,.tar.xz to packed type drop-down
    list.
  * caja-wallpaper-extension: remove unused pointer
    "GError *err".
  * caja-wallpaper-extension: Fix memory leak.
  * image-converter: i18n select an angle drop-down list.
  * image-converter: Rewrite caja-image-resize.ui from scratch
    fixing deprecations.
  * sendto: Value stored to "file" is never read.
  * configure: Get quieter output from make.
  * Update translations.
- Remove enable-gupnp-1.2.patch: fixed upstream.
- Drop support for old openSUSE versions.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1597579200">- Update to version 1.24.1:
  * sendto: Fix evolution command for sending an email.
  * build: Silent build warnings for distcheck.
  * Update translations.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1628683200">- Update version to 1.26.0
  * Update translations
  * Update copyright to 2021</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1661860800">- Update to version 1.26.1:
  * Fix resolving the path to caja-extensions.mo on guix system.
  * Fixed caja-share not working under Arch Linux.
  * Update translations.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1666267200">- Add caja-extensions-gupnp-1.6.patch: Support building against
  gupnp 1.6.
  + Adjust BuildRequires to support gupnp 1.2 or 1.6 with
    suse_version &gt;= 1550.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1711281600">- Update version to 1.28.0
  * Add audio-video-properties plugin
  * Update translations
- Drop caja-extensions-gupnp-1.6.patch</changelog>
  <changelog author="Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;" date="1718107200">- Don't build caja-sendto-upnp on SUSE &lt;&lt; 15.6. BRs can't be fullfilled
  before SUSE 15.6.</changelog>
</package>
<package pkgid="c1871e0f15d88bd01d8ab041ecb84eeb3e7c7add4793d7be357114815048f2ce28a33897a90779aa57914f801ca8646250e46a2b56bd00eeed8acdcd9c5a9e75" name="calendarsupport" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make calendar priting work with any KCalendarCore::Calendar
  * Remove unused KIMAP dependency
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Add KConfig to the public link interface
  * Remove CalendarSupport::createMimeData
  * not export symbol of private methods
  * Remove unused alias now
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Use _L1
  * Remove 'ActiveDesignerFields' configuration from kcfg
  * Use missing [[nodiscard]]
  * Use isEmpty()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="5311920d6c514f189ef3761f8daf73835b47d72ce95cd50dfe2e2583f26b134c624f1ed3d56b74831c5e42fbb50a45bed9ca216d6e3d08337af9dda81b6155a4" name="calendarsupport" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make calendar priting work with any KCalendarCore::Calendar
  * Remove unused KIMAP dependency
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Add KConfig to the public link interface
  * Remove CalendarSupport::createMimeData
  * not export symbol of private methods
  * Remove unused alias now
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Use _L1
  * Remove 'ActiveDesignerFields' configuration from kcfg
  * Use missing [[nodiscard]]
  * Use isEmpty()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="d67c86486a6bd22786113f02841e9b0f93c65637efe11167705333701fbd2775650b6561912d282234385f7fa5ccf8c13a383184ca6e43292b6b03924fcef344" name="calendarsupport-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make calendar priting work with any KCalendarCore::Calendar
  * Remove unused KIMAP dependency
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Add KConfig to the public link interface
  * Remove CalendarSupport::createMimeData
  * not export symbol of private methods
  * Remove unused alias now
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Use _L1
  * Remove 'ActiveDesignerFields' configuration from kcfg
  * Use missing [[nodiscard]]
  * Use isEmpty()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="7c34c3727b817e3caa7745503720ea95bdc8527aca3539703522f71963259600373ac00721590cb795fd8271356b77cfbd1da4c77faf73daaea52621db3659e6" name="calendarsupport-devel" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- Changes since 23.04.0:
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Make calendar priting work with any KCalendarCore::Calendar
  * Remove unused KIMAP dependency
  * Remove CI 6 job. We will use kf6 branch for kf6 works
  * Add KConfig to the public link interface
  * Remove CalendarSupport::createMimeData
  * not export symbol of private methods
  * Remove unused alias now
  * Use correct INSTALL_TARGETS_DEFAULT_ARGS</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0
- Uninstall old KDE PIM 5 libraries (boo#1221515)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Use _L1
  * Remove 'ActiveDesignerFields' configuration from kcfg
  * Use missing [[nodiscard]]
  * Use isEmpty()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="a799b86717a70245fb2eb36f795f51e89278842b14cd6a672081629ec38c7e49511a9ce54546d11b67bdf7ff6f208efd44913a5430ef588289ed43e2f9e0daa7" name="calindori" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Allow building against KF6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Don't build KCalendarCore in the Flatpak
  * Fix flatpak build</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Add Keywords to org.kde.calindori.desktop</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: initial add files.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710504000">- Update runtime requirements</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Fix APK build
  * Fix CI
  * Port QML to Qt6/KF6 While technically the application builds with Qt6
  * KAboutData: update homepage URL to latest repo path
  * appstream: use desktop-application type, add developer &amp; launchable tags
  * Drop code duplicating what KAboutData::setApplicationData() does</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="6536fba896b4690512bc940fec77f04191752d059c554e236d924f46959026a7061427c3570fd0b756c50c3578ea9d4465aa734505f82eeab006a6e6f650376f" name="calindori" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Allow building against KF6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Don't build KCalendarCore in the Flatpak
  * Fix flatpak build</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Add Keywords to org.kde.calindori.desktop</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: initial add files.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710504000">- Update runtime requirements</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Fix APK build
  * Fix CI
  * Port QML to Qt6/KF6 While technically the application builds with Qt6
  * KAboutData: update homepage URL to latest repo path
  * appstream: use desktop-application type, add developer &amp; launchable tags
  * Drop code duplicating what KAboutData::setApplicationData() does</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="cd86b5682e23838cdff5b0f5fbfc78c3e976d6da52c21d14e69fcb7dc50c274a36d13865e4bd75043c927ac7f6bc210f05ff0e550c59a5ad7cd5a36420ebae10" name="calindori-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Allow building against KF6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Don't build KCalendarCore in the Flatpak
  * Fix flatpak build</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Add Keywords to org.kde.calindori.desktop</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: initial add files.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710504000">- Update runtime requirements</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Fix APK build
  * Fix CI
  * Port QML to Qt6/KF6 While technically the application builds with Qt6
  * KAboutData: update homepage URL to latest repo path
  * appstream: use desktop-application type, add developer &amp; launchable tags
  * Drop code duplicating what KAboutData::setApplicationData() does</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="0aac2a8686121ed93a94984b670948275e1246f40e7b60fde83cec9b877ed458880d8307906db85d067bde7bca9cbc4327cebe9369bc94a92341cd36169f99f0" name="calindori-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Allow building against KF6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Don't build KCalendarCore in the Flatpak
  * Fix flatpak build</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Add Keywords to org.kde.calindori.desktop</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: initial add files.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710504000">- Update runtime requirements</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Fix APK build
  * Fix CI
  * Port QML to Qt6/KF6 While technically the application builds with Qt6
  * KAboutData: update homepage URL to latest repo path
  * appstream: use desktop-application type, add developer &amp; launchable tags
  * Drop code duplicating what KAboutData::setApplicationData() does</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="dbd5f3fac40b8cd694421dcec9cf25e3900268a7afae7f8b457e74b02364cf4f647569a6eb3a4a4e0ab8c5a95df50b68e6a4b21575550c0a8c3d0dc8c234e7a0" name="calindori-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Allow building against KF6</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * Don't build KCalendarCore in the Flatpak
  * Fix flatpak build</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- Changes since 23.08.0:
  * Add Keywords to org.kde.calindori.desktop</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: initial add files.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710504000">- Update runtime requirements</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Fix APK build
  * Fix CI
  * Port QML to Qt6/KF6 While technically the application builds with Qt6
  * KAboutData: update homepage URL to latest repo path
  * appstream: use desktop-application type, add developer &amp; launchable tags
  * Drop code duplicating what KAboutData::setApplicationData() does</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="e0b5120e54fc478248962ea239955c4286ef141faab47a7974ca8194440e2461e02e6d347b6e701aeea0f1d26fd2e462b57d20f993dcdba54a50894145c51aa2" name="cantor" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- Changes since 23.04.1:
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Some cleanup in the Sage backend
  * [sage] allow to specify plot format and size in the application settings.
  * [sage] don't call sage-cleaner explicitly.
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)
  * Add Flatpak CI/CD Integration
  * Make sure zoom percentage translation can be parsed back
  * Fix gcc dangling reference warnings
  * Catch exception by const &amp;
  * Make percent value localizable
  * [sage] bump the minimal supported version of Sage to 9.2 (kde#408176)
  * Port away from deprecated standard path
  * [octave] evaluate the option "integrate plots" on every expression execution
  * Added changes that were forgotten in the previous two commits.
  * [maxima] always trim the command string and remove line breaks (kde#465277)
  * Don't use strict icon size mode when picking icon
  * [lua] refactored and fixed the parsing of LuaJIT's output. (kde#461135)
  * [tests] skip testInterrupt for python.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * CI: Also drop obsolete dependency on KF5Pty there
  * Drop KPty dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: fix analitza source.
  * snapcraft: Initial commit snapcraft files
  * [maxima] clear the variables created in TestMaxima::testVariableModel()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: add license text.
  * snapcraft: Add new dep qtbase private.
  * snapcraft: bump content pack version.
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable requiring tests failing on FreeBSD</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Skip the new test added in the previous commit
  * [python] ignore IPython's magic functions in imported Jupytor notebooks
  * Properly initialize the setting for latex typesetting when creating a new session in a new worksheet. (kde#467094)
  * Don't try to evaluate the expression(s) in the worksheet if the login into the session has failed
  * Disable requiring tests failing on FreeBSD
  * Update README.md</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Disable testpython
  * Fixed the export to LaTex. (kde#483482)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="572202d2ad9a6e37043a7c5d41aafc7a617e0423412a8dc1a741fed3bf3486020468a21d77c127c3a303b94966d79dac9ec2a866fbc90540c27a12dafdb7b935" name="cantor" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- Changes since 23.04.1:
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Some cleanup in the Sage backend
  * [sage] allow to specify plot format and size in the application settings.
  * [sage] don't call sage-cleaner explicitly.
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)
  * Add Flatpak CI/CD Integration
  * Make sure zoom percentage translation can be parsed back
  * Fix gcc dangling reference warnings
  * Catch exception by const &amp;
  * Make percent value localizable
  * [sage] bump the minimal supported version of Sage to 9.2 (kde#408176)
  * Port away from deprecated standard path
  * [octave] evaluate the option "integrate plots" on every expression execution
  * Added changes that were forgotten in the previous two commits.
  * [maxima] always trim the command string and remove line breaks (kde#465277)
  * Don't use strict icon size mode when picking icon
  * [lua] refactored and fixed the parsing of LuaJIT's output. (kde#461135)
  * [tests] skip testInterrupt for python.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * CI: Also drop obsolete dependency on KF5Pty there
  * Drop KPty dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: fix analitza source.
  * snapcraft: Initial commit snapcraft files
  * [maxima] clear the variables created in TestMaxima::testVariableModel()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: add license text.
  * snapcraft: Add new dep qtbase private.
  * snapcraft: bump content pack version.
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable requiring tests failing on FreeBSD</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Skip the new test added in the previous commit
  * [python] ignore IPython's magic functions in imported Jupytor notebooks
  * Properly initialize the setting for latex typesetting when creating a new session in a new worksheet. (kde#467094)
  * Don't try to evaluate the expression(s) in the worksheet if the login into the session has failed
  * Disable requiring tests failing on FreeBSD
  * Update README.md</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Disable testpython
  * Fixed the export to LaTex. (kde#483482)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="4be88fb927cd4872609a7acf546e03ccca0f65b59f017f69dfd0d5b688455ea0b8f39537c95aea5cb3c05d4b6b89e21ce61122144b1e57439312f858c755c8fc" name="cantor-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- Changes since 23.04.1:
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Some cleanup in the Sage backend
  * [sage] allow to specify plot format and size in the application settings.
  * [sage] don't call sage-cleaner explicitly.
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)
  * Add Flatpak CI/CD Integration
  * Make sure zoom percentage translation can be parsed back
  * Fix gcc dangling reference warnings
  * Catch exception by const &amp;
  * Make percent value localizable
  * [sage] bump the minimal supported version of Sage to 9.2 (kde#408176)
  * Port away from deprecated standard path
  * [octave] evaluate the option "integrate plots" on every expression execution
  * Added changes that were forgotten in the previous two commits.
  * [maxima] always trim the command string and remove line breaks (kde#465277)
  * Don't use strict icon size mode when picking icon
  * [lua] refactored and fixed the parsing of LuaJIT's output. (kde#461135)
  * [tests] skip testInterrupt for python.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * CI: Also drop obsolete dependency on KF5Pty there
  * Drop KPty dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: fix analitza source.
  * snapcraft: Initial commit snapcraft files
  * [maxima] clear the variables created in TestMaxima::testVariableModel()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: add license text.
  * snapcraft: Add new dep qtbase private.
  * snapcraft: bump content pack version.
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable requiring tests failing on FreeBSD</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Skip the new test added in the previous commit
  * [python] ignore IPython's magic functions in imported Jupytor notebooks
  * Properly initialize the setting for latex typesetting when creating a new session in a new worksheet. (kde#467094)
  * Don't try to evaluate the expression(s) in the worksheet if the login into the session has failed
  * Disable requiring tests failing on FreeBSD
  * Update README.md</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Disable testpython
  * Fixed the export to LaTex. (kde#483482)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="588a7fbb29929e32f88fb29ede6e8c22f0def6bca3cbdeff849e60447c3abb240361bcc08495273d95c3f8896385f4342257995cb4c67bd89b1256c7521d4655" name="cantor-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- Changes since 23.04.1:
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Some cleanup in the Sage backend
  * [sage] allow to specify plot format and size in the application settings.
  * [sage] don't call sage-cleaner explicitly.
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)
  * Add Flatpak CI/CD Integration
  * Make sure zoom percentage translation can be parsed back
  * Fix gcc dangling reference warnings
  * Catch exception by const &amp;
  * Make percent value localizable
  * [sage] bump the minimal supported version of Sage to 9.2 (kde#408176)
  * Port away from deprecated standard path
  * [octave] evaluate the option "integrate plots" on every expression execution
  * Added changes that were forgotten in the previous two commits.
  * [maxima] always trim the command string and remove line breaks (kde#465277)
  * Don't use strict icon size mode when picking icon
  * [lua] refactored and fixed the parsing of LuaJIT's output. (kde#461135)
  * [tests] skip testInterrupt for python.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * CI: Also drop obsolete dependency on KF5Pty there
  * Drop KPty dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: fix analitza source.
  * snapcraft: Initial commit snapcraft files
  * [maxima] clear the variables created in TestMaxima::testVariableModel()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: add license text.
  * snapcraft: Add new dep qtbase private.
  * snapcraft: bump content pack version.
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable requiring tests failing on FreeBSD</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Skip the new test added in the previous commit
  * [python] ignore IPython's magic functions in imported Jupytor notebooks
  * Properly initialize the setting for latex typesetting when creating a new session in a new worksheet. (kde#467094)
  * Don't try to evaluate the expression(s) in the worksheet if the login into the session has failed
  * Disable requiring tests failing on FreeBSD
  * Update README.md</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Disable testpython
  * Fixed the export to LaTex. (kde#483482)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="100cb318e7733a4d39c409f60864c8b197af3b1921acedd6eb7f090b1f66feddca0aeb0a394f51f44182db258049f031c60afae6ccd599a39b935a649755bed9" name="cantor-devel" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- Changes since 23.04.1:
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Some cleanup in the Sage backend
  * [sage] allow to specify plot format and size in the application settings.
  * [sage] don't call sage-cleaner explicitly.
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)
  * Add Flatpak CI/CD Integration
  * Make sure zoom percentage translation can be parsed back
  * Fix gcc dangling reference warnings
  * Catch exception by const &amp;
  * Make percent value localizable
  * [sage] bump the minimal supported version of Sage to 9.2 (kde#408176)
  * Port away from deprecated standard path
  * [octave] evaluate the option "integrate plots" on every expression execution
  * Added changes that were forgotten in the previous two commits.
  * [maxima] always trim the command string and remove line breaks (kde#465277)
  * Don't use strict icon size mode when picking icon
  * [lua] refactored and fixed the parsing of LuaJIT's output. (kde#461135)
  * [tests] skip testInterrupt for python.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * CI: Also drop obsolete dependency on KF5Pty there
  * Drop KPty dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: fix analitza source.
  * snapcraft: Initial commit snapcraft files
  * [maxima] clear the variables created in TestMaxima::testVariableModel()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: add license text.
  * snapcraft: Add new dep qtbase private.
  * snapcraft: bump content pack version.
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable requiring tests failing on FreeBSD</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Skip the new test added in the previous commit
  * [python] ignore IPython's magic functions in imported Jupytor notebooks
  * Properly initialize the setting for latex typesetting when creating a new session in a new worksheet. (kde#467094)
  * Don't try to evaluate the expression(s) in the worksheet if the login into the session has failed
  * Disable requiring tests failing on FreeBSD
  * Update README.md</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Disable testpython
  * Fixed the export to LaTex. (kde#483482)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="68d24ff2421a67a21bb92fdbcdd99b9b6b6e41bf1712ece66b285a9df19214a3a576960f313bab327c21d73e3ac8c15aa294b4454f4c6993e7cfdc580e3a49e1" name="cantor-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- Changes since 23.04.1:
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Some cleanup in the Sage backend
  * [sage] allow to specify plot format and size in the application settings.
  * [sage] don't call sage-cleaner explicitly.
  * Fix displaying plots in sagemath&gt;=9.7 (kde#468598)
  * Add Flatpak CI/CD Integration
  * Make sure zoom percentage translation can be parsed back
  * Fix gcc dangling reference warnings
  * Catch exception by const &amp;
  * Make percent value localizable
  * [sage] bump the minimal supported version of Sage to 9.2 (kde#408176)
  * Port away from deprecated standard path
  * [octave] evaluate the option "integrate plots" on every expression execution
  * Added changes that were forgotten in the previous two commits.
  * [maxima] always trim the command string and remove line breaks (kde#465277)
  * Don't use strict icon size mode when picking icon
  * [lua] refactored and fixed the parsing of LuaJIT's output. (kde#461135)
  * [tests] skip testInterrupt for python.</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- Changes since 23.07.80:
  * CI: Also drop obsolete dependency on KF5Pty there
  * Drop KPty dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- Changes since 23.08.1:
  * snapcraft: fix analitza source.
  * snapcraft: Initial commit snapcraft files
  * [maxima] clear the variables created in TestMaxima::testVariableModel()</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- Changes since 23.08.2:
  * snapcraft: add license text.
  * snapcraft: Add new dep qtbase private.
  * snapcraft: bump content pack version.
  * Disable flatpak CI</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- Changes since 24.02.0:
  * Disable requiring tests failing on FreeBSD</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Skip the new test added in the previous commit
  * [python] ignore IPython's magic functions in imported Jupytor notebooks
  * Properly initialize the setting for latex typesetting when creating a new session in a new worksheet. (kde#467094)
  * Don't try to evaluate the expression(s) in the worksheet if the login into the session has failed
  * Disable requiring tests failing on FreeBSD
  * Update README.md</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- Changes since 24.04.80:
  * Disable testpython
  * Fixed the export to LaTex. (kde#483482)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="7d6d20abe5c0b309257476bed959482e71b142d6232ca44b40eb9894e44c364398c4e0e1a11e4a21c8e2bfc7d27db9b8cfaffbd429fa3011e2026adbb0738df5" name="cargo-c" arch="src">
  <version epoch="0" ver="0.9.32~git0.56dfe34" rel="1.0.2.1.sr20240605"/>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1576411200">- Update to version 0.5.0
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.5.0
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.4.0</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1585828800">- Update to version 0.6.2
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.2
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.1
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.0</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1591099200">- Update to version 0.6.5
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.5
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.4
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.3</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1591617600">- Update to version 0.6.7
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.7
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.6</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1594641600">- Update to version 0.6.9
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.9
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.8</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1599652800">- Update to version 0.6.13
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.13
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.12
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.11
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.10</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1602590400">- Added 123.patch
  * Save the include subdir to a specific field</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1603022400">- Update to version 0.6.15
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.15
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.6.14
- Removed 123.patch</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1610539200">- Update to version 0.7.0
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.7.0</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1617624000">- Update to version 0.8.0
  * cbindgen 0.18
  * provide a cli option to have fully static builds.
  * cargo cinstall and cargo capi install now imply --release
    to match the behavior of cargo install.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1617710400">- Add README.suse-maint to fix OBS warning.</changelog>
  <changelog author="william.brown@suse.com" date="1622635200">- Update to version 0.8.1~git0.cce1b08:
  * Prepare for release
  * Set the capi.library.rustflags
  * Add a simple way to set the RUSTFLAGS from Cargo.toml
  * CI: test example project in Windows/MSYS2 (#191)
  * Update cargo requirement from 0.52 to 0.53
  * Upgrade to GitHub-native Dependabot
  * Default to nightly
  * Use codecov
  * Move the code coverage in a stand-alone script
  * Enable colored help</changelog>
  <changelog author="william.brown@suse.com" date="1641470400">- resolve bsc#1194113 (CVE-2018-25023)
- resolve bsc#1194119 (CVE-2021-45710)</changelog>
  <changelog author="asn@cryptomilk.org" date="1641816000">- Update to version 0.9.6~git0.68e65ad:
  * Prepare for release
  * Bump cargo
  * Support custom paths for data files as it is available for includes
  * Fix the datadir description
  * Change the configuration paths for datadir
  * Add datadir destination path customization
  * Suppress warning about dead code for Common
  * Add datadir support
  * Make sure the right rust is used on deploy
  * Bump the edition in the examples</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1646222400">- Update vendored libraries to resolve security issues.</changelog>
  <changelog author="asn@cryptomilk.org" date="1656936000">- Update to version 0.9.11~git0.41f5562:
  * Prepare for release
  * Fix clippy warnings
  * Versions bump
  * Add back the deps.rs badge
  * Increase the regex requirement
  * Prepare for release
  * Bump cargo
  * Add support for Haiku Operating System
  * Add udbserver to users
  * Extend the coverage further
  * Fix the code coverage script
  * Fix subcommand fallback support
  * Print the issued commands
  * Fix testing cross compilation
  * Bump cargo-metadata
  * Bump cbindgen
  * Support rustc-1.60 and following
  * Update to clap-3.1 and cargo-0.61
  * Prepare for release
  * Do not use the patch version in macOS -install_name
  * Add Android to the build targets supported by LibType
  * Make nightly clippy happy
  * Simplify a writln
  * Prepare for release
  * Bump cargo version
  * Remove newlines from the description
  * Make the default destdir None
  * CI: use MSYS2 cargo package for example project
  * Print the PKG_CONFIG_PATH in verbose mode</changelog>
  <changelog author="asn@cryptomilk.org" date="1672660800">- Update to version 0.9.15~git0.2d3044b:
  * Prepare for release
  * Update to cargo-0.67 and clap-4
  * macos: Allow larger install_name entries
  * Fix the new clippy lints
  * Don't include version in soname ELF header if versioning is disabled
  * Use get_many instead of values_of_lossy
  * Use macos-12 for the macos runner
  * Add job deps
  * Generate paths relative to ${prefix} in the pkg-config file even if --libdir or --includedir are given
  * Compact the main CI
  * Fix more warnings in the main CI
  * Use a custom release profile to strip binaries
  * ci(deploy): Use musl abi for aarch64 linux binary, add i686 linux
  * Remove msys2 test
  * Update the example-project CI
  * Make sure the supported rustc version is evident
  * Use the default compiler to build a static binary for musl
  * Save all the linux binaries
  * Prepare for release
  * Add pre-built ppc64le and aarch64 linux binaries
  * Simplify the deploy script
  * Fix new clippy lints
  * Update to cargo-0.66
  * Use dtolnay/rust-toolchain
  * Remove actions-rs/cargo
  * Prepare for release
  * add support for illumos
  * Bump cargo version
  * Prepare for release
  * Bump cargo to 0.64
  * Install the windows DLL in the libdir if it is custom
  * Fix typo on readme
  * Bump the codecov action
  * Add sonames on musl</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678795200">- add constraints to avoid out of disk space errors</changelog>
  <changelog author="bjorn.lie@gmail.com" date="1697544000">- Update to version 0.9.27~git0.54774e0:
  * Complete the soversion granularity
  * Bump cbindgen
  * Make sure the version variables are consistent
  * Fix sover detection for 0-based versioning
  * Bump cargo version
  * Bump cbindgen
  * Do not pass the token to clippy-check
- Switch _service to manual.</changelog>
  <changelog author="david.mulder@suse.com" date="1717502400">- Update to version 0.9.32~git0.56dfe34:
  * Prepare for release
  * Bump cargo version
  * Use clone_from/clone_into
  * Do not install the versioned links and lib on Android
  * docs: add rustls-ffi to README users list
  * Bump the msrv again
  * Bump msrv
  * Bump cargo version
  * Match the beaviour of meson regarding relative paths in the install directories
  * Bump cargo version</changelog>
</package>
<package pkgid="282288d9a4a5018df1ddb13231bfea8911776f1a51b8b7d51dc711ff416f00cf98d5466f76feaccc279dbeb051a87bdee9bb602cab5f96a2098dbc0484d17b19" name="cargo-c" arch="x86_64">
  <version epoch="0" ver="0.9.32~git0.56dfe34" rel="1.0.2.1.sr20240605"/>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1610539200">- Update to version 0.7.0
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.7.0</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1617624000">- Update to version 0.8.0
  * cbindgen 0.18
  * provide a cli option to have fully static builds.
  * cargo cinstall and cargo capi install now imply --release
    to match the behavior of cargo install.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1617710400">- Add README.suse-maint to fix OBS warning.</changelog>
  <changelog author="william.brown@suse.com" date="1622635200">- Update to version 0.8.1~git0.cce1b08:
  * Prepare for release
  * Set the capi.library.rustflags
  * Add a simple way to set the RUSTFLAGS from Cargo.toml
  * CI: test example project in Windows/MSYS2 (#191)
  * Update cargo requirement from 0.52 to 0.53
  * Upgrade to GitHub-native Dependabot
  * Default to nightly
  * Use codecov
  * Move the code coverage in a stand-alone script
  * Enable colored help</changelog>
  <changelog author="william.brown@suse.com" date="1641470400">- resolve bsc#1194113 (CVE-2018-25023)
- resolve bsc#1194119 (CVE-2021-45710)</changelog>
  <changelog author="asn@cryptomilk.org" date="1641816000">- Update to version 0.9.6~git0.68e65ad:
  * Prepare for release
  * Bump cargo
  * Support custom paths for data files as it is available for includes
  * Fix the datadir description
  * Change the configuration paths for datadir
  * Add datadir destination path customization
  * Suppress warning about dead code for Common
  * Add datadir support
  * Make sure the right rust is used on deploy
  * Bump the edition in the examples</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1646222400">- Update vendored libraries to resolve security issues.</changelog>
  <changelog author="asn@cryptomilk.org" date="1656936000">- Update to version 0.9.11~git0.41f5562:
  * Prepare for release
  * Fix clippy warnings
  * Versions bump
  * Add back the deps.rs badge
  * Increase the regex requirement
  * Prepare for release
  * Bump cargo
  * Add support for Haiku Operating System
  * Add udbserver to users
  * Extend the coverage further
  * Fix the code coverage script
  * Fix subcommand fallback support
  * Print the issued commands
  * Fix testing cross compilation
  * Bump cargo-metadata
  * Bump cbindgen
  * Support rustc-1.60 and following
  * Update to clap-3.1 and cargo-0.61
  * Prepare for release
  * Do not use the patch version in macOS -install_name
  * Add Android to the build targets supported by LibType
  * Make nightly clippy happy
  * Simplify a writln
  * Prepare for release
  * Bump cargo version
  * Remove newlines from the description
  * Make the default destdir None
  * CI: use MSYS2 cargo package for example project
  * Print the PKG_CONFIG_PATH in verbose mode</changelog>
  <changelog author="asn@cryptomilk.org" date="1672660800">- Update to version 0.9.15~git0.2d3044b:
  * Prepare for release
  * Update to cargo-0.67 and clap-4
  * macos: Allow larger install_name entries
  * Fix the new clippy lints
  * Don't include version in soname ELF header if versioning is disabled
  * Use get_many instead of values_of_lossy
  * Use macos-12 for the macos runner
  * Add job deps
  * Generate paths relative to ${prefix} in the pkg-config file even if --libdir or --includedir are given
  * Compact the main CI
  * Fix more warnings in the main CI
  * Use a custom release profile to strip binaries
  * ci(deploy): Use musl abi for aarch64 linux binary, add i686 linux
  * Remove msys2 test
  * Update the example-project CI
  * Make sure the supported rustc version is evident
  * Use the default compiler to build a static binary for musl
  * Save all the linux binaries
  * Prepare for release
  * Add pre-built ppc64le and aarch64 linux binaries
  * Simplify the deploy script
  * Fix new clippy lints
  * Update to cargo-0.66
  * Use dtolnay/rust-toolchain
  * Remove actions-rs/cargo
  * Prepare for release
  * add support for illumos
  * Bump cargo version
  * Prepare for release
  * Bump cargo to 0.64
  * Install the windows DLL in the libdir if it is custom
  * Fix typo on readme
  * Bump the codecov action
  * Add sonames on musl</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678795200">- add constraints to avoid out of disk space errors</changelog>
  <changelog author="bjorn.lie@gmail.com" date="1697544000">- Update to version 0.9.27~git0.54774e0:
  * Complete the soversion granularity
  * Bump cbindgen
  * Make sure the version variables are consistent
  * Fix sover detection for 0-based versioning
  * Bump cargo version
  * Bump cbindgen
  * Do not pass the token to clippy-check
- Switch _service to manual.</changelog>
  <changelog author="david.mulder@suse.com" date="1717502400">- Update to version 0.9.32~git0.56dfe34:
  * Prepare for release
  * Bump cargo version
  * Use clone_from/clone_into
  * Do not install the versioned links and lib on Android
  * docs: add rustls-ffi to README users list
  * Bump the msrv again
  * Bump msrv
  * Bump cargo version
  * Match the beaviour of meson regarding relative paths in the install directories
  * Bump cargo version</changelog>
</package>
<package pkgid="d45c67700658fa590eff8b9f11c205b5dfadeb77b54b6686d5e1580f67780f048aeb58ce9c12f9f83e583538bc630822423dc07ae9c2cfc06224cb8377702c3a" name="cargo-c-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.9.32~git0.56dfe34" rel="1.0.2.1.sr20240605"/>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1610539200">- Update to version 0.7.0
  * https://github.com/lu-zero/cargo-c/releases/tag/v0.7.0</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1617624000">- Update to version 0.8.0
  * cbindgen 0.18
  * provide a cli option to have fully static builds.
  * cargo cinstall and cargo capi install now imply --release
    to match the behavior of cargo install.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1617710400">- Add README.suse-maint to fix OBS warning.</changelog>
  <changelog author="william.brown@suse.com" date="1622635200">- Update to version 0.8.1~git0.cce1b08:
  * Prepare for release
  * Set the capi.library.rustflags
  * Add a simple way to set the RUSTFLAGS from Cargo.toml
  * CI: test example project in Windows/MSYS2 (#191)
  * Update cargo requirement from 0.52 to 0.53
  * Upgrade to GitHub-native Dependabot
  * Default to nightly
  * Use codecov
  * Move the code coverage in a stand-alone script
  * Enable colored help</changelog>
  <changelog author="william.brown@suse.com" date="1641470400">- resolve bsc#1194113 (CVE-2018-25023)
- resolve bsc#1194119 (CVE-2021-45710)</changelog>
  <changelog author="asn@cryptomilk.org" date="1641816000">- Update to version 0.9.6~git0.68e65ad:
  * Prepare for release
  * Bump cargo
  * Support custom paths for data files as it is available for includes
  * Fix the datadir description
  * Change the configuration paths for datadir
  * Add datadir destination path customization
  * Suppress warning about dead code for Common
  * Add datadir support
  * Make sure the right rust is used on deploy
  * Bump the edition in the examples</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1646222400">- Update vendored libraries to resolve security issues.</changelog>
  <changelog author="asn@cryptomilk.org" date="1656936000">- Update to version 0.9.11~git0.41f5562:
  * Prepare for release
  * Fix clippy warnings
  * Versions bump
  * Add back the deps.rs badge
  * Increase the regex requirement
  * Prepare for release
  * Bump cargo
  * Add support for Haiku Operating System
  * Add udbserver to users
  * Extend the coverage further
  * Fix the code coverage script
  * Fix subcommand fallback support
  * Print the issued commands
  * Fix testing cross compilation
  * Bump cargo-metadata
  * Bump cbindgen
  * Support rustc-1.60 and following
  * Update to clap-3.1 and cargo-0.61
  * Prepare for release
  * Do not use the patch version in macOS -install_name
  * Add Android to the build targets supported by LibType
  * Make nightly clippy happy
  * Simplify a writln
  * Prepare for release
  * Bump cargo version
  * Remove newlines from the description
  * Make the default destdir None
  * CI: use MSYS2 cargo package for example project
  * Print the PKG_CONFIG_PATH in verbose mode</changelog>
  <changelog author="asn@cryptomilk.org" date="1672660800">- Update to version 0.9.15~git0.2d3044b:
  * Prepare for release
  * Update to cargo-0.67 and clap-4
  * macos: Allow larger install_name entries
  * Fix the new clippy lints
  * Don't include version in soname ELF header if versioning is disabled
  * Use get_many instead of values_of_lossy
  * Use macos-12 for the macos runner
  * Add job deps
  * Generate paths relative to ${prefix} in the pkg-config file even if --libdir or --includedir are given
  * Compact the main CI
  * Fix more warnings in the main CI
  * Use a custom release profile to strip binaries
  * ci(deploy): Use musl abi for aarch64 linux binary, add i686 linux
  * Remove msys2 test
  * Update the example-project CI
  * Make sure the supported rustc version is evident
  * Use the default compiler to build a static binary for musl
  * Save all the linux binaries
  * Prepare for release
  * Add pre-built ppc64le and aarch64 linux binaries
  * Simplify the deploy script
  * Fix new clippy lints
  * Update to cargo-0.66
  * Use dtolnay/rust-toolchain
  * Remove actions-rs/cargo
  * Prepare for release
  * add support for illumos
  * Bump cargo version
  * Prepare for release
  * Bump cargo to 0.64
  * Install the windows DLL in the libdir if it is custom
  * Fix typo on readme
  * Bump the codecov action
  * Add sonames on musl</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678795200">- add constraints to avoid out of disk space errors</changelog>
  <changelog author="bjorn.lie@gmail.com" date="1697544000">- Update to version 0.9.27~git0.54774e0:
  * Complete the soversion granularity
  * Bump cbindgen
  * Make sure the version variables are consistent
  * Fix sover detection for 0-based versioning
  * Bump cargo version
  * Bump cbindgen
  * Do not pass the token to clippy-check
- Switch _service to manual.</changelog>
  <changelog author="david.mulder@suse.com" date="1717502400">- Update to version 0.9.32~git0.56dfe34:
  * Prepare for release
  * Bump cargo version
  * Use clone_from/clone_into
  * Do not install the versioned links and lib on Android
  * docs: add rustls-ffi to README users list
  * Bump the msrv again
  * Bump msrv
  * Bump cargo version
  * Match the beaviour of meson regarding relative paths in the install directories
  * Bump cargo version</changelog>
</package>
<package pkgid="0b03ff7c71fe1084db0b29395d9b5b28428da370f9e4e64a8a358563b70aa669cbbcdd3813a91a4d7f72e5fcc1495abb623cfaefdc6f7a97930f429e855b1dde" name="cargo1.78" arch="i586">
  <version epoch="0" ver="1.78.0" rel="3.1"/>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1715688000">Version 1.78.0 (2024-05-02)
  Language
--------
- [Stabilize `#[cfg(target_abi = ...)]`](https://github.com/rust-lang/rust/pull/119590/)
- [Stabilize the `#[diagnostic]` namespace and `#[diagnostic::on_unimplemented]` attribute](https://github.com/rust-lang/rust/pull/119888/)
- [Make async-fn-in-trait implementable with concrete signatures](https://github.com/rust-lang/rust/pull/120103/)
- [Make matching on NaN a hard error, and remove the rest of `illegal_floating_point_literal_pattern`](https://github.com/rust-lang/rust/pull/116284/)
- [static mut: allow mutable reference to arbitrary types, not just slices and arrays](https://github.com/rust-lang/rust/pull/117614/)
- [Extend `invalid_reference_casting` to include references casting to bigger memory layout](https://github.com/rust-lang/rust/pull/118983/)
- [Add `non_contiguous_range_endpoints` lint for singleton gaps after exclusive ranges](https://github.com/rust-lang/rust/pull/118879/)
- [Add `wasm_c_abi` lint for use of older wasm-bindgen versions](https://github.com/rust-lang/rust/pull/117918/)
  This lint currently only works when using Cargo.
- [Update `indirect_structural_match` and `pointer_structural_match` lints to match RFC](https://github.com/rust-lang/rust/pull/120423/)
- [Make non-`PartialEq`-typed consts as patterns a hard error](https://github.com/rust-lang/rust/pull/120805/)
- [Split `refining_impl_trait` lint into `_reachable`, `_internal` variants](https://github.com/rust-lang/rust/pull/121720/)
- [Remove unnecessary type inference when using associated types inside of higher ranked `where`-bounds](https://github.com/rust-lang/rust/pull/119849)
- [Weaken eager detection of cyclic types during type inference](https://github.com/rust-lang/rust/pull/119989)
- [`trait Trait: Auto {}`: allow upcasting from `dyn Trait` to `dyn Auto`](https://github.com/rust-lang/rust/pull/119338)
  Compiler
--------
- [Made `INVALID_DOC_ATTRIBUTES` lint deny by default](https://github.com/rust-lang/rust/pull/111505/)
- [Increase accuracy of redundant `use` checking](https://github.com/rust-lang/rust/pull/117772/)
- [Suggest moving definition if non-found macro_rules! is defined later](https://github.com/rust-lang/rust/pull/121130/)
- [Lower transmutes from int to pointer type as gep on null](https://github.com/rust-lang/rust/pull/121282/)
  Target changes:
- [Windows tier 1 targets now require at least Windows 10](https://github.com/rust-lang/rust/pull/115141/)
  - [Enable CMPXCHG16B, SSE3, SAHF/LAHF and 128-bit Atomics in tier 1 Windows](https://github.com/rust-lang/rust/pull/120820/)
- [Add `wasm32-wasip1` tier 2 (without host tools) target](https://github.com/rust-lang/rust/pull/120468/)
- [Add `wasm32-wasip2` tier 3 target](https://github.com/rust-lang/rust/pull/119616/)
- [Rename `wasm32-wasi-preview1-threads` to `wasm32-wasip1-threads`](https://github.com/rust-lang/rust/pull/122170/)
- [Add `arm64ec-pc-windows-msvc` tier 3 target](https://github.com/rust-lang/rust/pull/119199/)
- [Add `armv8r-none-eabihf` tier 3 target for the Cortex-R52](https://github.com/rust-lang/rust/pull/110482/)
- [Add `loongarch64-unknown-linux-musl` tier 3 target](https://github.com/rust-lang/rust/pull/121832/)
  Refer to Rust's [platform support page][platform-support-doc]
  for more information on Rust's tiered platform support.
  Libraries
---------
- [Bump Unicode to version 15.1.0, regenerate tables](https://github.com/rust-lang/rust/pull/120777/)
- [Make align_offset, align_to well-behaved in all cases](https://github.com/rust-lang/rust/pull/121201/)
- [PartialEq, PartialOrd: document expectations for transitive chains](https://github.com/rust-lang/rust/pull/115386/)
- [Optimize away poison guards when std is built with panic=abort](https://github.com/rust-lang/rust/pull/100603/)
- [Replace pthread `RwLock` with custom implementation](https://github.com/rust-lang/rust/pull/110211/)
- [Implement unwind safety for Condvar on all platforms](https://github.com/rust-lang/rust/pull/121768/)
- [Add ASCII fast-path for `char::is_grapheme_extended`](https://github.com/rust-lang/rust/pull/121138/)
  Stabilized APIs
- [`impl Read for &amp;Stdin`](https://doc.rust-lang.org/stable/std/io/struct.Stdin.html#impl-Read-for-%26Stdin)
- [Accept non `'static` lifetimes for several `std::error::Error` related implementations](https://github.com/rust-lang/rust/pull/113833/)
- [Make `impl&lt;Fd: AsFd&gt;` impl take `?Sized`](https://github.com/rust-lang/rust/pull/114655/)
- [`impl From&lt;TryReserveError&gt; for io::Error`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#impl-From%3CTryReserveError%3E-for-Error)
  These APIs are now stable in const contexts:
- [`Barrier::new()`](https://doc.rust-lang.org/stable/std/sync/struct.Barrier.html#method.new)
  Cargo
-----
- [Stabilize lockfile v4](https://github.com/rust-lang/cargo/pull/12852/)
- [Respect `rust-version` when generating lockfile](https://github.com/rust-lang/cargo/pull/12861/)
- [Control `--charset` via auto-detecting config value](https://github.com/rust-lang/cargo/pull/13337/)
- [Support `target.&lt;triple&gt;.rustdocflags` officially](https://github.com/rust-lang/cargo/pull/13197/)
- [Stabilize global cache data tracking](https://github.com/rust-lang/cargo/pull/13492/)
  Misc
----
- [rustdoc: add `--test-builder-wrapper` arg to support wrappers such as RUSTC_WRAPPER when building doctests](https://github.com/rust-lang/rust/pull/114651/)
  Compatibility Notes
- [Many unsafe precondition checks now run for user code with debug assertions enabled](https://github.com/rust-lang/rust/pull/120594/)
  This change helps users catch undefined behavior in their code, though the details of how much is checked are generally not stable.
- [riscv only supports split_debuginfo=off for now](https://github.com/rust-lang/rust/pull/120518/)
- [Consistently check bounds on hidden types of `impl Trait`](https://github.com/rust-lang/rust/pull/121679)
- [Change equality of higher ranked types to not rely on subtyping](https://github.com/rust-lang/rust/pull/118247)
- [When called, additionally check bounds on normalized function return type](https://github.com/rust-lang/rust/pull/118882)
- [Expand coverage for `arithmetic_overflow` lint](https://github.com/rust-lang/rust/pull/119432/)
- [Fix detection of potential interior mutability in `const` initializers](https://github.com/rust-lang/rust/issues/121250)
  This code was accidentally accepted. The fix can break generic code that borrows a value of unknown type,
  as there is currently no way to declare "this type has no interior mutability". In the future, stabilizing
  the [`Freeze` trait](https://github.com/rust-lang/rust/issues/121675) will allow proper support for such code.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1715947200">- Update incorrect tumbleweed version check.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1719489600">- Add src, rustfmt and clippy for the Linux Kernel CI tooling.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1719576000">- Fix incorrect test conditional</changelog>
</package>
<package pkgid="600c2a4b983168cccc57ceb20ca949af09ca4ec717a740ae23beea2f05bd9c71be5692cec8738e9408b3587aa1194485c2471642b185e28ab6aec0b187e080bb" name="cargo1.78" arch="x86_64">
  <version epoch="0" ver="1.78.0" rel="3.1"/>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1715688000">Version 1.78.0 (2024-05-02)
  Language
--------
- [Stabilize `#[cfg(target_abi = ...)]`](https://github.com/rust-lang/rust/pull/119590/)
- [Stabilize the `#[diagnostic]` namespace and `#[diagnostic::on_unimplemented]` attribute](https://github.com/rust-lang/rust/pull/119888/)
- [Make async-fn-in-trait implementable with concrete signatures](https://github.com/rust-lang/rust/pull/120103/)
- [Make matching on NaN a hard error, and remove the rest of `illegal_floating_point_literal_pattern`](https://github.com/rust-lang/rust/pull/116284/)
- [static mut: allow mutable reference to arbitrary types, not just slices and arrays](https://github.com/rust-lang/rust/pull/117614/)
- [Extend `invalid_reference_casting` to include references casting to bigger memory layout](https://github.com/rust-lang/rust/pull/118983/)
- [Add `non_contiguous_range_endpoints` lint for singleton gaps after exclusive ranges](https://github.com/rust-lang/rust/pull/118879/)
- [Add `wasm_c_abi` lint for use of older wasm-bindgen versions](https://github.com/rust-lang/rust/pull/117918/)
  This lint currently only works when using Cargo.
- [Update `indirect_structural_match` and `pointer_structural_match` lints to match RFC](https://github.com/rust-lang/rust/pull/120423/)
- [Make non-`PartialEq`-typed consts as patterns a hard error](https://github.com/rust-lang/rust/pull/120805/)
- [Split `refining_impl_trait` lint into `_reachable`, `_internal` variants](https://github.com/rust-lang/rust/pull/121720/)
- [Remove unnecessary type inference when using associated types inside of higher ranked `where`-bounds](https://github.com/rust-lang/rust/pull/119849)
- [Weaken eager detection of cyclic types during type inference](https://github.com/rust-lang/rust/pull/119989)
- [`trait Trait: Auto {}`: allow upcasting from `dyn Trait` to `dyn Auto`](https://github.com/rust-lang/rust/pull/119338)
  Compiler
--------
- [Made `INVALID_DOC_ATTRIBUTES` lint deny by default](https://github.com/rust-lang/rust/pull/111505/)
- [Increase accuracy of redundant `use` checking](https://github.com/rust-lang/rust/pull/117772/)
- [Suggest moving definition if non-found macro_rules! is defined later](https://github.com/rust-lang/rust/pull/121130/)
- [Lower transmutes from int to pointer type as gep on null](https://github.com/rust-lang/rust/pull/121282/)
  Target changes:
- [Windows tier 1 targets now require at least Windows 10](https://github.com/rust-lang/rust/pull/115141/)
  - [Enable CMPXCHG16B, SSE3, SAHF/LAHF and 128-bit Atomics in tier 1 Windows](https://github.com/rust-lang/rust/pull/120820/)
- [Add `wasm32-wasip1` tier 2 (without host tools) target](https://github.com/rust-lang/rust/pull/120468/)
- [Add `wasm32-wasip2` tier 3 target](https://github.com/rust-lang/rust/pull/119616/)
- [Rename `wasm32-wasi-preview1-threads` to `wasm32-wasip1-threads`](https://github.com/rust-lang/rust/pull/122170/)
- [Add `arm64ec-pc-windows-msvc` tier 3 target](https://github.com/rust-lang/rust/pull/119199/)
- [Add `armv8r-none-eabihf` tier 3 target for the Cortex-R52](https://github.com/rust-lang/rust/pull/110482/)
- [Add `loongarch64-unknown-linux-musl` tier 3 target](https://github.com/rust-lang/rust/pull/121832/)
  Refer to Rust's [platform support page][platform-support-doc]
  for more information on Rust's tiered platform support.
  Libraries
---------
- [Bump Unicode to version 15.1.0, regenerate tables](https://github.com/rust-lang/rust/pull/120777/)
- [Make align_offset, align_to well-behaved in all cases](https://github.com/rust-lang/rust/pull/121201/)
- [PartialEq, PartialOrd: document expectations for transitive chains](https://github.com/rust-lang/rust/pull/115386/)
- [Optimize away poison guards when std is built with panic=abort](https://github.com/rust-lang/rust/pull/100603/)
- [Replace pthread `RwLock` with custom implementation](https://github.com/rust-lang/rust/pull/110211/)
- [Implement unwind safety for Condvar on all platforms](https://github.com/rust-lang/rust/pull/121768/)
- [Add ASCII fast-path for `char::is_grapheme_extended`](https://github.com/rust-lang/rust/pull/121138/)
  Stabilized APIs
- [`impl Read for &amp;Stdin`](https://doc.rust-lang.org/stable/std/io/struct.Stdin.html#impl-Read-for-%26Stdin)
- [Accept non `'static` lifetimes for several `std::error::Error` related implementations](https://github.com/rust-lang/rust/pull/113833/)
- [Make `impl&lt;Fd: AsFd&gt;` impl take `?Sized`](https://github.com/rust-lang/rust/pull/114655/)
- [`impl From&lt;TryReserveError&gt; for io::Error`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#impl-From%3CTryReserveError%3E-for-Error)
  These APIs are now stable in const contexts:
- [`Barrier::new()`](https://doc.rust-lang.org/stable/std/sync/struct.Barrier.html#method.new)
  Cargo
-----
- [Stabilize lockfile v4](https://github.com/rust-lang/cargo/pull/12852/)
- [Respect `rust-version` when generating lockfile](https://github.com/rust-lang/cargo/pull/12861/)
- [Control `--charset` via auto-detecting config value](https://github.com/rust-lang/cargo/pull/13337/)
- [Support `target.&lt;triple&gt;.rustdocflags` officially](https://github.com/rust-lang/cargo/pull/13197/)
- [Stabilize global cache data tracking](https://github.com/rust-lang/cargo/pull/13492/)
  Misc
----
- [rustdoc: add `--test-builder-wrapper` arg to support wrappers such as RUSTC_WRAPPER when building doctests](https://github.com/rust-lang/rust/pull/114651/)
  Compatibility Notes
- [Many unsafe precondition checks now run for user code with debug assertions enabled](https://github.com/rust-lang/rust/pull/120594/)
  This change helps users catch undefined behavior in their code, though the details of how much is checked are generally not stable.
- [riscv only supports split_debuginfo=off for now](https://github.com/rust-lang/rust/pull/120518/)
- [Consistently check bounds on hidden types of `impl Trait`](https://github.com/rust-lang/rust/pull/121679)
- [Change equality of higher ranked types to not rely on subtyping](https://github.com/rust-lang/rust/pull/118247)
- [When called, additionally check bounds on normalized function return type](https://github.com/rust-lang/rust/pull/118882)
- [Expand coverage for `arithmetic_overflow` lint](https://github.com/rust-lang/rust/pull/119432/)
- [Fix detection of potential interior mutability in `const` initializers](https://github.com/rust-lang/rust/issues/121250)
  This code was accidentally accepted. The fix can break generic code that borrows a value of unknown type,
  as there is currently no way to declare "this type has no interior mutability". In the future, stabilizing
  the [`Freeze` trait](https://github.com/rust-lang/rust/issues/121675) will allow proper support for such code.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1715947200">- Update incorrect tumbleweed version check.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1719489600">- Add src, rustfmt and clippy for the Linux Kernel CI tooling.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1719576000">- Fix incorrect test conditional</changelog>
</package>
<package pkgid="d96dafde77531966d2f8da848f254be42e580594b201c1fe45e66871a6030674673d8b5fd7d785645f5a8127c49441e13a84df2400c671ebe315718d687200b6" name="cargo1.78-debuginfo" arch="i586">
  <version epoch="0" ver="1.78.0" rel="3.1"/>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1715688000">Version 1.78.0 (2024-05-02)
  Language
--------
- [Stabilize `#[cfg(target_abi = ...)]`](https://github.com/rust-lang/rust/pull/119590/)
- [Stabilize the `#[diagnostic]` namespace and `#[diagnostic::on_unimplemented]` attribute](https://github.com/rust-lang/rust/pull/119888/)
- [Make async-fn-in-trait implementable with concrete signatures](https://github.com/rust-lang/rust/pull/120103/)
- [Make matching on NaN a hard error, and remove the rest of `illegal_floating_point_literal_pattern`](https://github.com/rust-lang/rust/pull/116284/)
- [static mut: allow mutable reference to arbitrary types, not just slices and arrays](https://github.com/rust-lang/rust/pull/117614/)
- [Extend `invalid_reference_casting` to include references casting to bigger memory layout](https://github.com/rust-lang/rust/pull/118983/)
- [Add `non_contiguous_range_endpoints` lint for singleton gaps after exclusive ranges](https://github.com/rust-lang/rust/pull/118879/)
- [Add `wasm_c_abi` lint for use of older wasm-bindgen versions](https://github.com/rust-lang/rust/pull/117918/)
  This lint currently only works when using Cargo.
- [Update `indirect_structural_match` and `pointer_structural_match` lints to match RFC](https://github.com/rust-lang/rust/pull/120423/)
- [Make non-`PartialEq`-typed consts as patterns a hard error](https://github.com/rust-lang/rust/pull/120805/)
- [Split `refining_impl_trait` lint into `_reachable`, `_internal` variants](https://github.com/rust-lang/rust/pull/121720/)
- [Remove unnecessary type inference when using associated types inside of higher ranked `where`-bounds](https://github.com/rust-lang/rust/pull/119849)
- [Weaken eager detection of cyclic types during type inference](https://github.com/rust-lang/rust/pull/119989)
- [`trait Trait: Auto {}`: allow upcasting from `dyn Trait` to `dyn Auto`](https://github.com/rust-lang/rust/pull/119338)
  Compiler
--------
- [Made `INVALID_DOC_ATTRIBUTES` lint deny by default](https://github.com/rust-lang/rust/pull/111505/)
- [Increase accuracy of redundant `use` checking](https://github.com/rust-lang/rust/pull/117772/)
- [Suggest moving definition if non-found macro_rules! is defined later](https://github.com/rust-lang/rust/pull/121130/)
- [Lower transmutes from int to pointer type as gep on null](https://github.com/rust-lang/rust/pull/121282/)
  Target changes:
- [Windows tier 1 targets now require at least Windows 10](https://github.com/rust-lang/rust/pull/115141/)
  - [Enable CMPXCHG16B, SSE3, SAHF/LAHF and 128-bit Atomics in tier 1 Windows](https://github.com/rust-lang/rust/pull/120820/)
- [Add `wasm32-wasip1` tier 2 (without host tools) target](https://github.com/rust-lang/rust/pull/120468/)
- [Add `wasm32-wasip2` tier 3 target](https://github.com/rust-lang/rust/pull/119616/)
- [Rename `wasm32-wasi-preview1-threads` to `wasm32-wasip1-threads`](https://github.com/rust-lang/rust/pull/122170/)
- [Add `arm64ec-pc-windows-msvc` tier 3 target](https://github.com/rust-lang/rust/pull/119199/)
- [Add `armv8r-none-eabihf` tier 3 target for the Cortex-R52](https://github.com/rust-lang/rust/pull/110482/)
- [Add `loongarch64-unknown-linux-musl` tier 3 target](https://github.com/rust-lang/rust/pull/121832/)
  Refer to Rust's [platform support page][platform-support-doc]
  for more information on Rust's tiered platform support.
  Libraries
---------
- [Bump Unicode to version 15.1.0, regenerate tables](https://github.com/rust-lang/rust/pull/120777/)
- [Make align_offset, align_to well-behaved in all cases](https://github.com/rust-lang/rust/pull/121201/)
- [PartialEq, PartialOrd: document expectations for transitive chains](https://github.com/rust-lang/rust/pull/115386/)
- [Optimize away poison guards when std is built with panic=abort](https://github.com/rust-lang/rust/pull/100603/)
- [Replace pthread `RwLock` with custom implementation](https://github.com/rust-lang/rust/pull/110211/)
- [Implement unwind safety for Condvar on all platforms](https://github.com/rust-lang/rust/pull/121768/)
- [Add ASCII fast-path for `char::is_grapheme_extended`](https://github.com/rust-lang/rust/pull/121138/)
  Stabilized APIs
- [`impl Read for &amp;Stdin`](https://doc.rust-lang.org/stable/std/io/struct.Stdin.html#impl-Read-for-%26Stdin)
- [Accept non `'static` lifetimes for several `std::error::Error` related implementations](https://github.com/rust-lang/rust/pull/113833/)
- [Make `impl&lt;Fd: AsFd&gt;` impl take `?Sized`](https://github.com/rust-lang/rust/pull/114655/)
- [`impl From&lt;TryReserveError&gt; for io::Error`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#impl-From%3CTryReserveError%3E-for-Error)
  These APIs are now stable in const contexts:
- [`Barrier::new()`](https://doc.rust-lang.org/stable/std/sync/struct.Barrier.html#method.new)
  Cargo
-----
- [Stabilize lockfile v4](https://github.com/rust-lang/cargo/pull/12852/)
- [Respect `rust-version` when generating lockfile](https://github.com/rust-lang/cargo/pull/12861/)
- [Control `--charset` via auto-detecting config value](https://github.com/rust-lang/cargo/pull/13337/)
- [Support `target.&lt;triple&gt;.rustdocflags` officially](https://github.com/rust-lang/cargo/pull/13197/)
- [Stabilize global cache data tracking](https://github.com/rust-lang/cargo/pull/13492/)
  Misc
----
- [rustdoc: add `--test-builder-wrapper` arg to support wrappers such as RUSTC_WRAPPER when building doctests](https://github.com/rust-lang/rust/pull/114651/)
  Compatibility Notes
- [Many unsafe precondition checks now run for user code with debug assertions enabled](https://github.com/rust-lang/rust/pull/120594/)
  This change helps users catch undefined behavior in their code, though the details of how much is checked are generally not stable.
- [riscv only supports split_debuginfo=off for now](https://github.com/rust-lang/rust/pull/120518/)
- [Consistently check bounds on hidden types of `impl Trait`](https://github.com/rust-lang/rust/pull/121679)
- [Change equality of higher ranked types to not rely on subtyping](https://github.com/rust-lang/rust/pull/118247)
- [When called, additionally check bounds on normalized function return type](https://github.com/rust-lang/rust/pull/118882)
- [Expand coverage for `arithmetic_overflow` lint](https://github.com/rust-lang/rust/pull/119432/)
- [Fix detection of potential interior mutability in `const` initializers](https://github.com/rust-lang/rust/issues/121250)
  This code was accidentally accepted. The fix can break generic code that borrows a value of unknown type,
  as there is currently no way to declare "this type has no interior mutability". In the future, stabilizing
  the [`Freeze` trait](https://github.com/rust-lang/rust/issues/121675) will allow proper support for such code.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1715947200">- Update incorrect tumbleweed version check.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1719489600">- Add src, rustfmt and clippy for the Linux Kernel CI tooling.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1719576000">- Fix incorrect test conditional</changelog>
</package>
<package pkgid="c8fb8174af31841c81b855fd03e547731646029b738691cec994f79379541fd4e832c40f4c6bf33a8e8666e564fe634a9dd677286a4c555878535e48c1305969" name="cargo1.78-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.78.0" rel="3.1"/>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1715688000">Version 1.78.0 (2024-05-02)
  Language
--------
- [Stabilize `#[cfg(target_abi = ...)]`](https://github.com/rust-lang/rust/pull/119590/)
- [Stabilize the `#[diagnostic]` namespace and `#[diagnostic::on_unimplemented]` attribute](https://github.com/rust-lang/rust/pull/119888/)
- [Make async-fn-in-trait implementable with concrete signatures](https://github.com/rust-lang/rust/pull/120103/)
- [Make matching on NaN a hard error, and remove the rest of `illegal_floating_point_literal_pattern`](https://github.com/rust-lang/rust/pull/116284/)
- [static mut: allow mutable reference to arbitrary types, not just slices and arrays](https://github.com/rust-lang/rust/pull/117614/)
- [Extend `invalid_reference_casting` to include references casting to bigger memory layout](https://github.com/rust-lang/rust/pull/118983/)
- [Add `non_contiguous_range_endpoints` lint for singleton gaps after exclusive ranges](https://github.com/rust-lang/rust/pull/118879/)
- [Add `wasm_c_abi` lint for use of older wasm-bindgen versions](https://github.com/rust-lang/rust/pull/117918/)
  This lint currently only works when using Cargo.
- [Update `indirect_structural_match` and `pointer_structural_match` lints to match RFC](https://github.com/rust-lang/rust/pull/120423/)
- [Make non-`PartialEq`-typed consts as patterns a hard error](https://github.com/rust-lang/rust/pull/120805/)
- [Split `refining_impl_trait` lint into `_reachable`, `_internal` variants](https://github.com/rust-lang/rust/pull/121720/)
- [Remove unnecessary type inference when using associated types inside of higher ranked `where`-bounds](https://github.com/rust-lang/rust/pull/119849)
- [Weaken eager detection of cyclic types during type inference](https://github.com/rust-lang/rust/pull/119989)
- [`trait Trait: Auto {}`: allow upcasting from `dyn Trait` to `dyn Auto`](https://github.com/rust-lang/rust/pull/119338)
  Compiler
--------
- [Made `INVALID_DOC_ATTRIBUTES` lint deny by default](https://github.com/rust-lang/rust/pull/111505/)
- [Increase accuracy of redundant `use` checking](https://github.com/rust-lang/rust/pull/117772/)
- [Suggest moving definition if non-found macro_rules! is defined later](https://github.com/rust-lang/rust/pull/121130/)
- [Lower transmutes from int to pointer type as gep on null](https://github.com/rust-lang/rust/pull/121282/)
  Target changes:
- [Windows tier 1 targets now require at least Windows 10](https://github.com/rust-lang/rust/pull/115141/)
  - [Enable CMPXCHG16B, SSE3, SAHF/LAHF and 128-bit Atomics in tier 1 Windows](https://github.com/rust-lang/rust/pull/120820/)
- [Add `wasm32-wasip1` tier 2 (without host tools) target](https://github.com/rust-lang/rust/pull/120468/)
- [Add `wasm32-wasip2` tier 3 target](https://github.com/rust-lang/rust/pull/119616/)
- [Rename `wasm32-wasi-preview1-threads` to `wasm32-wasip1-threads`](https://github.com/rust-lang/rust/pull/122170/)
- [Add `arm64ec-pc-windows-msvc` tier 3 target](https://github.com/rust-lang/rust/pull/119199/)
- [Add `armv8r-none-eabihf` tier 3 target for the Cortex-R52](https://github.com/rust-lang/rust/pull/110482/)
- [Add `loongarch64-unknown-linux-musl` tier 3 target](https://github.com/rust-lang/rust/pull/121832/)
  Refer to Rust's [platform support page][platform-support-doc]
  for more information on Rust's tiered platform support.
  Libraries
---------
- [Bump Unicode to version 15.1.0, regenerate tables](https://github.com/rust-lang/rust/pull/120777/)
- [Make align_offset, align_to well-behaved in all cases](https://github.com/rust-lang/rust/pull/121201/)
- [PartialEq, PartialOrd: document expectations for transitive chains](https://github.com/rust-lang/rust/pull/115386/)
- [Optimize away poison guards when std is built with panic=abort](https://github.com/rust-lang/rust/pull/100603/)
- [Replace pthread `RwLock` with custom implementation](https://github.com/rust-lang/rust/pull/110211/)
- [Implement unwind safety for Condvar on all platforms](https://github.com/rust-lang/rust/pull/121768/)
- [Add ASCII fast-path for `char::is_grapheme_extended`](https://github.com/rust-lang/rust/pull/121138/)
  Stabilized APIs
- [`impl Read for &amp;Stdin`](https://doc.rust-lang.org/stable/std/io/struct.Stdin.html#impl-Read-for-%26Stdin)
- [Accept non `'static` lifetimes for several `std::error::Error` related implementations](https://github.com/rust-lang/rust/pull/113833/)
- [Make `impl&lt;Fd: AsFd&gt;` impl take `?Sized`](https://github.com/rust-lang/rust/pull/114655/)
- [`impl From&lt;TryReserveError&gt; for io::Error`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#impl-From%3CTryReserveError%3E-for-Error)
  These APIs are now stable in const contexts:
- [`Barrier::new()`](https://doc.rust-lang.org/stable/std/sync/struct.Barrier.html#method.new)
  Cargo
-----
- [Stabilize lockfile v4](https://github.com/rust-lang/cargo/pull/12852/)
- [Respect `rust-version` when generating lockfile](https://github.com/rust-lang/cargo/pull/12861/)
- [Control `--charset` via auto-detecting config value](https://github.com/rust-lang/cargo/pull/13337/)
- [Support `target.&lt;triple&gt;.rustdocflags` officially](https://github.com/rust-lang/cargo/pull/13197/)
- [Stabilize global cache data tracking](https://github.com/rust-lang/cargo/pull/13492/)
  Misc
----
- [rustdoc: add `--test-builder-wrapper` arg to support wrappers such as RUSTC_WRAPPER when building doctests](https://github.com/rust-lang/rust/pull/114651/)
  Compatibility Notes
- [Many unsafe precondition checks now run for user code with debug assertions enabled](https://github.com/rust-lang/rust/pull/120594/)
  This change helps users catch undefined behavior in their code, though the details of how much is checked are generally not stable.
- [riscv only supports split_debuginfo=off for now](https://github.com/rust-lang/rust/pull/120518/)
- [Consistently check bounds on hidden types of `impl Trait`](https://github.com/rust-lang/rust/pull/121679)
- [Change equality of higher ranked types to not rely on subtyping](https://github.com/rust-lang/rust/pull/118247)
- [When called, additionally check bounds on normalized function return type](https://github.com/rust-lang/rust/pull/118882)
- [Expand coverage for `arithmetic_overflow` lint](https://github.com/rust-lang/rust/pull/119432/)
- [Fix detection of potential interior mutability in `const` initializers](https://github.com/rust-lang/rust/issues/121250)
  This code was accidentally accepted. The fix can break generic code that borrows a value of unknown type,
  as there is currently no way to declare "this type has no interior mutability". In the future, stabilizing
  the [`Freeze` trait](https://github.com/rust-lang/rust/issues/121675) will allow proper support for such code.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1715947200">- Update incorrect tumbleweed version check.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1719489600">- Add src, rustfmt and clippy for the Linux Kernel CI tooling.</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1719576000">- Fix incorrect test conditional</changelog>
</package>
<package pkgid="c3bd57bfc8bef99d54684e454071c95ccd52c894c6c53b70a6b9a8acf84c832f5b5a6e26ee09be1c80b3b73de7cbf7aae893438d500db45b002163945a29f59f" name="ccgfs" arch="src">
  <version epoch="0" ver="0.81.g3" rel="2.1"/>
  <changelog author="jengelh@medozas.de" date="1311249600">- Initial package for build.opensuse.org</changelog>
  <changelog author="jengelh@medozas.de" date="1322913600">- Update to new upstream release 0.80
  * support for O_CLOEXEC
  * use nanosecond-resolution for utimes call
  * subsecond resolution for getattr</changelog>
  <changelog author="jeffm@suse.com" date="1335441600">- Update to new upstream release 0.81
  * build with -pthread</changelog>
  <changelog author="jengelh@inai.de" date="1350475200">- Explicitly specify unit directory for building</changelog>
  <changelog author="sbrabec@suse.cz" date="1353412800">- Verify GPG signature</changelog>
  <changelog author="p.drouand@gmail.com" date="1382788800">- Don't provide sysvinit and systemd support on the same system
  Provides support for either one or the other</changelog>
  <changelog author="jengelh@inai.de" date="1411473600">- Drop gpg-offline build-time requirement; this is now handled by
  the local source validator
- Provide /usr/sbin/rc* symlink for daemon</changelog>
  <changelog author="jengelh@inai.de" date="1512388800">- Add replace-sha0.diff</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1539864000">- Update to snapshot 0.81.g3
  * support new glibc sys/xattr.h
- Remove replace-sha0.diff (included in snapshot)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="7425e472a78ff76125bf3e80cd9b53db41d6ec6fc11f218de688efcfdc611e60246458515e689edefa59fdccb62bb79b77d6fa1182e8fc74d7d7a443ac9c82ae" name="ccgfs" arch="x86_64">
  <version epoch="0" ver="0.81.g3" rel="2.1"/>
  <changelog author="jengelh@medozas.de" date="1311249600">- Initial package for build.opensuse.org</changelog>
  <changelog author="jengelh@medozas.de" date="1322913600">- Update to new upstream release 0.80
  * support for O_CLOEXEC
  * use nanosecond-resolution for utimes call
  * subsecond resolution for getattr</changelog>
  <changelog author="jeffm@suse.com" date="1335441600">- Update to new upstream release 0.81
  * build with -pthread</changelog>
  <changelog author="jengelh@inai.de" date="1350475200">- Explicitly specify unit directory for building</changelog>
  <changelog author="sbrabec@suse.cz" date="1353412800">- Verify GPG signature</changelog>
  <changelog author="p.drouand@gmail.com" date="1382788800">- Don't provide sysvinit and systemd support on the same system
  Provides support for either one or the other</changelog>
  <changelog author="jengelh@inai.de" date="1411473600">- Drop gpg-offline build-time requirement; this is now handled by
  the local source validator
- Provide /usr/sbin/rc* symlink for daemon</changelog>
  <changelog author="jengelh@inai.de" date="1512388800">- Add replace-sha0.diff</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1539864000">- Update to snapshot 0.81.g3
  * support new glibc sys/xattr.h
- Remove replace-sha0.diff (included in snapshot)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="04501229e2e19abe5384f08e5f03bd113c3539f6ef5c4cace2204f641a40cecc8b69a0ddb3b775666a33062f90a7da7d07fab62c7954ae9e9e3b874889e6af9c" name="ccgfs-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.81.g3" rel="2.1"/>
  <changelog author="jengelh@medozas.de" date="1311249600">- Initial package for build.opensuse.org</changelog>
  <changelog author="jengelh@medozas.de" date="1322913600">- Update to new upstream release 0.80
  * support for O_CLOEXEC
  * use nanosecond-resolution for utimes call
  * subsecond resolution for getattr</changelog>
  <changelog author="jeffm@suse.com" date="1335441600">- Update to new upstream release 0.81
  * build with -pthread</changelog>
  <changelog author="jengelh@inai.de" date="1350475200">- Explicitly specify unit directory for building</changelog>
  <changelog author="sbrabec@suse.cz" date="1353412800">- Verify GPG signature</changelog>
  <changelog author="p.drouand@gmail.com" date="1382788800">- Don't provide sysvinit and systemd support on the same system
  Provides support for either one or the other</changelog>
  <changelog author="jengelh@inai.de" date="1411473600">- Drop gpg-offline build-time requirement; this is now handled by
  the local source validator
- Provide /usr/sbin/rc* symlink for daemon</changelog>
  <changelog author="jengelh@inai.de" date="1512388800">- Add replace-sha0.diff</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1539864000">- Update to snapshot 0.81.g3
  * support new glibc sys/xattr.h
- Remove replace-sha0.diff (included in snapshot)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="127688eff7709df7ecd355d6e3adf63c4c7726938c6eb58428474a633efdc39babb98d2af568465a01756c3e59a946d2a4e4293b6be36aa34a62d685a5f2a815" name="ccgfs-debugsource" arch="x86_64">
  <version epoch="0" ver="0.81.g3" rel="2.1"/>
  <changelog author="jengelh@medozas.de" date="1311249600">- Initial package for build.opensuse.org</changelog>
  <changelog author="jengelh@medozas.de" date="1322913600">- Update to new upstream release 0.80
  * support for O_CLOEXEC
  * use nanosecond-resolution for utimes call
  * subsecond resolution for getattr</changelog>
  <changelog author="jeffm@suse.com" date="1335441600">- Update to new upstream release 0.81
  * build with -pthread</changelog>
  <changelog author="jengelh@inai.de" date="1350475200">- Explicitly specify unit directory for building</changelog>
  <changelog author="sbrabec@suse.cz" date="1353412800">- Verify GPG signature</changelog>
  <changelog author="p.drouand@gmail.com" date="1382788800">- Don't provide sysvinit and systemd support on the same system
  Provides support for either one or the other</changelog>
  <changelog author="jengelh@inai.de" date="1411473600">- Drop gpg-offline build-time requirement; this is now handled by
  the local source validator
- Provide /usr/sbin/rc* symlink for daemon</changelog>
  <changelog author="jengelh@inai.de" date="1512388800">- Add replace-sha0.diff</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1539864000">- Update to snapshot 0.81.g3
  * support new glibc sys/xattr.h
- Remove replace-sha0.diff (included in snapshot)</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="52b61ff915309eb07167f41aafa1ce4e9c78cd2ec7141b4432522811e9f174d6abe52140740cd53028e5e50da7d25a6420c11fb7f2398111e7b83dbaba80d2c7" name="cdi-api" arch="noarch">
  <version epoch="0" ver="2.0.2" rel="5.1"/>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1553688000">- Initial packaging of cdi-api 1.2
- Generate and customize the ant build.xml file</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1553688001">- Replace summary by something that speaks more than two
  acronyms.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1554292800">- Generate the tarball and pack only the api part, to avoid
  distributing non-distribuable content</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1554552000">- Use _service instead of custom create-tarball.sh.
- Avoid double-shipping license file.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1647777600">- Build with java source and target levels 8</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1649073600">- Update to upsteam release 2.0.2
  * No changelog was made available.
- Added patch:
  * 0001-Remove-dependency-on-glassfish-el.patch
    + patch out the two el wrapper functions that are unused</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1708516800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1717761600">- Use the javax.inject artifact</changelog>
</package>
<package pkgid="c47a615cbacb37186de6cd45aa01bc727687e6a7a36b744b2b361475ad12b5db85a0c0e30057fd307c79903c8f0711184c3adb2901d15bb33223af5d35b83ba9" name="cdi-api" arch="src">
  <version epoch="0" ver="2.0.2" rel="5.1"/>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1553688000">- Initial packaging of cdi-api 1.2
- Generate and customize the ant build.xml file</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1553688001">- Replace summary by something that speaks more than two
  acronyms.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1554292800">- Generate the tarball and pack only the api part, to avoid
  distributing non-distribuable content</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1554552000">- Use _service instead of custom create-tarball.sh.
- Avoid double-shipping license file.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1647777600">- Build with java source and target levels 8</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1649073600">- Update to upsteam release 2.0.2
  * No changelog was made available.
- Added patch:
  * 0001-Remove-dependency-on-glassfish-el.patch
    + patch out the two el wrapper functions that are unused</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1708516800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1717761600">- Use the javax.inject artifact</changelog>
</package>
<package pkgid="4981d1f1ffdc2d7090eca5a69d6c7630d34436a1698fc8ad6d3eb1f2c3411b5a545c1cc2b8615ea9bc17c637a8dde5662f6f576acf6931d1f5997f47ff82de07" name="cdi-api-javadoc" arch="noarch">
  <version epoch="0" ver="2.0.2" rel="5.1"/>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1553688000">- Initial packaging of cdi-api 1.2
- Generate and customize the ant build.xml file</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1553688001">- Replace summary by something that speaks more than two
  acronyms.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1554292800">- Generate the tarball and pack only the api part, to avoid
  distributing non-distribuable content</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1554552000">- Use _service instead of custom create-tarball.sh.
- Avoid double-shipping license file.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1647777600">- Build with java source and target levels 8</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1649073600">- Update to upsteam release 2.0.2
  * No changelog was made available.
- Added patch:
  * 0001-Remove-dependency-on-glassfish-el.patch
    + patch out the two el wrapper functions that are unused</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1708516800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1717761600">- Use the javax.inject artifact</changelog>
</package>
<package pkgid="14a1eb148b0f344d3b9f8437065f75280dd39690885f1d3e11e9433d9ad5dde66b6c193556400ca59a7bae54a54d7aa42ea4325a33b8c89f77120083be5ef9a3" name="cepces" arch="noarch">
  <version epoch="0" ver="0.3.9" rel="2.1"/>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1624968000">- v0.3.3: Initial submission of sources; (jsc#SLE-18457).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1626091200">- v0.3.4: Allow overriding of parameters from the command line
  - Removed upstreamed patch 0001-Added-Kerberos-delegation.patch
  - Removed upstreamed patch 0001-Allow-overriding-of-server-auth-from-the-command-lin.patch
  - Removed upstreamed patch 0001-add-SELinux-permissions-for-RHEL-6.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1626696000">- Fix configuration missing global section.
- Add a test runner for executing unittests, and github CI.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1629374400">- Disable selinux where not supported; (jsc#SLE-18456).</changelog>
  <changelog author="David Mulder &lt;david.mulder@suse.com&gt;" date="1633435200">- Also disable selinux in 15.4, since it is still not supported.</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1633521600">- Only install the selinux policy if necessary
- Add missing dependency on the main package to the certmonger
  subpackage
- Use %license and move it to the common subpackage
- Avoid bashisms
- Fix file list for the python subpackage for 3.10+</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1652184000">- add b755b56d25f3e54f8f15d9985fd0597b21c1051d.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1654084800">Release v0.3.5:
- Added polling_interval which tells certmonger how long to wait in seconds before retrying.
- Implemented Certificate authentication method.
- Python 3.10 compatible.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1666267200">Release v0.3.6:
- Fix Bug #15 cepces.conf.dist: server should be pointed to actual CEP host
- Replace old requests_kerberos with requests_gssapi
- setup: Do not install example configs
- setup: Respect the prefix the user specifies
- Delete the spec file
- Make Kerberos delegation configurable
- Fix Bug #24 cepces-submit 'TypeError: option values must be strings'
- Removed b755b56d25f3e54f8f15d9985fd0597b21c1051d.patch because
  it is now upstream.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1669896000">Release v0.3.7:
- Make the openssl security level configurable</changelog>
  <changelog author="dmulder@suse.com" date="1705924800">- Update to version 0.3.8:
  * Fix WSTEP BinarySecurityToken attribute namespaces
  * Migrate to SPNEGO auth mech</changelog>
  <changelog author="dmulder@suse.com" date="1710763200">- Update to version 0.3.9:
  * Fix failure to parse DER encoded cert; (bsc#1196658).
- Also disable selinux in 15.6, since it is still not supported.</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 (bsc#1212476)</changelog>
</package>
<package pkgid="6b2fb62d5667846de15037a2cc3ea2f00d5b3f0aa5de3d9feea7e3189e987b344453dadbeb2a300f6900f44eccce8c328ef02704bde18d4c3889edb4c17626df" name="cepces" arch="src">
  <version epoch="0" ver="0.3.9" rel="2.1"/>
  <changelog author="Daniel Uvehag &lt;daniel.uvehag@gmail.com&gt; - 0.1.0-1" date="1467028800">- Initial package.</changelog>
  <changelog author="Daniel Uvehag &lt;daniel.uvehag@gmail.com&gt; - 0.2.1-1" date="1517486400">- Update to version 0.2.1-1</changelog>
  <changelog author="Daniel Uvehag &lt;daniel.uvehag@gmail.com&gt; - 0.3.0-1" date="1517832000">- Update to version 0.3.0-1</changelog>
  <changelog author="Daniel Uvehag &lt;daniel.uvehag@gmail.com&gt; - 0.3.3-1" date="1564401600">- Update to version 0.3.3-1</changelog>
  <changelog author="Daniel Uvehag &lt;daniel.uvehag@gmail.com&gt; - 0.3.3-2" date="1564401601">- Add missing log directory</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1624968000">- v0.3.3: Initial submission of sources; (jsc#SLE-18457).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1626091200">- v0.3.4: Allow overriding of parameters from the command line
  - Removed upstreamed patch 0001-Added-Kerberos-delegation.patch
  - Removed upstreamed patch 0001-Allow-overriding-of-server-auth-from-the-command-lin.patch
  - Removed upstreamed patch 0001-add-SELinux-permissions-for-RHEL-6.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1626696000">- Fix configuration missing global section.
- Add a test runner for executing unittests, and github CI.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1629374400">- Disable selinux where not supported; (jsc#SLE-18456).</changelog>
  <changelog author="David Mulder &lt;david.mulder@suse.com&gt;" date="1633435200">- Also disable selinux in 15.4, since it is still not supported.</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1633521600">- Only install the selinux policy if necessary
- Add missing dependency on the main package to the certmonger
  subpackage
- Use %license and move it to the common subpackage
- Avoid bashisms
- Fix file list for the python subpackage for 3.10+</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1652184000">- add b755b56d25f3e54f8f15d9985fd0597b21c1051d.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1654084800">Release v0.3.5:
- Added polling_interval which tells certmonger how long to wait in seconds before retrying.
- Implemented Certificate authentication method.
- Python 3.10 compatible.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1666267200">Release v0.3.6:
- Fix Bug #15 cepces.conf.dist: server should be pointed to actual CEP host
- Replace old requests_kerberos with requests_gssapi
- setup: Do not install example configs
- setup: Respect the prefix the user specifies
- Delete the spec file
- Make Kerberos delegation configurable
- Fix Bug #24 cepces-submit 'TypeError: option values must be strings'
- Removed b755b56d25f3e54f8f15d9985fd0597b21c1051d.patch because
  it is now upstream.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1669896000">Release v0.3.7:
- Make the openssl security level configurable</changelog>
  <changelog author="dmulder@suse.com" date="1705924800">- Update to version 0.3.8:
  * Fix WSTEP BinarySecurityToken attribute namespaces
  * Migrate to SPNEGO auth mech</changelog>
  <changelog author="dmulder@suse.com" date="1710763200">- Update to version 0.3.9:
  * Fix failure to parse DER encoded cert; (bsc#1196658).
- Also disable selinux in 15.6, since it is still not supported.</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 (bsc#1212476)</changelog>
</package>
<package pkgid="888bfe91a396d7f5ef5fb0f0bb728df89eaa19823ba849242144ec5a576d7acd1b411a78c7ecdbed41c58543efe2d12aaf67665fbed62d779db35a12f4c040bc" name="cepces-certmonger" arch="noarch">
  <version epoch="0" ver="0.3.9" rel="2.1"/>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1624968000">- v0.3.3: Initial submission of sources; (jsc#SLE-18457).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1626091200">- v0.3.4: Allow overriding of parameters from the command line
  - Removed upstreamed patch 0001-Added-Kerberos-delegation.patch
  - Removed upstreamed patch 0001-Allow-overriding-of-server-auth-from-the-command-lin.patch
  - Removed upstreamed patch 0001-add-SELinux-permissions-for-RHEL-6.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1626696000">- Fix configuration missing global section.
- Add a test runner for executing unittests, and github CI.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1629374400">- Disable selinux where not supported; (jsc#SLE-18456).</changelog>
  <changelog author="David Mulder &lt;david.mulder@suse.com&gt;" date="1633435200">- Also disable selinux in 15.4, since it is still not supported.</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1633521600">- Only install the selinux policy if necessary
- Add missing dependency on the main package to the certmonger
  subpackage
- Use %license and move it to the common subpackage
- Avoid bashisms
- Fix file list for the python subpackage for 3.10+</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1652184000">- add b755b56d25f3e54f8f15d9985fd0597b21c1051d.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1654084800">Release v0.3.5:
- Added polling_interval which tells certmonger how long to wait in seconds before retrying.
- Implemented Certificate authentication method.
- Python 3.10 compatible.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1666267200">Release v0.3.6:
- Fix Bug #15 cepces.conf.dist: server should be pointed to actual CEP host
- Replace old requests_kerberos with requests_gssapi
- setup: Do not install example configs
- setup: Respect the prefix the user specifies
- Delete the spec file
- Make Kerberos delegation configurable
- Fix Bug #24 cepces-submit 'TypeError: option values must be strings'
- Removed b755b56d25f3e54f8f15d9985fd0597b21c1051d.patch because
  it is now upstream.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1669896000">Release v0.3.7:
- Make the openssl security level configurable</changelog>
  <changelog author="dmulder@suse.com" date="1705924800">- Update to version 0.3.8:
  * Fix WSTEP BinarySecurityToken attribute namespaces
  * Migrate to SPNEGO auth mech</changelog>
  <changelog author="dmulder@suse.com" date="1710763200">- Update to version 0.3.9:
  * Fix failure to parse DER encoded cert; (bsc#1196658).
- Also disable selinux in 15.6, since it is still not supported.</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 (bsc#1212476)</changelog>
</package>
<package pkgid="7a0c35a0fd9991e4748ee2786bfd13cfec203837c94f72d14429bded1954b64d7d00de91018e8acffa1a9c4087edf2f51d6fe09b5f72bc5119c0610666434c68" name="cepces-selinux" arch="noarch">
  <version epoch="0" ver="0.3.9" rel="2.1"/>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1624968000">- v0.3.3: Initial submission of sources; (jsc#SLE-18457).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1626091200">- v0.3.4: Allow overriding of parameters from the command line
  - Removed upstreamed patch 0001-Added-Kerberos-delegation.patch
  - Removed upstreamed patch 0001-Allow-overriding-of-server-auth-from-the-command-lin.patch
  - Removed upstreamed patch 0001-add-SELinux-permissions-for-RHEL-6.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1626696000">- Fix configuration missing global section.
- Add a test runner for executing unittests, and github CI.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1629374400">- Disable selinux where not supported; (jsc#SLE-18456).</changelog>
  <changelog author="David Mulder &lt;david.mulder@suse.com&gt;" date="1633435200">- Also disable selinux in 15.4, since it is still not supported.</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1633521600">- Only install the selinux policy if necessary
- Add missing dependency on the main package to the certmonger
  subpackage
- Use %license and move it to the common subpackage
- Avoid bashisms
- Fix file list for the python subpackage for 3.10+</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1652184000">- add b755b56d25f3e54f8f15d9985fd0597b21c1051d.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1654084800">Release v0.3.5:
- Added polling_interval which tells certmonger how long to wait in seconds before retrying.
- Implemented Certificate authentication method.
- Python 3.10 compatible.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1666267200">Release v0.3.6:
- Fix Bug #15 cepces.conf.dist: server should be pointed to actual CEP host
- Replace old requests_kerberos with requests_gssapi
- setup: Do not install example configs
- setup: Respect the prefix the user specifies
- Delete the spec file
- Make Kerberos delegation configurable
- Fix Bug #24 cepces-submit 'TypeError: option values must be strings'
- Removed b755b56d25f3e54f8f15d9985fd0597b21c1051d.patch because
  it is now upstream.</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1669896000">Release v0.3.7:
- Make the openssl security level configurable</changelog>
  <changelog author="dmulder@suse.com" date="1705924800">- Update to version 0.3.8:
  * Fix WSTEP BinarySecurityToken attribute namespaces
  * Migrate to SPNEGO auth mech</changelog>
  <changelog author="dmulder@suse.com" date="1710763200">- Update to version 0.3.9:
  * Fix failure to parse DER encoded cert; (bsc#1196658).
- Also disable selinux in 15.6, since it is still not supported.</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 (bsc#1212476)</changelog>
</package>
<package pkgid="a4814fac9b750e479e13209a62dab512de35021b97c784f442268a7b7812ddd5a62eb0760822e510eba250e6111e1888fdc8809e88281d8ea430400b8cb738dc" name="certmonger" arch="i586">
  <version epoch="0" ver="0.79.19" rel="4.1"/>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1598875200">- update to 0.79.11:
  - Fix crash bug when generating thumbprints
  - dogtag: use POST for profileProcess requests
  - Improve logging in SCEP helper
  - Add verbose option to SCEP CA if requested in add-scep-ca
  - Re-order the way the SCEP signing and CA certs are collected
  - Add new option to allow overriding the detected SCEP CA chain
  - template_profile, issuer and MS certificate template are single-value
  - Ensure that files read in have a trailing new-line
  - Adapt to the new behavior of disconnect in dbus-broker
  - Add long command-line options to CLI and man pages
  - Include &amp;message=CA-IDENT with GetCACaps and GetCACert requests
  - Address issues uncovered by clang and Coverity
  - Handle an uninitialized token when adding CA certs to an NSS db
  - tests: Parametrize 025-casave with NSS db types</changelog>
  <changelog author="Sasi Olin &lt;hel@lcp.world&gt;" date="1614513600">- Update to 0.79.13</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1627300800">- Add buildrequires on systemd which is required for correct installation
  of the .service file.</changelog>
  <changelog author="Neal Gompa &lt;ngompa13@gmail.com&gt;" date="1627300801">- Use "pkgconfig(systemd)" for the BR to allow hacksaw systemd-mini
  package to satisfy dependencies in the openSUSE Build Service.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467200">- Updated to version 0.79.15
- Added minimum libjansson version requirement.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467201">- Added 0001-Disable-DSA-in-the-RPM-spec.patch
- Removed 0002-certmonger-return-type.patch.</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1697025600">- dbus-daemon is now split out into a separate package.</changelog>
  <changelog author="Otto Hollmann &lt;otto.hollmann@suse.com&gt;" date="1702468800">- Update to 0.79.19
  * getcert: add-scep-ca: fix help for --ca-cert and --ra-cert
  * Don't restrict tokens to CKM_RSA_X_509
  * Updated translations from Weblate
- Update to 0.79.18
  * Rename DBus service and conf files to match canonical name
  * Add missing .TP tags in getcert-resubmit man page
  * migrated to SPDX license
  * Include owner and perms in getcert list output
  * Don't require an NSS database in cm_certread_n_parse
  * Add new certs to internal token, try harder to remove on renewal
- Update to 0.79.17
  * Respect LDFLAGS settings defined by user
  * Switch to CA user when saving NSS certificates
  * Translated using Weblate (German)
  * Translated using Weblate (Georgian)
- Update to 0.79.16
  * Add a PEM validity checker and validate SCEP CA files
  * Fix implicit declaration of function ‘PEM_read_bio_X509’
  * Don't include "NEW" in certificate signing requests
  * Verify that the AES-128 is used for encrypting the local CA
  * Replace DER-encoded test file with a base64-encoded one
  * Correct a bad date in the spec changelog
  * Switch to https URLs for Sources, etc.
  * Remove dependency on SHA-1
  * tests: Test that the CA constraint DER encoding is correct
  * Disable DSA in the RPM spec
  * Manually build the srpm for the copr CI
  * Require jansson &gt;= 2.12
  * Mark the current directory as a safe git directory
  * Fix usage of PKCS#7 ASN1 attribute retrieval for SCEP keygen
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Georgian)
  * Translated using Weblate (Indonesian)
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Hungarian)
- Removed 0001-Disable-DSA-in-the-RPM-spec.patch
- Added 0001-Update-tests-to-be-compatible-with-OpenSSL-3.2.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1710763200">- HMAC build requires changes (these requires are missing in SLE).</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1717156800">- Add certmonger-c99-01.patch and certmonger-c99-02.patch in order to
  make the package buildable with GCC 14.  Patches originally by
  Florian Weimer and from
  https://pagure.io/certmonger/pull-request/265  [boo#1221683]</changelog>
</package>
<package pkgid="089315723fd7c73afd82ab1daa30b9e5ac542608fc5beee8278d507c392c573bed1eaad8d5a9f1531cca865ccfa2f56286b0bca905a52d55be7c0fbb17ccf4b6" name="certmonger" arch="src">
  <version epoch="0" ver="0.79.19" rel="4.1"/>
  <changelog author="Stasiek Michalski &lt;stasiek@michalski.cc&gt;" date="1586692800">- Initial package</changelog>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1598875200">- update to 0.79.11:
  - Fix crash bug when generating thumbprints
  - dogtag: use POST for profileProcess requests
  - Improve logging in SCEP helper
  - Add verbose option to SCEP CA if requested in add-scep-ca
  - Re-order the way the SCEP signing and CA certs are collected
  - Add new option to allow overriding the detected SCEP CA chain
  - template_profile, issuer and MS certificate template are single-value
  - Ensure that files read in have a trailing new-line
  - Adapt to the new behavior of disconnect in dbus-broker
  - Add long command-line options to CLI and man pages
  - Include &amp;message=CA-IDENT with GetCACaps and GetCACert requests
  - Address issues uncovered by clang and Coverity
  - Handle an uninitialized token when adding CA certs to an NSS db
  - tests: Parametrize 025-casave with NSS db types</changelog>
  <changelog author="Sasi Olin &lt;hel@lcp.world&gt;" date="1614513600">- Update to 0.79.13</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1627300800">- Add buildrequires on systemd which is required for correct installation
  of the .service file.</changelog>
  <changelog author="Neal Gompa &lt;ngompa13@gmail.com&gt;" date="1627300801">- Use "pkgconfig(systemd)" for the BR to allow hacksaw systemd-mini
  package to satisfy dependencies in the openSUSE Build Service.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467200">- Updated to version 0.79.15
- Added minimum libjansson version requirement.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467201">- Added 0001-Disable-DSA-in-the-RPM-spec.patch
- Removed 0002-certmonger-return-type.patch.</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1697025600">- dbus-daemon is now split out into a separate package.</changelog>
  <changelog author="Otto Hollmann &lt;otto.hollmann@suse.com&gt;" date="1702468800">- Update to 0.79.19
  * getcert: add-scep-ca: fix help for --ca-cert and --ra-cert
  * Don't restrict tokens to CKM_RSA_X_509
  * Updated translations from Weblate
- Update to 0.79.18
  * Rename DBus service and conf files to match canonical name
  * Add missing .TP tags in getcert-resubmit man page
  * migrated to SPDX license
  * Include owner and perms in getcert list output
  * Don't require an NSS database in cm_certread_n_parse
  * Add new certs to internal token, try harder to remove on renewal
- Update to 0.79.17
  * Respect LDFLAGS settings defined by user
  * Switch to CA user when saving NSS certificates
  * Translated using Weblate (German)
  * Translated using Weblate (Georgian)
- Update to 0.79.16
  * Add a PEM validity checker and validate SCEP CA files
  * Fix implicit declaration of function ‘PEM_read_bio_X509’
  * Don't include "NEW" in certificate signing requests
  * Verify that the AES-128 is used for encrypting the local CA
  * Replace DER-encoded test file with a base64-encoded one
  * Correct a bad date in the spec changelog
  * Switch to https URLs for Sources, etc.
  * Remove dependency on SHA-1
  * tests: Test that the CA constraint DER encoding is correct
  * Disable DSA in the RPM spec
  * Manually build the srpm for the copr CI
  * Require jansson &gt;= 2.12
  * Mark the current directory as a safe git directory
  * Fix usage of PKCS#7 ASN1 attribute retrieval for SCEP keygen
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Georgian)
  * Translated using Weblate (Indonesian)
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Hungarian)
- Removed 0001-Disable-DSA-in-the-RPM-spec.patch
- Added 0001-Update-tests-to-be-compatible-with-OpenSSL-3.2.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1710763200">- HMAC build requires changes (these requires are missing in SLE).</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1717156800">- Add certmonger-c99-01.patch and certmonger-c99-02.patch in order to
  make the package buildable with GCC 14.  Patches originally by
  Florian Weimer and from
  https://pagure.io/certmonger/pull-request/265  [boo#1221683]</changelog>
</package>
<package pkgid="830555295b7ae4669f2481c8f1679c79108fa484303c2d24e1c16fa71cd6ad0c514da3db6d7307e15bfd177effa1f43baa92de5147704814cf144a58d392124e" name="certmonger" arch="x86_64">
  <version epoch="0" ver="0.79.19" rel="4.1"/>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1598875200">- update to 0.79.11:
  - Fix crash bug when generating thumbprints
  - dogtag: use POST for profileProcess requests
  - Improve logging in SCEP helper
  - Add verbose option to SCEP CA if requested in add-scep-ca
  - Re-order the way the SCEP signing and CA certs are collected
  - Add new option to allow overriding the detected SCEP CA chain
  - template_profile, issuer and MS certificate template are single-value
  - Ensure that files read in have a trailing new-line
  - Adapt to the new behavior of disconnect in dbus-broker
  - Add long command-line options to CLI and man pages
  - Include &amp;message=CA-IDENT with GetCACaps and GetCACert requests
  - Address issues uncovered by clang and Coverity
  - Handle an uninitialized token when adding CA certs to an NSS db
  - tests: Parametrize 025-casave with NSS db types</changelog>
  <changelog author="Sasi Olin &lt;hel@lcp.world&gt;" date="1614513600">- Update to 0.79.13</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1627300800">- Add buildrequires on systemd which is required for correct installation
  of the .service file.</changelog>
  <changelog author="Neal Gompa &lt;ngompa13@gmail.com&gt;" date="1627300801">- Use "pkgconfig(systemd)" for the BR to allow hacksaw systemd-mini
  package to satisfy dependencies in the openSUSE Build Service.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467200">- Updated to version 0.79.15
- Added minimum libjansson version requirement.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467201">- Added 0001-Disable-DSA-in-the-RPM-spec.patch
- Removed 0002-certmonger-return-type.patch.</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1697025600">- dbus-daemon is now split out into a separate package.</changelog>
  <changelog author="Otto Hollmann &lt;otto.hollmann@suse.com&gt;" date="1702468800">- Update to 0.79.19
  * getcert: add-scep-ca: fix help for --ca-cert and --ra-cert
  * Don't restrict tokens to CKM_RSA_X_509
  * Updated translations from Weblate
- Update to 0.79.18
  * Rename DBus service and conf files to match canonical name
  * Add missing .TP tags in getcert-resubmit man page
  * migrated to SPDX license
  * Include owner and perms in getcert list output
  * Don't require an NSS database in cm_certread_n_parse
  * Add new certs to internal token, try harder to remove on renewal
- Update to 0.79.17
  * Respect LDFLAGS settings defined by user
  * Switch to CA user when saving NSS certificates
  * Translated using Weblate (German)
  * Translated using Weblate (Georgian)
- Update to 0.79.16
  * Add a PEM validity checker and validate SCEP CA files
  * Fix implicit declaration of function ‘PEM_read_bio_X509’
  * Don't include "NEW" in certificate signing requests
  * Verify that the AES-128 is used for encrypting the local CA
  * Replace DER-encoded test file with a base64-encoded one
  * Correct a bad date in the spec changelog
  * Switch to https URLs for Sources, etc.
  * Remove dependency on SHA-1
  * tests: Test that the CA constraint DER encoding is correct
  * Disable DSA in the RPM spec
  * Manually build the srpm for the copr CI
  * Require jansson &gt;= 2.12
  * Mark the current directory as a safe git directory
  * Fix usage of PKCS#7 ASN1 attribute retrieval for SCEP keygen
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Georgian)
  * Translated using Weblate (Indonesian)
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Hungarian)
- Removed 0001-Disable-DSA-in-the-RPM-spec.patch
- Added 0001-Update-tests-to-be-compatible-with-OpenSSL-3.2.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1710763200">- HMAC build requires changes (these requires are missing in SLE).</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1717156800">- Add certmonger-c99-01.patch and certmonger-c99-02.patch in order to
  make the package buildable with GCC 14.  Patches originally by
  Florian Weimer and from
  https://pagure.io/certmonger/pull-request/265  [boo#1221683]</changelog>
</package>
<package pkgid="1e12f64ca3be0f0324b0602dc7c9da4cce423a15d03e9d9448079f19a17c8574106d1668d9aef0098671d8581dbcadaecca452e4b5972406c17edde0f53db7ca" name="certmonger-debuginfo" arch="i586">
  <version epoch="0" ver="0.79.19" rel="4.1"/>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1598875200">- update to 0.79.11:
  - Fix crash bug when generating thumbprints
  - dogtag: use POST for profileProcess requests
  - Improve logging in SCEP helper
  - Add verbose option to SCEP CA if requested in add-scep-ca
  - Re-order the way the SCEP signing and CA certs are collected
  - Add new option to allow overriding the detected SCEP CA chain
  - template_profile, issuer and MS certificate template are single-value
  - Ensure that files read in have a trailing new-line
  - Adapt to the new behavior of disconnect in dbus-broker
  - Add long command-line options to CLI and man pages
  - Include &amp;message=CA-IDENT with GetCACaps and GetCACert requests
  - Address issues uncovered by clang and Coverity
  - Handle an uninitialized token when adding CA certs to an NSS db
  - tests: Parametrize 025-casave with NSS db types</changelog>
  <changelog author="Sasi Olin &lt;hel@lcp.world&gt;" date="1614513600">- Update to 0.79.13</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1627300800">- Add buildrequires on systemd which is required for correct installation
  of the .service file.</changelog>
  <changelog author="Neal Gompa &lt;ngompa13@gmail.com&gt;" date="1627300801">- Use "pkgconfig(systemd)" for the BR to allow hacksaw systemd-mini
  package to satisfy dependencies in the openSUSE Build Service.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467200">- Updated to version 0.79.15
- Added minimum libjansson version requirement.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467201">- Added 0001-Disable-DSA-in-the-RPM-spec.patch
- Removed 0002-certmonger-return-type.patch.</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1697025600">- dbus-daemon is now split out into a separate package.</changelog>
  <changelog author="Otto Hollmann &lt;otto.hollmann@suse.com&gt;" date="1702468800">- Update to 0.79.19
  * getcert: add-scep-ca: fix help for --ca-cert and --ra-cert
  * Don't restrict tokens to CKM_RSA_X_509
  * Updated translations from Weblate
- Update to 0.79.18
  * Rename DBus service and conf files to match canonical name
  * Add missing .TP tags in getcert-resubmit man page
  * migrated to SPDX license
  * Include owner and perms in getcert list output
  * Don't require an NSS database in cm_certread_n_parse
  * Add new certs to internal token, try harder to remove on renewal
- Update to 0.79.17
  * Respect LDFLAGS settings defined by user
  * Switch to CA user when saving NSS certificates
  * Translated using Weblate (German)
  * Translated using Weblate (Georgian)
- Update to 0.79.16
  * Add a PEM validity checker and validate SCEP CA files
  * Fix implicit declaration of function ‘PEM_read_bio_X509’
  * Don't include "NEW" in certificate signing requests
  * Verify that the AES-128 is used for encrypting the local CA
  * Replace DER-encoded test file with a base64-encoded one
  * Correct a bad date in the spec changelog
  * Switch to https URLs for Sources, etc.
  * Remove dependency on SHA-1
  * tests: Test that the CA constraint DER encoding is correct
  * Disable DSA in the RPM spec
  * Manually build the srpm for the copr CI
  * Require jansson &gt;= 2.12
  * Mark the current directory as a safe git directory
  * Fix usage of PKCS#7 ASN1 attribute retrieval for SCEP keygen
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Georgian)
  * Translated using Weblate (Indonesian)
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Hungarian)
- Removed 0001-Disable-DSA-in-the-RPM-spec.patch
- Added 0001-Update-tests-to-be-compatible-with-OpenSSL-3.2.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1710763200">- HMAC build requires changes (these requires are missing in SLE).</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1717156800">- Add certmonger-c99-01.patch and certmonger-c99-02.patch in order to
  make the package buildable with GCC 14.  Patches originally by
  Florian Weimer and from
  https://pagure.io/certmonger/pull-request/265  [boo#1221683]</changelog>
</package>
<package pkgid="3233d7447a938e7daf8b1da9dc0bf4dd3eb069023325e416cbdc2ff3914e17ea1814a0d040ae3cd35a7577925fadcd5057950d41eb578b765de23de3a4e5ea95" name="certmonger-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.79.19" rel="4.1"/>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1598875200">- update to 0.79.11:
  - Fix crash bug when generating thumbprints
  - dogtag: use POST for profileProcess requests
  - Improve logging in SCEP helper
  - Add verbose option to SCEP CA if requested in add-scep-ca
  - Re-order the way the SCEP signing and CA certs are collected
  - Add new option to allow overriding the detected SCEP CA chain
  - template_profile, issuer and MS certificate template are single-value
  - Ensure that files read in have a trailing new-line
  - Adapt to the new behavior of disconnect in dbus-broker
  - Add long command-line options to CLI and man pages
  - Include &amp;message=CA-IDENT with GetCACaps and GetCACert requests
  - Address issues uncovered by clang and Coverity
  - Handle an uninitialized token when adding CA certs to an NSS db
  - tests: Parametrize 025-casave with NSS db types</changelog>
  <changelog author="Sasi Olin &lt;hel@lcp.world&gt;" date="1614513600">- Update to 0.79.13</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1627300800">- Add buildrequires on systemd which is required for correct installation
  of the .service file.</changelog>
  <changelog author="Neal Gompa &lt;ngompa13@gmail.com&gt;" date="1627300801">- Use "pkgconfig(systemd)" for the BR to allow hacksaw systemd-mini
  package to satisfy dependencies in the openSUSE Build Service.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467200">- Updated to version 0.79.15
- Added minimum libjansson version requirement.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467201">- Added 0001-Disable-DSA-in-the-RPM-spec.patch
- Removed 0002-certmonger-return-type.patch.</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1697025600">- dbus-daemon is now split out into a separate package.</changelog>
  <changelog author="Otto Hollmann &lt;otto.hollmann@suse.com&gt;" date="1702468800">- Update to 0.79.19
  * getcert: add-scep-ca: fix help for --ca-cert and --ra-cert
  * Don't restrict tokens to CKM_RSA_X_509
  * Updated translations from Weblate
- Update to 0.79.18
  * Rename DBus service and conf files to match canonical name
  * Add missing .TP tags in getcert-resubmit man page
  * migrated to SPDX license
  * Include owner and perms in getcert list output
  * Don't require an NSS database in cm_certread_n_parse
  * Add new certs to internal token, try harder to remove on renewal
- Update to 0.79.17
  * Respect LDFLAGS settings defined by user
  * Switch to CA user when saving NSS certificates
  * Translated using Weblate (German)
  * Translated using Weblate (Georgian)
- Update to 0.79.16
  * Add a PEM validity checker and validate SCEP CA files
  * Fix implicit declaration of function ‘PEM_read_bio_X509’
  * Don't include "NEW" in certificate signing requests
  * Verify that the AES-128 is used for encrypting the local CA
  * Replace DER-encoded test file with a base64-encoded one
  * Correct a bad date in the spec changelog
  * Switch to https URLs for Sources, etc.
  * Remove dependency on SHA-1
  * tests: Test that the CA constraint DER encoding is correct
  * Disable DSA in the RPM spec
  * Manually build the srpm for the copr CI
  * Require jansson &gt;= 2.12
  * Mark the current directory as a safe git directory
  * Fix usage of PKCS#7 ASN1 attribute retrieval for SCEP keygen
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Georgian)
  * Translated using Weblate (Indonesian)
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Hungarian)
- Removed 0001-Disable-DSA-in-the-RPM-spec.patch
- Added 0001-Update-tests-to-be-compatible-with-OpenSSL-3.2.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1710763200">- HMAC build requires changes (these requires are missing in SLE).</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1717156800">- Add certmonger-c99-01.patch and certmonger-c99-02.patch in order to
  make the package buildable with GCC 14.  Patches originally by
  Florian Weimer and from
  https://pagure.io/certmonger/pull-request/265  [boo#1221683]</changelog>
</package>
<package pkgid="26108de84f3911477d76a0b210057bb13d1fdcaa82dee238d8f88afd50902970705b214731085645e85fc132468a3321080a9893fbb32c85026c48d970d23f31" name="certmonger-debugsource" arch="i586">
  <version epoch="0" ver="0.79.19" rel="4.1"/>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1598875200">- update to 0.79.11:
  - Fix crash bug when generating thumbprints
  - dogtag: use POST for profileProcess requests
  - Improve logging in SCEP helper
  - Add verbose option to SCEP CA if requested in add-scep-ca
  - Re-order the way the SCEP signing and CA certs are collected
  - Add new option to allow overriding the detected SCEP CA chain
  - template_profile, issuer and MS certificate template are single-value
  - Ensure that files read in have a trailing new-line
  - Adapt to the new behavior of disconnect in dbus-broker
  - Add long command-line options to CLI and man pages
  - Include &amp;message=CA-IDENT with GetCACaps and GetCACert requests
  - Address issues uncovered by clang and Coverity
  - Handle an uninitialized token when adding CA certs to an NSS db
  - tests: Parametrize 025-casave with NSS db types</changelog>
  <changelog author="Sasi Olin &lt;hel@lcp.world&gt;" date="1614513600">- Update to 0.79.13</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1627300800">- Add buildrequires on systemd which is required for correct installation
  of the .service file.</changelog>
  <changelog author="Neal Gompa &lt;ngompa13@gmail.com&gt;" date="1627300801">- Use "pkgconfig(systemd)" for the BR to allow hacksaw systemd-mini
  package to satisfy dependencies in the openSUSE Build Service.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467200">- Updated to version 0.79.15
- Added minimum libjansson version requirement.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467201">- Added 0001-Disable-DSA-in-the-RPM-spec.patch
- Removed 0002-certmonger-return-type.patch.</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1697025600">- dbus-daemon is now split out into a separate package.</changelog>
  <changelog author="Otto Hollmann &lt;otto.hollmann@suse.com&gt;" date="1702468800">- Update to 0.79.19
  * getcert: add-scep-ca: fix help for --ca-cert and --ra-cert
  * Don't restrict tokens to CKM_RSA_X_509
  * Updated translations from Weblate
- Update to 0.79.18
  * Rename DBus service and conf files to match canonical name
  * Add missing .TP tags in getcert-resubmit man page
  * migrated to SPDX license
  * Include owner and perms in getcert list output
  * Don't require an NSS database in cm_certread_n_parse
  * Add new certs to internal token, try harder to remove on renewal
- Update to 0.79.17
  * Respect LDFLAGS settings defined by user
  * Switch to CA user when saving NSS certificates
  * Translated using Weblate (German)
  * Translated using Weblate (Georgian)
- Update to 0.79.16
  * Add a PEM validity checker and validate SCEP CA files
  * Fix implicit declaration of function ‘PEM_read_bio_X509’
  * Don't include "NEW" in certificate signing requests
  * Verify that the AES-128 is used for encrypting the local CA
  * Replace DER-encoded test file with a base64-encoded one
  * Correct a bad date in the spec changelog
  * Switch to https URLs for Sources, etc.
  * Remove dependency on SHA-1
  * tests: Test that the CA constraint DER encoding is correct
  * Disable DSA in the RPM spec
  * Manually build the srpm for the copr CI
  * Require jansson &gt;= 2.12
  * Mark the current directory as a safe git directory
  * Fix usage of PKCS#7 ASN1 attribute retrieval for SCEP keygen
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Georgian)
  * Translated using Weblate (Indonesian)
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Hungarian)
- Removed 0001-Disable-DSA-in-the-RPM-spec.patch
- Added 0001-Update-tests-to-be-compatible-with-OpenSSL-3.2.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1710763200">- HMAC build requires changes (these requires are missing in SLE).</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1717156800">- Add certmonger-c99-01.patch and certmonger-c99-02.patch in order to
  make the package buildable with GCC 14.  Patches originally by
  Florian Weimer and from
  https://pagure.io/certmonger/pull-request/265  [boo#1221683]</changelog>
</package>
<package pkgid="f808fd9e18424c731a99a63018042d03837120d1b56b4966967bb5eb80dceac43e8f52094beb31adb07029630d935cf082f38542d57fbb23f796f08c2d9d9e35" name="certmonger-debugsource" arch="x86_64">
  <version epoch="0" ver="0.79.19" rel="4.1"/>
  <changelog author="Dirk Mueller &lt;dmueller@suse.com&gt;" date="1598875200">- update to 0.79.11:
  - Fix crash bug when generating thumbprints
  - dogtag: use POST for profileProcess requests
  - Improve logging in SCEP helper
  - Add verbose option to SCEP CA if requested in add-scep-ca
  - Re-order the way the SCEP signing and CA certs are collected
  - Add new option to allow overriding the detected SCEP CA chain
  - template_profile, issuer and MS certificate template are single-value
  - Ensure that files read in have a trailing new-line
  - Adapt to the new behavior of disconnect in dbus-broker
  - Add long command-line options to CLI and man pages
  - Include &amp;message=CA-IDENT with GetCACaps and GetCACert requests
  - Address issues uncovered by clang and Coverity
  - Handle an uninitialized token when adding CA certs to an NSS db
  - tests: Parametrize 025-casave with NSS db types</changelog>
  <changelog author="Sasi Olin &lt;hel@lcp.world&gt;" date="1614513600">- Update to 0.79.13</changelog>
  <changelog author="William Brown &lt;william.brown@suse.com&gt;" date="1627300800">- Add buildrequires on systemd which is required for correct installation
  of the .service file.</changelog>
  <changelog author="Neal Gompa &lt;ngompa13@gmail.com&gt;" date="1627300801">- Use "pkgconfig(systemd)" for the BR to allow hacksaw systemd-mini
  package to satisfy dependencies in the openSUSE Build Service.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467200">- Updated to version 0.79.15
- Added minimum libjansson version requirement.</changelog>
  <changelog author="Matthew Davis &lt;novell@virtual.drop.net&gt;" date="1655467201">- Added 0001-Disable-DSA-in-the-RPM-spec.patch
- Removed 0002-certmonger-return-type.patch.</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1697025600">- dbus-daemon is now split out into a separate package.</changelog>
  <changelog author="Otto Hollmann &lt;otto.hollmann@suse.com&gt;" date="1702468800">- Update to 0.79.19
  * getcert: add-scep-ca: fix help for --ca-cert and --ra-cert
  * Don't restrict tokens to CKM_RSA_X_509
  * Updated translations from Weblate
- Update to 0.79.18
  * Rename DBus service and conf files to match canonical name
  * Add missing .TP tags in getcert-resubmit man page
  * migrated to SPDX license
  * Include owner and perms in getcert list output
  * Don't require an NSS database in cm_certread_n_parse
  * Add new certs to internal token, try harder to remove on renewal
- Update to 0.79.17
  * Respect LDFLAGS settings defined by user
  * Switch to CA user when saving NSS certificates
  * Translated using Weblate (German)
  * Translated using Weblate (Georgian)
- Update to 0.79.16
  * Add a PEM validity checker and validate SCEP CA files
  * Fix implicit declaration of function ‘PEM_read_bio_X509’
  * Don't include "NEW" in certificate signing requests
  * Verify that the AES-128 is used for encrypting the local CA
  * Replace DER-encoded test file with a base64-encoded one
  * Correct a bad date in the spec changelog
  * Switch to https URLs for Sources, etc.
  * Remove dependency on SHA-1
  * tests: Test that the CA constraint DER encoding is correct
  * Disable DSA in the RPM spec
  * Manually build the srpm for the copr CI
  * Require jansson &gt;= 2.12
  * Mark the current directory as a safe git directory
  * Fix usage of PKCS#7 ASN1 attribute retrieval for SCEP keygen
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Georgian)
  * Translated using Weblate (Indonesian)
  * Translated using Weblate (Chinese (Simplified) (zh_CN))
  * Translated using Weblate (Hungarian)
- Removed 0001-Disable-DSA-in-the-RPM-spec.patch
- Added 0001-Update-tests-to-be-compatible-with-OpenSSL-3.2.patch</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1710763200">- HMAC build requires changes (these requires are missing in SLE).</changelog>
  <changelog author="Martin Jambor &lt;mjambor@suse.com&gt;" date="1717156800">- Add certmonger-c99-01.patch and certmonger-c99-02.patch in order to
  make the package buildable with GCC 14.  Patches originally by
  Florian Weimer and from
  https://pagure.io/certmonger/pull-request/265  [boo#1221683]</changelog>
</package>
<package pkgid="6935de777bfe669d3b28814b7b3d3dbc6e6912d2f02124de23b4cd29c87a86a96edc2935e6248fe48b847318048b6c507b1c4c9a7642dddee5137c1b14f14556" name="cervisia" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Prepare qt6 build system
  * Add CMakePresets.json support</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="061533898c05b43dff02ebbe4adb34f9a8a1135829f2faa7d2462ed817b2544ce667fe94e71e8df329f0e650f1d719b7b35421a3044d5c7c1fe2e40a8c188623" name="cervisia" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Prepare qt6 build system
  * Add CMakePresets.json support</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="3b8ce44f518e74cc9186afe3d38deae132b05be05d47bed581609537b46a03ac0e7d6d9ebbe118e892b98ea2ae7c5f0e2469718c03cf5b7fc3147568258749a4" name="cervisia-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Prepare qt6 build system
  * Add CMakePresets.json support</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="c9d7f2b91fea641efa9af953f0c950d3d2e7d62afa6df664f99f4273aa8ff18c9f59292cdb44709604b26195a6c4c7e2463af20069210b43823d91fd6a8e4234" name="cervisia-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Prepare qt6 build system
  * Add CMakePresets.json support</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="34d4cd5c65a4b8721ad08245477a128adb1d452ca5243e3d05f6e35714d9f59095e0957f08ace72606b3f3e13f766a700cbebe1abec9af696899b8e4520b817e" name="cervisia-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Prepare qt6 build system
  * Add CMakePresets.json support</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- No code change since 24.01.95</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- No code change since 24.02.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="17c1cf8b29be3030f425bbc134476612e6e8e17c01794a5df2129a6dd199b5d3e93a8b87fd895e1715558d657d608c340387ee603e80c854d57ccd0e34b61ff0" name="chafa" arch="src">
  <version epoch="0" ver="1.14.1" rel="1.1"/>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1566648000">- Update descriptions.
- Avoid double-shipping documentation, and make docs noarch.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1583323200">- Update to 1.2.2:
  * Fix #34 Cannot compile example</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1585828800">- Update to 1.4.0:
  * Added sixel graphics support. Chafa will automatically produce sixels
    if the connected terminal supports it. It can also be forced using the
    new -f or --format flag. This is a new implementation written from the
    ground up to maximize throughput.
  * Added the --glyph-file option, which loads glyph-symbol mappings from
    any file format supported by FreeType (TTF, PCF, etc). This allows for
    custom font support and improved symbol selection.
  * Added the --speed option specifying animation speed. It accepts a
    unitless multiplier, a specific number of frames per second, or max
    for maximum throughput.
  * There are now two ways to assign colors to symbol cells. Formerly,
    this was done based on the average color of the covered area. The new
    default is to use the median color, which produces sharper edges,
    but is slightly more prone to high-frequency noise. The new option
  - -color-extractor selects the method to employ.
  * When displaying multiple files, the default delay between files has
    been changed from three seconds to zero. Animations will still play
    through once. This can be overridden on the chafa command line with -d
    or --duration.
  * Minor tweaks to built-in symbols.
  Performance improvements:
  * Halved pixel storage requirements from 64 bits to 32 bits,
    resulting in significant memory savings.
  * Now builds with -ffast-math, yielding a big speedup for DIN99d.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1586692800">- Update to 1.4.1:
  * Added configure option --disable-rpath. This allows packagers to
    prevent the hard-coded library search path from being embedded in
    the chafa command-line tool (Mo Zhou, #39).
  * Added defaults for the yaft terminal.
  Bug fixes:
  * #40 - Fails to build on hurd-i386 + other i386 (reported by Mo
    Zhou).
  * [unfiled] - Rare failed assert with mostly transparent sixel image
    (reported by Reddit user spryfigure).
  * [unfiled] - Minor typo in function docstring.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1610712000">- Update to 1.6.0:
  * Added support for fullwidth symbols that take up two character
    cells. These are common in East Asian scripts. Single-cell and
    double-cell symbols can be mixed, and -f symbols mode will use
    both if possible.
  * New symbol tags: alpha, digit, alnum, narrow, wide, ambiguous,
    ugly, bad. "Ambiguous" symbols have uncertain widths and may
    render poorly in some terminals. "Ugly" denotes symbols that
    are unsuitable for Chafa's cell-based graphics (multicolor
    emoji, ideographic descriptors, etc). "Bad" is a superset of
    these two categories. Bad symbols are always excluded unless
    explicitly enabled with e.g. CHAFA_SYMBOL_TAG_BAD (--symbols
    +bad in the frontend).
  * The font loader (--glyph-file option) now does a better job
    with proportional fonts.
  * Added options for controlling lossless optimization of output.
    Currently, attribute reuse and character repetition (REP
    sequence) are implemented.
  * Added -O option to the frontend. This controls the optimization
    level.
  * Added a simple abstraction layer for terminal control sequences
    (ChafaTermInfo and ChafaTermDb). This allows for improved
    terminal support.
  * FbTerm is now supported with TERM=fbterm in the environment.
  * Bug fixes:
  - #43 Fix signal handler.
  - [unfiled] Crash when invalid font paths were passed on command line.
  - [unfiled] Small typo in fontgen's READM).
  - [unfiled] Bad contrast adjustment in images with transparency.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1623067200">- Update to 1.6.1:
  * Add NOCONFIGURE variable to autogen.sh to skip configure
  Bug fixes:
  * #50 SIGBUS while loading huge GIFs
  * #52 Produces small glitches in output with some images
  * #54 Haiku port fails on 32bit
  * [unfiled] Exclude RTL code points that could break the output.
  * [unfiled] Apple Terminal lacks truecolor support, so make it
    default to 256 colors
  * [unfiled] Fix typo affecting middle dot symbol.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1630497600">- Update to 1.8.0:
  * Added basic support for the Kitty and iTerm2 graphics protocols.
    These are enabled automatically when corresponding terminal support
    is detected, or manually with -f kitty or -f iterm.
  * Implemented an 8-color mode, selectable with -c 8
  * Implemented a foreground-only switch, --fg-only. This produces
    character art using foreground colors only, and will avoid
    modifying or resetting the background color. Looks best with
    non-contiguous symbols (e.g. ascii).
  * Added builtins for Japanese kana fullwidth symbols. These can
    now be used without loading any external fonts (try -c none --symbols wide).
  * Added builtins for legacy computer symbols (mainly wedges and
    sextant blocks). These were widely used in PETSCII and Teletext,
    and can be enabled using --symbols or --fill with their respective
    tags: legacy, wedge and sextant (@hodefoting).
  * Since there is a growing number of builtin symbols that may not
    be available everywhere, the default selection has been restricted
    to the widely supported block and border sets.
  * If possible, we now select a visually blank character from the
    specified symbol/fill sets instead of hardcoding ASCII space for
    featureless cells. One practical upshot of this is that the constant-width
    braille range can be used to produce consistent images even in contexts
    with variable-width fonts. U+2800 (BRAILLE PATTERN BLANK) will then be used in blank cells.
  * Improved terminal size detection when used with pipelines and redirection.
    This should now produce an image properly sized for your terminal:
    curl https://i.imgur.com/WFDEFVg.jpeg | chafa - | tee out
  * ChafaCanvas gained API functions for programmatically getting and
    setting character cell contents. These are used in a new example
    in tests/ncurses.c demonstrating ncurses integration.
  * Made --disable-rpath the default in order to simplify packaging.
  * Added a HACKING file featuring a much needed release checklist.
  * Improved terminal support:
    + Ctx will now use optimizing REP sequences at high -O levels.
    + foot now defaults to sixels.
    + iTerm2 now defaults to the iTerm2 protocol.
    + Kitty now defaults to the Kitty protocol.
    + st now defaults to truecolor symbols.
  * Bug fixes:
    + #44 Missing error handling on stdout writes.
    + [unfiled] Solid symbols erroneously replaced by fill in FGBG mode.
    + [unfiled] Integer formatter was not using fast path for 8-bit values.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1647864000">- Update to 0.10.0:
  * New option: --animate &lt;bool&gt;. On by default. Can be turned off
    to replace animations with a still frame #79.
  * New option: --center &lt;bool&gt; or -C &lt;bool&gt;. Off by default. Can
    be turned on to center images #83.
  * New options: --margin-bottom &lt;n&gt; and --margin-right &lt;n&gt;. These
    permit using all available space (with --margin-bottom 0) or some
    smaller amount #61.
  * New option: --polite &lt;bool&gt;. On by default. Can be turned off to
    correct issues caused by previous terminal state (e.g. no sixel scrolling)
    and improve presentation (e.g. by temporarily hiding the cursor). This can
    leave the terminal in an altered state, which is somewhat rude.
  * New option: --threads &lt;n&gt;. Allows manually specifying the number of threads to
    use. Defaults to one per detected logical CPU core.
  * When invoked with redirected input and no arguments, act like a
    filter as if invoked with -.
  * If input or output is being redirected, default to playing animations only once
    instead of looping forever. This can be overridden with -d inf.
  * Replaced obsolete Autoconf macros.
  * Improved image loaders:
    + GIF: Load GIF87a images as well as GIF89a.
    + PNG: Add an internal copy of LodePNG, bypassing ImageMagick.
    This improves performance and helps with eventually phasing out the latter.
    + XWD: Support images generated by convert.
  * Improved terminal support:
    + Contour: Enable sixel support.
    + foot: Open-ended TERM string matching.
    + Konsole: Enable sixel support.
    + WezTerm: Enable sixel support.
  * Bug fixes:
    + #76 Smolscale uses too much stack space.
    + #81 Chafa --version is returned to stderr, not stdout.
    + [unfiled] Potential memory overrun when using Floyd-Steinberg dithering
    in symbols mode.
    + [unfiled] iTerm2 compatibility issue with WezTerm and possi</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1649073600">- Update to 0.10.1:
  * #87 Garbled last row of pixels on some images
  * [unfiled] Correctly label new functions since 1.10</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1650888000">- Update to 1.10.2:
  * Added disclosure guidelines in SECURITY.md
  * Fix huntr.dev: Null pointer dereference in libnsgif with crafted GIF file
  * [unfiled] File magic would not effectively rule out internal loaders.
  * [unfiled] Very big images could cause absurd allocation requests
    triggering an abort in the loader.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1651752000">- Update to 1.10.3:
  * Improved input validation in the XWD loader.
  * huntr.dev: Buffer over-read when compiled with -O0 or non-x86 target</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1654516800">- Update to 1.12.0:
  * The ImageMagick dependency is now optional and deprecated.
    Packagers are encouraged to drop the ImageMagick dependency (--without-imagemagick)
    and add direct dependencies on relevant image codecs.
    ImageMagick support will be removed in a future release.
  * Added image loaders for the following formats: JPEG, SVG, TIFF, WebP.
    Like the existing GIF, PNG and XWD loaders, these are much faster and
    generally safer than their ImageMagick counterparts. If ImageMagick is
    enabled, it will be used as a fallback. Supported image loaders will
    be listed in the --version output.
  * Implemented a 16/8 mode producing 8 colors and an additional 8 bright
    foreground-only colors for a total of 16 foreground and 8 background colors.
    When using ANSI escape sequences in symbol mode, the sequence for bold
    text is used to enable bright colors. This scheme corresponds to that of
    the IBM PC's VGA hardware text modes and was popular with terminal
    emulators in the late 1980s to early 2000s.
    With a few tweaks, output from this mode can be turned into ANSI art scene
    .ANS files compatible with utilities like the wonderful Ansilove[2], e.g:
    $ chafa -f symbols -c 16/8 -s 80 --symbols space+solid+half --fill stipple \
    in.jpg | tr -d '\n' | iconv -c -f utf8 -t cp437 &gt; out.ans
    $ ansilove out.ans -o out.png
  * New builtin Latin symbols (available with --symbols latin). This class
    comprises most of the symbols from the Latin-1 Supplement, Latin Extended-A
    and -B, IPA Extensions and Spacing Modifier Letters plus a few Latin-like
    symbols from other ranges, using Terminus as the reference font.
    The ASCII class is also a subset of this class.
  * Reworked ASCII symbols to be more representative of modern terminal fonts.
    As with the other Latin ranges, the reference font is now Terminus.
  * New option: --scale &lt;n&gt;. This takes a real number specifying the on-screen
    scaling factor relative to the input's pixel size, respecting the terminal
    size. The special argument 'max' will fit the output to the terminal.
    The defaults are 1.0 for iTerm, Kitty and sixels, and 4.0 for symbols. #84
  * Deprecated option: --zoom. Use --scale max instead.
  * Added a battery of simple tests that can be run with make check.
  * Made configure friendlier. It's now more lenient with dependencies, and the
    summary is more detailed and colorized if possible.
  * Bug fixes:
  - #62 Too big alloc on bogus terminal dimensions
  - huntr.dev: Null pointer dereference caused by calling post_func on unused
    batch entries
  - [unfiled] Small memory leaks when using iTerm and Kitty formats.
  - [unfiled] Wide symbol coverages leaked in symbol map destructor.
  - [unfiled] No error code if files failed to load.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1655726400">- Update to 1.12.1:
  * Increased GLib minimum version to 2.20.
  * Added 12 new test inputs, including bad inputs to handle gracefully.
  * Added a few symbols to API documentation that were accidentally left out.
  * Bug fixes:
    + huntr.dev CVE-2022-2061: Out-of-bounds read in libnsgif's lzw_decode()
    + [unfiled] Undefined behavior in libnsgif due to uninitialized frame fields.
    + [unfiled] Signed integer overflow in chafa_pack_color().
    + [unfiled] Integer overflow in normalization pass on some images.
    + [unfiled] Potential unaligned access with corrupt XWD images.
    + [unfiled] Integer overflow in quantization on some images.
    + [unfiled] Calculating offset from NULL pointer in LodePNG.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936000">- Update to 1.12.2:
  * Made everything compile for the x86_64-w64-mingw32 target using gcc.
  * Added support for the Windows 10 Command Prompt.
  * Improved error reporting.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936001">- Update to 1.12.3:
  * Increased GLib minimum version to 2.26.
  * Enabled a few compiler warnings not included in -Wall -Wextra
    in order to catch more potential issues early. Also started
    using -Werror selectively.
  * Silenced deprecation warnings for older GLib APIs that we
    would like to keep using a bit longer.
  * Fix #96 Regression: Fails to build on Linux/Debian</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1668340800">- Update to 1.12.4:
  * MS Windows: Added support for Unicode command-line arguments.
  * MS Windows: Enabled support for building a DLL.
  * Improved quality of accelerated symbol picking (the default
    with -w 6 and lower), especially along sharp edges.
  * The XWD loader now supports unaligned image data, which can
    occur when the header is of an uneven length. Such images
    will no longer be rejected.
  * Bug fixes:
  - #100[1] Reading image data from stdin fails on Windows
  - #104[3] Artifacts with transparent animations on Kitty
  - #108[5] Bad interaction with lolcat
  - #112[7] Bad documentation for -c default
  - #113[9] Autogen/build fails on CentOS 7 (partial solution)
  - huntr.dev: Uncontrolled memory allocation in lodepng
  - [unfiled] -lm should not be in pkg-config Libs: list
  - [unfiled] The --watch switch was broken with the
    introduction of --animate.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1684756800">- Update to 1.12.5:
  * Fix #123 crash on canvas created with chafa_canvas_new_similar()
  * Fix #141 distortion when rowstride is not a multiple of 4
  * Fix missing comma in --help output</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1704715200">- Update to 1.14.0:
  * Removed ImageMagick loader support. Packagers can now remove
    this dependency
  * Polite mode is now off by default. The new default eliminates
    cursor flicker and makes the output more robust against unusual
    terminal settings. The old behavior can be restored with
  - -polite on.
  * Added image loaders for the AVIF and QOI formats.
  * sRGB gamma is now handled correctly in scaling operations.
  * New option: --passthrough=&lt;auto|none|screen|tmux&gt;. This allows
    passing graphics protocols like Sixels, iTerm and Kitty through
    a terminal multiplexer. It will be enabled automatically for
    Kitty, and can be enabled manually for other protocols with
    more limited support
  * New option: --view-size=&lt;WxH&gt;. Specifies width and height of
    the viewport, overriding the detected terminal size
  * New option: --fit-width. Fits images to the width of the
    viewport, allowing them to be taller than the viewport's height
  * New option: --relative=&lt;bool&gt;. Enables relative cursor
    positioning. Useful if you've pre-positioned the cursor at a
    particular offset where you want frames to appear, but tends to
    make the output illegible in pagers, e.g. less -R
  * New option: --exact-size=&lt;auto|on|off&gt;. Preserves the input
    pixel size when possible. Useful to avoid artifacts caused
    by resampling
  * New symbol selector: imported. This selects glyphs loaded with
  - -glyph-file
  * Fontgen: Added a BDF font writer
  * Fontgen: Cleanup and modernization
  * The help text and manual page were overhauled for readability,
    and the API documentation now includes symbol indexes by version
    and deprecation status.
  * Added a zsh completion script
  * Fix "unknown file format" when using AVIF on stdin
  * Fix broken linking with libwebp-1.3.1
  * Fix make check with --without-tools
  * Fix --duration not working well with still images
  * Fix sixel rendering of animations
  * Fix operator precedence in geometry calculation</changelog>
  <changelog author="pallas wept &lt;pallaswept@proton.me&gt;" date="1716292800">- Enable optional image formats
  * jpeg
  * svg
  * tiff
  * webp</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1718712000">- Update to 1.14.1:
  * A JPEG XL (.jxl) loader was added using libjxl (#188).
  * Added detection of the Eat "Emulate a Terminal" Emacs terminal.
  * Symbols mode was sped up significantly on AVX2-capable platforms.
  * Tests: A new test driver was added. It will log the specifics
    of any failures, which aids debugging of CI builds.
  * Bug fixes:
    [#189] Fix installation of zsh completions.
    [#190] Fix a small memory leak in ChafaCanvas.
    [#192] Wrong sixel padding in some circumstances.
    [#195] tmux passthrough enabled when already set.
    [#196] iTerm mode not enabled automatically.</changelog>
</package>
<package pkgid="8a432500fef57a9ac9f893c07f20bcc1dab697575bfe176a11eec879c66398bee3505bd84b3611d2917399b67d0f2efe4bc498113f2a4b3ef8b66aab222451fe" name="chafa" arch="x86_64">
  <version epoch="0" ver="1.14.1" rel="1.1"/>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1610712000">- Update to 1.6.0:
  * Added support for fullwidth symbols that take up two character
    cells. These are common in East Asian scripts. Single-cell and
    double-cell symbols can be mixed, and -f symbols mode will use
    both if possible.
  * New symbol tags: alpha, digit, alnum, narrow, wide, ambiguous,
    ugly, bad. "Ambiguous" symbols have uncertain widths and may
    render poorly in some terminals. "Ugly" denotes symbols that
    are unsuitable for Chafa's cell-based graphics (multicolor
    emoji, ideographic descriptors, etc). "Bad" is a superset of
    these two categories. Bad symbols are always excluded unless
    explicitly enabled with e.g. CHAFA_SYMBOL_TAG_BAD (--symbols
    +bad in the frontend).
  * The font loader (--glyph-file option) now does a better job
    with proportional fonts.
  * Added options for controlling lossless optimization of output.
    Currently, attribute reuse and character repetition (REP
    sequence) are implemented.
  * Added -O option to the frontend. This controls the optimization
    level.
  * Added a simple abstraction layer for terminal control sequences
    (ChafaTermInfo and ChafaTermDb). This allows for improved
    terminal support.
  * FbTerm is now supported with TERM=fbterm in the environment.
  * Bug fixes:
  - #43 Fix signal handler.
  - [unfiled] Crash when invalid font paths were passed on command line.
  - [unfiled] Small typo in fontgen's READM).
  - [unfiled] Bad contrast adjustment in images with transparency.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1623067200">- Update to 1.6.1:
  * Add NOCONFIGURE variable to autogen.sh to skip configure
  Bug fixes:
  * #50 SIGBUS while loading huge GIFs
  * #52 Produces small glitches in output with some images
  * #54 Haiku port fails on 32bit
  * [unfiled] Exclude RTL code points that could break the output.
  * [unfiled] Apple Terminal lacks truecolor support, so make it
    default to 256 colors
  * [unfiled] Fix typo affecting middle dot symbol.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1630497600">- Update to 1.8.0:
  * Added basic support for the Kitty and iTerm2 graphics protocols.
    These are enabled automatically when corresponding terminal support
    is detected, or manually with -f kitty or -f iterm.
  * Implemented an 8-color mode, selectable with -c 8
  * Implemented a foreground-only switch, --fg-only. This produces
    character art using foreground colors only, and will avoid
    modifying or resetting the background color. Looks best with
    non-contiguous symbols (e.g. ascii).
  * Added builtins for Japanese kana fullwidth symbols. These can
    now be used without loading any external fonts (try -c none --symbols wide).
  * Added builtins for legacy computer symbols (mainly wedges and
    sextant blocks). These were widely used in PETSCII and Teletext,
    and can be enabled using --symbols or --fill with their respective
    tags: legacy, wedge and sextant (@hodefoting).
  * Since there is a growing number of builtin symbols that may not
    be available everywhere, the default selection has been restricted
    to the widely supported block and border sets.
  * If possible, we now select a visually blank character from the
    specified symbol/fill sets instead of hardcoding ASCII space for
    featureless cells. One practical upshot of this is that the constant-width
    braille range can be used to produce consistent images even in contexts
    with variable-width fonts. U+2800 (BRAILLE PATTERN BLANK) will then be used in blank cells.
  * Improved terminal size detection when used with pipelines and redirection.
    This should now produce an image properly sized for your terminal:
    curl https://i.imgur.com/WFDEFVg.jpeg | chafa - | tee out
  * ChafaCanvas gained API functions for programmatically getting and
    setting character cell contents. These are used in a new example
    in tests/ncurses.c demonstrating ncurses integration.
  * Made --disable-rpath the default in order to simplify packaging.
  * Added a HACKING file featuring a much needed release checklist.
  * Improved terminal support:
    + Ctx will now use optimizing REP sequences at high -O levels.
    + foot now defaults to sixels.
    + iTerm2 now defaults to the iTerm2 protocol.
    + Kitty now defaults to the Kitty protocol.
    + st now defaults to truecolor symbols.
  * Bug fixes:
    + #44 Missing error handling on stdout writes.
    + [unfiled] Solid symbols erroneously replaced by fill in FGBG mode.
    + [unfiled] Integer formatter was not using fast path for 8-bit values.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1647864000">- Update to 0.10.0:
  * New option: --animate &lt;bool&gt;. On by default. Can be turned off
    to replace animations with a still frame #79.
  * New option: --center &lt;bool&gt; or -C &lt;bool&gt;. Off by default. Can
    be turned on to center images #83.
  * New options: --margin-bottom &lt;n&gt; and --margin-right &lt;n&gt;. These
    permit using all available space (with --margin-bottom 0) or some
    smaller amount #61.
  * New option: --polite &lt;bool&gt;. On by default. Can be turned off to
    correct issues caused by previous terminal state (e.g. no sixel scrolling)
    and improve presentation (e.g. by temporarily hiding the cursor). This can
    leave the terminal in an altered state, which is somewhat rude.
  * New option: --threads &lt;n&gt;. Allows manually specifying the number of threads to
    use. Defaults to one per detected logical CPU core.
  * When invoked with redirected input and no arguments, act like a
    filter as if invoked with -.
  * If input or output is being redirected, default to playing animations only once
    instead of looping forever. This can be overridden with -d inf.
  * Replaced obsolete Autoconf macros.
  * Improved image loaders:
    + GIF: Load GIF87a images as well as GIF89a.
    + PNG: Add an internal copy of LodePNG, bypassing ImageMagick.
    This improves performance and helps with eventually phasing out the latter.
    + XWD: Support images generated by convert.
  * Improved terminal support:
    + Contour: Enable sixel support.
    + foot: Open-ended TERM string matching.
    + Konsole: Enable sixel support.
    + WezTerm: Enable sixel support.
  * Bug fixes:
    + #76 Smolscale uses too much stack space.
    + #81 Chafa --version is returned to stderr, not stdout.
    + [unfiled] Potential memory overrun when using Floyd-Steinberg dithering
    in symbols mode.
    + [unfiled] iTerm2 compatibility issue with WezTerm and possi</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1649073600">- Update to 0.10.1:
  * #87 Garbled last row of pixels on some images
  * [unfiled] Correctly label new functions since 1.10</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1650888000">- Update to 1.10.2:
  * Added disclosure guidelines in SECURITY.md
  * Fix huntr.dev: Null pointer dereference in libnsgif with crafted GIF file
  * [unfiled] File magic would not effectively rule out internal loaders.
  * [unfiled] Very big images could cause absurd allocation requests
    triggering an abort in the loader.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1651752000">- Update to 1.10.3:
  * Improved input validation in the XWD loader.
  * huntr.dev: Buffer over-read when compiled with -O0 or non-x86 target</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1654516800">- Update to 1.12.0:
  * The ImageMagick dependency is now optional and deprecated.
    Packagers are encouraged to drop the ImageMagick dependency (--without-imagemagick)
    and add direct dependencies on relevant image codecs.
    ImageMagick support will be removed in a future release.
  * Added image loaders for the following formats: JPEG, SVG, TIFF, WebP.
    Like the existing GIF, PNG and XWD loaders, these are much faster and
    generally safer than their ImageMagick counterparts. If ImageMagick is
    enabled, it will be used as a fallback. Supported image loaders will
    be listed in the --version output.
  * Implemented a 16/8 mode producing 8 colors and an additional 8 bright
    foreground-only colors for a total of 16 foreground and 8 background colors.
    When using ANSI escape sequences in symbol mode, the sequence for bold
    text is used to enable bright colors. This scheme corresponds to that of
    the IBM PC's VGA hardware text modes and was popular with terminal
    emulators in the late 1980s to early 2000s.
    With a few tweaks, output from this mode can be turned into ANSI art scene
    .ANS files compatible with utilities like the wonderful Ansilove[2], e.g:
    $ chafa -f symbols -c 16/8 -s 80 --symbols space+solid+half --fill stipple \
    in.jpg | tr -d '\n' | iconv -c -f utf8 -t cp437 &gt; out.ans
    $ ansilove out.ans -o out.png
  * New builtin Latin symbols (available with --symbols latin). This class
    comprises most of the symbols from the Latin-1 Supplement, Latin Extended-A
    and -B, IPA Extensions and Spacing Modifier Letters plus a few Latin-like
    symbols from other ranges, using Terminus as the reference font.
    The ASCII class is also a subset of this class.
  * Reworked ASCII symbols to be more representative of modern terminal fonts.
    As with the other Latin ranges, the reference font is now Terminus.
  * New option: --scale &lt;n&gt;. This takes a real number specifying the on-screen
    scaling factor relative to the input's pixel size, respecting the terminal
    size. The special argument 'max' will fit the output to the terminal.
    The defaults are 1.0 for iTerm, Kitty and sixels, and 4.0 for symbols. #84
  * Deprecated option: --zoom. Use --scale max instead.
  * Added a battery of simple tests that can be run with make check.
  * Made configure friendlier. It's now more lenient with dependencies, and the
    summary is more detailed and colorized if possible.
  * Bug fixes:
  - #62 Too big alloc on bogus terminal dimensions
  - huntr.dev: Null pointer dereference caused by calling post_func on unused
    batch entries
  - [unfiled] Small memory leaks when using iTerm and Kitty formats.
  - [unfiled] Wide symbol coverages leaked in symbol map destructor.
  - [unfiled] No error code if files failed to load.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1655726400">- Update to 1.12.1:
  * Increased GLib minimum version to 2.20.
  * Added 12 new test inputs, including bad inputs to handle gracefully.
  * Added a few symbols to API documentation that were accidentally left out.
  * Bug fixes:
    + huntr.dev CVE-2022-2061: Out-of-bounds read in libnsgif's lzw_decode()
    + [unfiled] Undefined behavior in libnsgif due to uninitialized frame fields.
    + [unfiled] Signed integer overflow in chafa_pack_color().
    + [unfiled] Integer overflow in normalization pass on some images.
    + [unfiled] Potential unaligned access with corrupt XWD images.
    + [unfiled] Integer overflow in quantization on some images.
    + [unfiled] Calculating offset from NULL pointer in LodePNG.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936000">- Update to 1.12.2:
  * Made everything compile for the x86_64-w64-mingw32 target using gcc.
  * Added support for the Windows 10 Command Prompt.
  * Improved error reporting.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936001">- Update to 1.12.3:
  * Increased GLib minimum version to 2.26.
  * Enabled a few compiler warnings not included in -Wall -Wextra
    in order to catch more potential issues early. Also started
    using -Werror selectively.
  * Silenced deprecation warnings for older GLib APIs that we
    would like to keep using a bit longer.
  * Fix #96 Regression: Fails to build on Linux/Debian</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1668340800">- Update to 1.12.4:
  * MS Windows: Added support for Unicode command-line arguments.
  * MS Windows: Enabled support for building a DLL.
  * Improved quality of accelerated symbol picking (the default
    with -w 6 and lower), especially along sharp edges.
  * The XWD loader now supports unaligned image data, which can
    occur when the header is of an uneven length. Such images
    will no longer be rejected.
  * Bug fixes:
  - #100[1] Reading image data from stdin fails on Windows
  - #104[3] Artifacts with transparent animations on Kitty
  - #108[5] Bad interaction with lolcat
  - #112[7] Bad documentation for -c default
  - #113[9] Autogen/build fails on CentOS 7 (partial solution)
  - huntr.dev: Uncontrolled memory allocation in lodepng
  - [unfiled] -lm should not be in pkg-config Libs: list
  - [unfiled] The --watch switch was broken with the
    introduction of --animate.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1684756800">- Update to 1.12.5:
  * Fix #123 crash on canvas created with chafa_canvas_new_similar()
  * Fix #141 distortion when rowstride is not a multiple of 4
  * Fix missing comma in --help output</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1704715200">- Update to 1.14.0:
  * Removed ImageMagick loader support. Packagers can now remove
    this dependency
  * Polite mode is now off by default. The new default eliminates
    cursor flicker and makes the output more robust against unusual
    terminal settings. The old behavior can be restored with
  - -polite on.
  * Added image loaders for the AVIF and QOI formats.
  * sRGB gamma is now handled correctly in scaling operations.
  * New option: --passthrough=&lt;auto|none|screen|tmux&gt;. This allows
    passing graphics protocols like Sixels, iTerm and Kitty through
    a terminal multiplexer. It will be enabled automatically for
    Kitty, and can be enabled manually for other protocols with
    more limited support
  * New option: --view-size=&lt;WxH&gt;. Specifies width and height of
    the viewport, overriding the detected terminal size
  * New option: --fit-width. Fits images to the width of the
    viewport, allowing them to be taller than the viewport's height
  * New option: --relative=&lt;bool&gt;. Enables relative cursor
    positioning. Useful if you've pre-positioned the cursor at a
    particular offset where you want frames to appear, but tends to
    make the output illegible in pagers, e.g. less -R
  * New option: --exact-size=&lt;auto|on|off&gt;. Preserves the input
    pixel size when possible. Useful to avoid artifacts caused
    by resampling
  * New symbol selector: imported. This selects glyphs loaded with
  - -glyph-file
  * Fontgen: Added a BDF font writer
  * Fontgen: Cleanup and modernization
  * The help text and manual page were overhauled for readability,
    and the API documentation now includes symbol indexes by version
    and deprecation status.
  * Added a zsh completion script
  * Fix "unknown file format" when using AVIF on stdin
  * Fix broken linking with libwebp-1.3.1
  * Fix make check with --without-tools
  * Fix --duration not working well with still images
  * Fix sixel rendering of animations
  * Fix operator precedence in geometry calculation</changelog>
  <changelog author="pallas wept &lt;pallaswept@proton.me&gt;" date="1716292800">- Enable optional image formats
  * jpeg
  * svg
  * tiff
  * webp</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1718712000">- Update to 1.14.1:
  * A JPEG XL (.jxl) loader was added using libjxl (#188).
  * Added detection of the Eat "Emulate a Terminal" Emacs terminal.
  * Symbols mode was sped up significantly on AVX2-capable platforms.
  * Tests: A new test driver was added. It will log the specifics
    of any failures, which aids debugging of CI builds.
  * Bug fixes:
    [#189] Fix installation of zsh completions.
    [#190] Fix a small memory leak in ChafaCanvas.
    [#192] Wrong sixel padding in some circumstances.
    [#195] tmux passthrough enabled when already set.
    [#196] iTerm mode not enabled automatically.</changelog>
</package>
<package pkgid="f92b832e2fdd8ab32cb9181bd93b2d2569bed02ded4991c28f82e6127168974bb57b9003973ed760db7ecaf2a1ba336deedc65cba674a046e04f43be99638bfe" name="chafa-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.14.1" rel="1.1"/>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1610712000">- Update to 1.6.0:
  * Added support for fullwidth symbols that take up two character
    cells. These are common in East Asian scripts. Single-cell and
    double-cell symbols can be mixed, and -f symbols mode will use
    both if possible.
  * New symbol tags: alpha, digit, alnum, narrow, wide, ambiguous,
    ugly, bad. "Ambiguous" symbols have uncertain widths and may
    render poorly in some terminals. "Ugly" denotes symbols that
    are unsuitable for Chafa's cell-based graphics (multicolor
    emoji, ideographic descriptors, etc). "Bad" is a superset of
    these two categories. Bad symbols are always excluded unless
    explicitly enabled with e.g. CHAFA_SYMBOL_TAG_BAD (--symbols
    +bad in the frontend).
  * The font loader (--glyph-file option) now does a better job
    with proportional fonts.
  * Added options for controlling lossless optimization of output.
    Currently, attribute reuse and character repetition (REP
    sequence) are implemented.
  * Added -O option to the frontend. This controls the optimization
    level.
  * Added a simple abstraction layer for terminal control sequences
    (ChafaTermInfo and ChafaTermDb). This allows for improved
    terminal support.
  * FbTerm is now supported with TERM=fbterm in the environment.
  * Bug fixes:
  - #43 Fix signal handler.
  - [unfiled] Crash when invalid font paths were passed on command line.
  - [unfiled] Small typo in fontgen's READM).
  - [unfiled] Bad contrast adjustment in images with transparency.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1623067200">- Update to 1.6.1:
  * Add NOCONFIGURE variable to autogen.sh to skip configure
  Bug fixes:
  * #50 SIGBUS while loading huge GIFs
  * #52 Produces small glitches in output with some images
  * #54 Haiku port fails on 32bit
  * [unfiled] Exclude RTL code points that could break the output.
  * [unfiled] Apple Terminal lacks truecolor support, so make it
    default to 256 colors
  * [unfiled] Fix typo affecting middle dot symbol.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1630497600">- Update to 1.8.0:
  * Added basic support for the Kitty and iTerm2 graphics protocols.
    These are enabled automatically when corresponding terminal support
    is detected, or manually with -f kitty or -f iterm.
  * Implemented an 8-color mode, selectable with -c 8
  * Implemented a foreground-only switch, --fg-only. This produces
    character art using foreground colors only, and will avoid
    modifying or resetting the background color. Looks best with
    non-contiguous symbols (e.g. ascii).
  * Added builtins for Japanese kana fullwidth symbols. These can
    now be used without loading any external fonts (try -c none --symbols wide).
  * Added builtins for legacy computer symbols (mainly wedges and
    sextant blocks). These were widely used in PETSCII and Teletext,
    and can be enabled using --symbols or --fill with their respective
    tags: legacy, wedge and sextant (@hodefoting).
  * Since there is a growing number of builtin symbols that may not
    be available everywhere, the default selection has been restricted
    to the widely supported block and border sets.
  * If possible, we now select a visually blank character from the
    specified symbol/fill sets instead of hardcoding ASCII space for
    featureless cells. One practical upshot of this is that the constant-width
    braille range can be used to produce consistent images even in contexts
    with variable-width fonts. U+2800 (BRAILLE PATTERN BLANK) will then be used in blank cells.
  * Improved terminal size detection when used with pipelines and redirection.
    This should now produce an image properly sized for your terminal:
    curl https://i.imgur.com/WFDEFVg.jpeg | chafa - | tee out
  * ChafaCanvas gained API functions for programmatically getting and
    setting character cell contents. These are used in a new example
    in tests/ncurses.c demonstrating ncurses integration.
  * Made --disable-rpath the default in order to simplify packaging.
  * Added a HACKING file featuring a much needed release checklist.
  * Improved terminal support:
    + Ctx will now use optimizing REP sequences at high -O levels.
    + foot now defaults to sixels.
    + iTerm2 now defaults to the iTerm2 protocol.
    + Kitty now defaults to the Kitty protocol.
    + st now defaults to truecolor symbols.
  * Bug fixes:
    + #44 Missing error handling on stdout writes.
    + [unfiled] Solid symbols erroneously replaced by fill in FGBG mode.
    + [unfiled] Integer formatter was not using fast path for 8-bit values.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1647864000">- Update to 0.10.0:
  * New option: --animate &lt;bool&gt;. On by default. Can be turned off
    to replace animations with a still frame #79.
  * New option: --center &lt;bool&gt; or -C &lt;bool&gt;. Off by default. Can
    be turned on to center images #83.
  * New options: --margin-bottom &lt;n&gt; and --margin-right &lt;n&gt;. These
    permit using all available space (with --margin-bottom 0) or some
    smaller amount #61.
  * New option: --polite &lt;bool&gt;. On by default. Can be turned off to
    correct issues caused by previous terminal state (e.g. no sixel scrolling)
    and improve presentation (e.g. by temporarily hiding the cursor). This can
    leave the terminal in an altered state, which is somewhat rude.
  * New option: --threads &lt;n&gt;. Allows manually specifying the number of threads to
    use. Defaults to one per detected logical CPU core.
  * When invoked with redirected input and no arguments, act like a
    filter as if invoked with -.
  * If input or output is being redirected, default to playing animations only once
    instead of looping forever. This can be overridden with -d inf.
  * Replaced obsolete Autoconf macros.
  * Improved image loaders:
    + GIF: Load GIF87a images as well as GIF89a.
    + PNG: Add an internal copy of LodePNG, bypassing ImageMagick.
    This improves performance and helps with eventually phasing out the latter.
    + XWD: Support images generated by convert.
  * Improved terminal support:
    + Contour: Enable sixel support.
    + foot: Open-ended TERM string matching.
    + Konsole: Enable sixel support.
    + WezTerm: Enable sixel support.
  * Bug fixes:
    + #76 Smolscale uses too much stack space.
    + #81 Chafa --version is returned to stderr, not stdout.
    + [unfiled] Potential memory overrun when using Floyd-Steinberg dithering
    in symbols mode.
    + [unfiled] iTerm2 compatibility issue with WezTerm and possi</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1649073600">- Update to 0.10.1:
  * #87 Garbled last row of pixels on some images
  * [unfiled] Correctly label new functions since 1.10</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1650888000">- Update to 1.10.2:
  * Added disclosure guidelines in SECURITY.md
  * Fix huntr.dev: Null pointer dereference in libnsgif with crafted GIF file
  * [unfiled] File magic would not effectively rule out internal loaders.
  * [unfiled] Very big images could cause absurd allocation requests
    triggering an abort in the loader.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1651752000">- Update to 1.10.3:
  * Improved input validation in the XWD loader.
  * huntr.dev: Buffer over-read when compiled with -O0 or non-x86 target</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1654516800">- Update to 1.12.0:
  * The ImageMagick dependency is now optional and deprecated.
    Packagers are encouraged to drop the ImageMagick dependency (--without-imagemagick)
    and add direct dependencies on relevant image codecs.
    ImageMagick support will be removed in a future release.
  * Added image loaders for the following formats: JPEG, SVG, TIFF, WebP.
    Like the existing GIF, PNG and XWD loaders, these are much faster and
    generally safer than their ImageMagick counterparts. If ImageMagick is
    enabled, it will be used as a fallback. Supported image loaders will
    be listed in the --version output.
  * Implemented a 16/8 mode producing 8 colors and an additional 8 bright
    foreground-only colors for a total of 16 foreground and 8 background colors.
    When using ANSI escape sequences in symbol mode, the sequence for bold
    text is used to enable bright colors. This scheme corresponds to that of
    the IBM PC's VGA hardware text modes and was popular with terminal
    emulators in the late 1980s to early 2000s.
    With a few tweaks, output from this mode can be turned into ANSI art scene
    .ANS files compatible with utilities like the wonderful Ansilove[2], e.g:
    $ chafa -f symbols -c 16/8 -s 80 --symbols space+solid+half --fill stipple \
    in.jpg | tr -d '\n' | iconv -c -f utf8 -t cp437 &gt; out.ans
    $ ansilove out.ans -o out.png
  * New builtin Latin symbols (available with --symbols latin). This class
    comprises most of the symbols from the Latin-1 Supplement, Latin Extended-A
    and -B, IPA Extensions and Spacing Modifier Letters plus a few Latin-like
    symbols from other ranges, using Terminus as the reference font.
    The ASCII class is also a subset of this class.
  * Reworked ASCII symbols to be more representative of modern terminal fonts.
    As with the other Latin ranges, the reference font is now Terminus.
  * New option: --scale &lt;n&gt;. This takes a real number specifying the on-screen
    scaling factor relative to the input's pixel size, respecting the terminal
    size. The special argument 'max' will fit the output to the terminal.
    The defaults are 1.0 for iTerm, Kitty and sixels, and 4.0 for symbols. #84
  * Deprecated option: --zoom. Use --scale max instead.
  * Added a battery of simple tests that can be run with make check.
  * Made configure friendlier. It's now more lenient with dependencies, and the
    summary is more detailed and colorized if possible.
  * Bug fixes:
  - #62 Too big alloc on bogus terminal dimensions
  - huntr.dev: Null pointer dereference caused by calling post_func on unused
    batch entries
  - [unfiled] Small memory leaks when using iTerm and Kitty formats.
  - [unfiled] Wide symbol coverages leaked in symbol map destructor.
  - [unfiled] No error code if files failed to load.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1655726400">- Update to 1.12.1:
  * Increased GLib minimum version to 2.20.
  * Added 12 new test inputs, including bad inputs to handle gracefully.
  * Added a few symbols to API documentation that were accidentally left out.
  * Bug fixes:
    + huntr.dev CVE-2022-2061: Out-of-bounds read in libnsgif's lzw_decode()
    + [unfiled] Undefined behavior in libnsgif due to uninitialized frame fields.
    + [unfiled] Signed integer overflow in chafa_pack_color().
    + [unfiled] Integer overflow in normalization pass on some images.
    + [unfiled] Potential unaligned access with corrupt XWD images.
    + [unfiled] Integer overflow in quantization on some images.
    + [unfiled] Calculating offset from NULL pointer in LodePNG.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936000">- Update to 1.12.2:
  * Made everything compile for the x86_64-w64-mingw32 target using gcc.
  * Added support for the Windows 10 Command Prompt.
  * Improved error reporting.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936001">- Update to 1.12.3:
  * Increased GLib minimum version to 2.26.
  * Enabled a few compiler warnings not included in -Wall -Wextra
    in order to catch more potential issues early. Also started
    using -Werror selectively.
  * Silenced deprecation warnings for older GLib APIs that we
    would like to keep using a bit longer.
  * Fix #96 Regression: Fails to build on Linux/Debian</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1668340800">- Update to 1.12.4:
  * MS Windows: Added support for Unicode command-line arguments.
  * MS Windows: Enabled support for building a DLL.
  * Improved quality of accelerated symbol picking (the default
    with -w 6 and lower), especially along sharp edges.
  * The XWD loader now supports unaligned image data, which can
    occur when the header is of an uneven length. Such images
    will no longer be rejected.
  * Bug fixes:
  - #100[1] Reading image data from stdin fails on Windows
  - #104[3] Artifacts with transparent animations on Kitty
  - #108[5] Bad interaction with lolcat
  - #112[7] Bad documentation for -c default
  - #113[9] Autogen/build fails on CentOS 7 (partial solution)
  - huntr.dev: Uncontrolled memory allocation in lodepng
  - [unfiled] -lm should not be in pkg-config Libs: list
  - [unfiled] The --watch switch was broken with the
    introduction of --animate.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1684756800">- Update to 1.12.5:
  * Fix #123 crash on canvas created with chafa_canvas_new_similar()
  * Fix #141 distortion when rowstride is not a multiple of 4
  * Fix missing comma in --help output</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1704715200">- Update to 1.14.0:
  * Removed ImageMagick loader support. Packagers can now remove
    this dependency
  * Polite mode is now off by default. The new default eliminates
    cursor flicker and makes the output more robust against unusual
    terminal settings. The old behavior can be restored with
  - -polite on.
  * Added image loaders for the AVIF and QOI formats.
  * sRGB gamma is now handled correctly in scaling operations.
  * New option: --passthrough=&lt;auto|none|screen|tmux&gt;. This allows
    passing graphics protocols like Sixels, iTerm and Kitty through
    a terminal multiplexer. It will be enabled automatically for
    Kitty, and can be enabled manually for other protocols with
    more limited support
  * New option: --view-size=&lt;WxH&gt;. Specifies width and height of
    the viewport, overriding the detected terminal size
  * New option: --fit-width. Fits images to the width of the
    viewport, allowing them to be taller than the viewport's height
  * New option: --relative=&lt;bool&gt;. Enables relative cursor
    positioning. Useful if you've pre-positioned the cursor at a
    particular offset where you want frames to appear, but tends to
    make the output illegible in pagers, e.g. less -R
  * New option: --exact-size=&lt;auto|on|off&gt;. Preserves the input
    pixel size when possible. Useful to avoid artifacts caused
    by resampling
  * New symbol selector: imported. This selects glyphs loaded with
  - -glyph-file
  * Fontgen: Added a BDF font writer
  * Fontgen: Cleanup and modernization
  * The help text and manual page were overhauled for readability,
    and the API documentation now includes symbol indexes by version
    and deprecation status.
  * Added a zsh completion script
  * Fix "unknown file format" when using AVIF on stdin
  * Fix broken linking with libwebp-1.3.1
  * Fix make check with --without-tools
  * Fix --duration not working well with still images
  * Fix sixel rendering of animations
  * Fix operator precedence in geometry calculation</changelog>
  <changelog author="pallas wept &lt;pallaswept@proton.me&gt;" date="1716292800">- Enable optional image formats
  * jpeg
  * svg
  * tiff
  * webp</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1718712000">- Update to 1.14.1:
  * A JPEG XL (.jxl) loader was added using libjxl (#188).
  * Added detection of the Eat "Emulate a Terminal" Emacs terminal.
  * Symbols mode was sped up significantly on AVX2-capable platforms.
  * Tests: A new test driver was added. It will log the specifics
    of any failures, which aids debugging of CI builds.
  * Bug fixes:
    [#189] Fix installation of zsh completions.
    [#190] Fix a small memory leak in ChafaCanvas.
    [#192] Wrong sixel padding in some circumstances.
    [#195] tmux passthrough enabled when already set.
    [#196] iTerm mode not enabled automatically.</changelog>
</package>
<package pkgid="c9ddfa4b3354b05c4434f637a61ee1a53278c8f00eaa780085b44da4e1b51eb351de6ee821342cc00d4317048771f881762c3e01bc66765a5d26fd0cff24c7a7" name="chafa-debugsource" arch="x86_64">
  <version epoch="0" ver="1.14.1" rel="1.1"/>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1610712000">- Update to 1.6.0:
  * Added support for fullwidth symbols that take up two character
    cells. These are common in East Asian scripts. Single-cell and
    double-cell symbols can be mixed, and -f symbols mode will use
    both if possible.
  * New symbol tags: alpha, digit, alnum, narrow, wide, ambiguous,
    ugly, bad. "Ambiguous" symbols have uncertain widths and may
    render poorly in some terminals. "Ugly" denotes symbols that
    are unsuitable for Chafa's cell-based graphics (multicolor
    emoji, ideographic descriptors, etc). "Bad" is a superset of
    these two categories. Bad symbols are always excluded unless
    explicitly enabled with e.g. CHAFA_SYMBOL_TAG_BAD (--symbols
    +bad in the frontend).
  * The font loader (--glyph-file option) now does a better job
    with proportional fonts.
  * Added options for controlling lossless optimization of output.
    Currently, attribute reuse and character repetition (REP
    sequence) are implemented.
  * Added -O option to the frontend. This controls the optimization
    level.
  * Added a simple abstraction layer for terminal control sequences
    (ChafaTermInfo and ChafaTermDb). This allows for improved
    terminal support.
  * FbTerm is now supported with TERM=fbterm in the environment.
  * Bug fixes:
  - #43 Fix signal handler.
  - [unfiled] Crash when invalid font paths were passed on command line.
  - [unfiled] Small typo in fontgen's READM).
  - [unfiled] Bad contrast adjustment in images with transparency.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1623067200">- Update to 1.6.1:
  * Add NOCONFIGURE variable to autogen.sh to skip configure
  Bug fixes:
  * #50 SIGBUS while loading huge GIFs
  * #52 Produces small glitches in output with some images
  * #54 Haiku port fails on 32bit
  * [unfiled] Exclude RTL code points that could break the output.
  * [unfiled] Apple Terminal lacks truecolor support, so make it
    default to 256 colors
  * [unfiled] Fix typo affecting middle dot symbol.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1630497600">- Update to 1.8.0:
  * Added basic support for the Kitty and iTerm2 graphics protocols.
    These are enabled automatically when corresponding terminal support
    is detected, or manually with -f kitty or -f iterm.
  * Implemented an 8-color mode, selectable with -c 8
  * Implemented a foreground-only switch, --fg-only. This produces
    character art using foreground colors only, and will avoid
    modifying or resetting the background color. Looks best with
    non-contiguous symbols (e.g. ascii).
  * Added builtins for Japanese kana fullwidth symbols. These can
    now be used without loading any external fonts (try -c none --symbols wide).
  * Added builtins for legacy computer symbols (mainly wedges and
    sextant blocks). These were widely used in PETSCII and Teletext,
    and can be enabled using --symbols or --fill with their respective
    tags: legacy, wedge and sextant (@hodefoting).
  * Since there is a growing number of builtin symbols that may not
    be available everywhere, the default selection has been restricted
    to the widely supported block and border sets.
  * If possible, we now select a visually blank character from the
    specified symbol/fill sets instead of hardcoding ASCII space for
    featureless cells. One practical upshot of this is that the constant-width
    braille range can be used to produce consistent images even in contexts
    with variable-width fonts. U+2800 (BRAILLE PATTERN BLANK) will then be used in blank cells.
  * Improved terminal size detection when used with pipelines and redirection.
    This should now produce an image properly sized for your terminal:
    curl https://i.imgur.com/WFDEFVg.jpeg | chafa - | tee out
  * ChafaCanvas gained API functions for programmatically getting and
    setting character cell contents. These are used in a new example
    in tests/ncurses.c demonstrating ncurses integration.
  * Made --disable-rpath the default in order to simplify packaging.
  * Added a HACKING file featuring a much needed release checklist.
  * Improved terminal support:
    + Ctx will now use optimizing REP sequences at high -O levels.
    + foot now defaults to sixels.
    + iTerm2 now defaults to the iTerm2 protocol.
    + Kitty now defaults to the Kitty protocol.
    + st now defaults to truecolor symbols.
  * Bug fixes:
    + #44 Missing error handling on stdout writes.
    + [unfiled] Solid symbols erroneously replaced by fill in FGBG mode.
    + [unfiled] Integer formatter was not using fast path for 8-bit values.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1647864000">- Update to 0.10.0:
  * New option: --animate &lt;bool&gt;. On by default. Can be turned off
    to replace animations with a still frame #79.
  * New option: --center &lt;bool&gt; or -C &lt;bool&gt;. Off by default. Can
    be turned on to center images #83.
  * New options: --margin-bottom &lt;n&gt; and --margin-right &lt;n&gt;. These
    permit using all available space (with --margin-bottom 0) or some
    smaller amount #61.
  * New option: --polite &lt;bool&gt;. On by default. Can be turned off to
    correct issues caused by previous terminal state (e.g. no sixel scrolling)
    and improve presentation (e.g. by temporarily hiding the cursor). This can
    leave the terminal in an altered state, which is somewhat rude.
  * New option: --threads &lt;n&gt;. Allows manually specifying the number of threads to
    use. Defaults to one per detected logical CPU core.
  * When invoked with redirected input and no arguments, act like a
    filter as if invoked with -.
  * If input or output is being redirected, default to playing animations only once
    instead of looping forever. This can be overridden with -d inf.
  * Replaced obsolete Autoconf macros.
  * Improved image loaders:
    + GIF: Load GIF87a images as well as GIF89a.
    + PNG: Add an internal copy of LodePNG, bypassing ImageMagick.
    This improves performance and helps with eventually phasing out the latter.
    + XWD: Support images generated by convert.
  * Improved terminal support:
    + Contour: Enable sixel support.
    + foot: Open-ended TERM string matching.
    + Konsole: Enable sixel support.
    + WezTerm: Enable sixel support.
  * Bug fixes:
    + #76 Smolscale uses too much stack space.
    + #81 Chafa --version is returned to stderr, not stdout.
    + [unfiled] Potential memory overrun when using Floyd-Steinberg dithering
    in symbols mode.
    + [unfiled] iTerm2 compatibility issue with WezTerm and possi</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1649073600">- Update to 0.10.1:
  * #87 Garbled last row of pixels on some images
  * [unfiled] Correctly label new functions since 1.10</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1650888000">- Update to 1.10.2:
  * Added disclosure guidelines in SECURITY.md
  * Fix huntr.dev: Null pointer dereference in libnsgif with crafted GIF file
  * [unfiled] File magic would not effectively rule out internal loaders.
  * [unfiled] Very big images could cause absurd allocation requests
    triggering an abort in the loader.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1651752000">- Update to 1.10.3:
  * Improved input validation in the XWD loader.
  * huntr.dev: Buffer over-read when compiled with -O0 or non-x86 target</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1654516800">- Update to 1.12.0:
  * The ImageMagick dependency is now optional and deprecated.
    Packagers are encouraged to drop the ImageMagick dependency (--without-imagemagick)
    and add direct dependencies on relevant image codecs.
    ImageMagick support will be removed in a future release.
  * Added image loaders for the following formats: JPEG, SVG, TIFF, WebP.
    Like the existing GIF, PNG and XWD loaders, these are much faster and
    generally safer than their ImageMagick counterparts. If ImageMagick is
    enabled, it will be used as a fallback. Supported image loaders will
    be listed in the --version output.
  * Implemented a 16/8 mode producing 8 colors and an additional 8 bright
    foreground-only colors for a total of 16 foreground and 8 background colors.
    When using ANSI escape sequences in symbol mode, the sequence for bold
    text is used to enable bright colors. This scheme corresponds to that of
    the IBM PC's VGA hardware text modes and was popular with terminal
    emulators in the late 1980s to early 2000s.
    With a few tweaks, output from this mode can be turned into ANSI art scene
    .ANS files compatible with utilities like the wonderful Ansilove[2], e.g:
    $ chafa -f symbols -c 16/8 -s 80 --symbols space+solid+half --fill stipple \
    in.jpg | tr -d '\n' | iconv -c -f utf8 -t cp437 &gt; out.ans
    $ ansilove out.ans -o out.png
  * New builtin Latin symbols (available with --symbols latin). This class
    comprises most of the symbols from the Latin-1 Supplement, Latin Extended-A
    and -B, IPA Extensions and Spacing Modifier Letters plus a few Latin-like
    symbols from other ranges, using Terminus as the reference font.
    The ASCII class is also a subset of this class.
  * Reworked ASCII symbols to be more representative of modern terminal fonts.
    As with the other Latin ranges, the reference font is now Terminus.
  * New option: --scale &lt;n&gt;. This takes a real number specifying the on-screen
    scaling factor relative to the input's pixel size, respecting the terminal
    size. The special argument 'max' will fit the output to the terminal.
    The defaults are 1.0 for iTerm, Kitty and sixels, and 4.0 for symbols. #84
  * Deprecated option: --zoom. Use --scale max instead.
  * Added a battery of simple tests that can be run with make check.
  * Made configure friendlier. It's now more lenient with dependencies, and the
    summary is more detailed and colorized if possible.
  * Bug fixes:
  - #62 Too big alloc on bogus terminal dimensions
  - huntr.dev: Null pointer dereference caused by calling post_func on unused
    batch entries
  - [unfiled] Small memory leaks when using iTerm and Kitty formats.
  - [unfiled] Wide symbol coverages leaked in symbol map destructor.
  - [unfiled] No error code if files failed to load.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1655726400">- Update to 1.12.1:
  * Increased GLib minimum version to 2.20.
  * Added 12 new test inputs, including bad inputs to handle gracefully.
  * Added a few symbols to API documentation that were accidentally left out.
  * Bug fixes:
    + huntr.dev CVE-2022-2061: Out-of-bounds read in libnsgif's lzw_decode()
    + [unfiled] Undefined behavior in libnsgif due to uninitialized frame fields.
    + [unfiled] Signed integer overflow in chafa_pack_color().
    + [unfiled] Integer overflow in normalization pass on some images.
    + [unfiled] Potential unaligned access with corrupt XWD images.
    + [unfiled] Integer overflow in quantization on some images.
    + [unfiled] Calculating offset from NULL pointer in LodePNG.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936000">- Update to 1.12.2:
  * Made everything compile for the x86_64-w64-mingw32 target using gcc.
  * Added support for the Windows 10 Command Prompt.
  * Improved error reporting.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936001">- Update to 1.12.3:
  * Increased GLib minimum version to 2.26.
  * Enabled a few compiler warnings not included in -Wall -Wextra
    in order to catch more potential issues early. Also started
    using -Werror selectively.
  * Silenced deprecation warnings for older GLib APIs that we
    would like to keep using a bit longer.
  * Fix #96 Regression: Fails to build on Linux/Debian</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1668340800">- Update to 1.12.4:
  * MS Windows: Added support for Unicode command-line arguments.
  * MS Windows: Enabled support for building a DLL.
  * Improved quality of accelerated symbol picking (the default
    with -w 6 and lower), especially along sharp edges.
  * The XWD loader now supports unaligned image data, which can
    occur when the header is of an uneven length. Such images
    will no longer be rejected.
  * Bug fixes:
  - #100[1] Reading image data from stdin fails on Windows
  - #104[3] Artifacts with transparent animations on Kitty
  - #108[5] Bad interaction with lolcat
  - #112[7] Bad documentation for -c default
  - #113[9] Autogen/build fails on CentOS 7 (partial solution)
  - huntr.dev: Uncontrolled memory allocation in lodepng
  - [unfiled] -lm should not be in pkg-config Libs: list
  - [unfiled] The --watch switch was broken with the
    introduction of --animate.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1684756800">- Update to 1.12.5:
  * Fix #123 crash on canvas created with chafa_canvas_new_similar()
  * Fix #141 distortion when rowstride is not a multiple of 4
  * Fix missing comma in --help output</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1704715200">- Update to 1.14.0:
  * Removed ImageMagick loader support. Packagers can now remove
    this dependency
  * Polite mode is now off by default. The new default eliminates
    cursor flicker and makes the output more robust against unusual
    terminal settings. The old behavior can be restored with
  - -polite on.
  * Added image loaders for the AVIF and QOI formats.
  * sRGB gamma is now handled correctly in scaling operations.
  * New option: --passthrough=&lt;auto|none|screen|tmux&gt;. This allows
    passing graphics protocols like Sixels, iTerm and Kitty through
    a terminal multiplexer. It will be enabled automatically for
    Kitty, and can be enabled manually for other protocols with
    more limited support
  * New option: --view-size=&lt;WxH&gt;. Specifies width and height of
    the viewport, overriding the detected terminal size
  * New option: --fit-width. Fits images to the width of the
    viewport, allowing them to be taller than the viewport's height
  * New option: --relative=&lt;bool&gt;. Enables relative cursor
    positioning. Useful if you've pre-positioned the cursor at a
    particular offset where you want frames to appear, but tends to
    make the output illegible in pagers, e.g. less -R
  * New option: --exact-size=&lt;auto|on|off&gt;. Preserves the input
    pixel size when possible. Useful to avoid artifacts caused
    by resampling
  * New symbol selector: imported. This selects glyphs loaded with
  - -glyph-file
  * Fontgen: Added a BDF font writer
  * Fontgen: Cleanup and modernization
  * The help text and manual page were overhauled for readability,
    and the API documentation now includes symbol indexes by version
    and deprecation status.
  * Added a zsh completion script
  * Fix "unknown file format" when using AVIF on stdin
  * Fix broken linking with libwebp-1.3.1
  * Fix make check with --without-tools
  * Fix --duration not working well with still images
  * Fix sixel rendering of animations
  * Fix operator precedence in geometry calculation</changelog>
  <changelog author="pallas wept &lt;pallaswept@proton.me&gt;" date="1716292800">- Enable optional image formats
  * jpeg
  * svg
  * tiff
  * webp</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1718712000">- Update to 1.14.1:
  * A JPEG XL (.jxl) loader was added using libjxl (#188).
  * Added detection of the Eat "Emulate a Terminal" Emacs terminal.
  * Symbols mode was sped up significantly on AVX2-capable platforms.
  * Tests: A new test driver was added. It will log the specifics
    of any failures, which aids debugging of CI builds.
  * Bug fixes:
    [#189] Fix installation of zsh completions.
    [#190] Fix a small memory leak in ChafaCanvas.
    [#192] Wrong sixel padding in some circumstances.
    [#195] tmux passthrough enabled when already set.
    [#196] iTerm mode not enabled automatically.</changelog>
</package>
<package pkgid="2f749c82a07de8c1112fbc102f82a0da94e21ef83588f3a1066ef9c2d60a51e6eefad817c8b60d1f56d96a111a528d6048bcc43ef200307835c804cab668623b" name="chafa-devel" arch="x86_64">
  <version epoch="0" ver="1.14.1" rel="1.1"/>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1610712000">- Update to 1.6.0:
  * Added support for fullwidth symbols that take up two character
    cells. These are common in East Asian scripts. Single-cell and
    double-cell symbols can be mixed, and -f symbols mode will use
    both if possible.
  * New symbol tags: alpha, digit, alnum, narrow, wide, ambiguous,
    ugly, bad. "Ambiguous" symbols have uncertain widths and may
    render poorly in some terminals. "Ugly" denotes symbols that
    are unsuitable for Chafa's cell-based graphics (multicolor
    emoji, ideographic descriptors, etc). "Bad" is a superset of
    these two categories. Bad symbols are always excluded unless
    explicitly enabled with e.g. CHAFA_SYMBOL_TAG_BAD (--symbols
    +bad in the frontend).
  * The font loader (--glyph-file option) now does a better job
    with proportional fonts.
  * Added options for controlling lossless optimization of output.
    Currently, attribute reuse and character repetition (REP
    sequence) are implemented.
  * Added -O option to the frontend. This controls the optimization
    level.
  * Added a simple abstraction layer for terminal control sequences
    (ChafaTermInfo and ChafaTermDb). This allows for improved
    terminal support.
  * FbTerm is now supported with TERM=fbterm in the environment.
  * Bug fixes:
  - #43 Fix signal handler.
  - [unfiled] Crash when invalid font paths were passed on command line.
  - [unfiled] Small typo in fontgen's READM).
  - [unfiled] Bad contrast adjustment in images with transparency.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1623067200">- Update to 1.6.1:
  * Add NOCONFIGURE variable to autogen.sh to skip configure
  Bug fixes:
  * #50 SIGBUS while loading huge GIFs
  * #52 Produces small glitches in output with some images
  * #54 Haiku port fails on 32bit
  * [unfiled] Exclude RTL code points that could break the output.
  * [unfiled] Apple Terminal lacks truecolor support, so make it
    default to 256 colors
  * [unfiled] Fix typo affecting middle dot symbol.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1630497600">- Update to 1.8.0:
  * Added basic support for the Kitty and iTerm2 graphics protocols.
    These are enabled automatically when corresponding terminal support
    is detected, or manually with -f kitty or -f iterm.
  * Implemented an 8-color mode, selectable with -c 8
  * Implemented a foreground-only switch, --fg-only. This produces
    character art using foreground colors only, and will avoid
    modifying or resetting the background color. Looks best with
    non-contiguous symbols (e.g. ascii).
  * Added builtins for Japanese kana fullwidth symbols. These can
    now be used without loading any external fonts (try -c none --symbols wide).
  * Added builtins for legacy computer symbols (mainly wedges and
    sextant blocks). These were widely used in PETSCII and Teletext,
    and can be enabled using --symbols or --fill with their respective
    tags: legacy, wedge and sextant (@hodefoting).
  * Since there is a growing number of builtin symbols that may not
    be available everywhere, the default selection has been restricted
    to the widely supported block and border sets.
  * If possible, we now select a visually blank character from the
    specified symbol/fill sets instead of hardcoding ASCII space for
    featureless cells. One practical upshot of this is that the constant-width
    braille range can be used to produce consistent images even in contexts
    with variable-width fonts. U+2800 (BRAILLE PATTERN BLANK) will then be used in blank cells.
  * Improved terminal size detection when used with pipelines and redirection.
    This should now produce an image properly sized for your terminal:
    curl https://i.imgur.com/WFDEFVg.jpeg | chafa - | tee out
  * ChafaCanvas gained API functions for programmatically getting and
    setting character cell contents. These are used in a new example
    in tests/ncurses.c demonstrating ncurses integration.
  * Made --disable-rpath the default in order to simplify packaging.
  * Added a HACKING file featuring a much needed release checklist.
  * Improved terminal support:
    + Ctx will now use optimizing REP sequences at high -O levels.
    + foot now defaults to sixels.
    + iTerm2 now defaults to the iTerm2 protocol.
    + Kitty now defaults to the Kitty protocol.
    + st now defaults to truecolor symbols.
  * Bug fixes:
    + #44 Missing error handling on stdout writes.
    + [unfiled] Solid symbols erroneously replaced by fill in FGBG mode.
    + [unfiled] Integer formatter was not using fast path for 8-bit values.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1647864000">- Update to 0.10.0:
  * New option: --animate &lt;bool&gt;. On by default. Can be turned off
    to replace animations with a still frame #79.
  * New option: --center &lt;bool&gt; or -C &lt;bool&gt;. Off by default. Can
    be turned on to center images #83.
  * New options: --margin-bottom &lt;n&gt; and --margin-right &lt;n&gt;. These
    permit using all available space (with --margin-bottom 0) or some
    smaller amount #61.
  * New option: --polite &lt;bool&gt;. On by default. Can be turned off to
    correct issues caused by previous terminal state (e.g. no sixel scrolling)
    and improve presentation (e.g. by temporarily hiding the cursor). This can
    leave the terminal in an altered state, which is somewhat rude.
  * New option: --threads &lt;n&gt;. Allows manually specifying the number of threads to
    use. Defaults to one per detected logical CPU core.
  * When invoked with redirected input and no arguments, act like a
    filter as if invoked with -.
  * If input or output is being redirected, default to playing animations only once
    instead of looping forever. This can be overridden with -d inf.
  * Replaced obsolete Autoconf macros.
  * Improved image loaders:
    + GIF: Load GIF87a images as well as GIF89a.
    + PNG: Add an internal copy of LodePNG, bypassing ImageMagick.
    This improves performance and helps with eventually phasing out the latter.
    + XWD: Support images generated by convert.
  * Improved terminal support:
    + Contour: Enable sixel support.
    + foot: Open-ended TERM string matching.
    + Konsole: Enable sixel support.
    + WezTerm: Enable sixel support.
  * Bug fixes:
    + #76 Smolscale uses too much stack space.
    + #81 Chafa --version is returned to stderr, not stdout.
    + [unfiled] Potential memory overrun when using Floyd-Steinberg dithering
    in symbols mode.
    + [unfiled] iTerm2 compatibility issue with WezTerm and possi</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1649073600">- Update to 0.10.1:
  * #87 Garbled last row of pixels on some images
  * [unfiled] Correctly label new functions since 1.10</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1650888000">- Update to 1.10.2:
  * Added disclosure guidelines in SECURITY.md
  * Fix huntr.dev: Null pointer dereference in libnsgif with crafted GIF file
  * [unfiled] File magic would not effectively rule out internal loaders.
  * [unfiled] Very big images could cause absurd allocation requests
    triggering an abort in the loader.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1651752000">- Update to 1.10.3:
  * Improved input validation in the XWD loader.
  * huntr.dev: Buffer over-read when compiled with -O0 or non-x86 target</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1654516800">- Update to 1.12.0:
  * The ImageMagick dependency is now optional and deprecated.
    Packagers are encouraged to drop the ImageMagick dependency (--without-imagemagick)
    and add direct dependencies on relevant image codecs.
    ImageMagick support will be removed in a future release.
  * Added image loaders for the following formats: JPEG, SVG, TIFF, WebP.
    Like the existing GIF, PNG and XWD loaders, these are much faster and
    generally safer than their ImageMagick counterparts. If ImageMagick is
    enabled, it will be used as a fallback. Supported image loaders will
    be listed in the --version output.
  * Implemented a 16/8 mode producing 8 colors and an additional 8 bright
    foreground-only colors for a total of 16 foreground and 8 background colors.
    When using ANSI escape sequences in symbol mode, the sequence for bold
    text is used to enable bright colors. This scheme corresponds to that of
    the IBM PC's VGA hardware text modes and was popular with terminal
    emulators in the late 1980s to early 2000s.
    With a few tweaks, output from this mode can be turned into ANSI art scene
    .ANS files compatible with utilities like the wonderful Ansilove[2], e.g:
    $ chafa -f symbols -c 16/8 -s 80 --symbols space+solid+half --fill stipple \
    in.jpg | tr -d '\n' | iconv -c -f utf8 -t cp437 &gt; out.ans
    $ ansilove out.ans -o out.png
  * New builtin Latin symbols (available with --symbols latin). This class
    comprises most of the symbols from the Latin-1 Supplement, Latin Extended-A
    and -B, IPA Extensions and Spacing Modifier Letters plus a few Latin-like
    symbols from other ranges, using Terminus as the reference font.
    The ASCII class is also a subset of this class.
  * Reworked ASCII symbols to be more representative of modern terminal fonts.
    As with the other Latin ranges, the reference font is now Terminus.
  * New option: --scale &lt;n&gt;. This takes a real number specifying the on-screen
    scaling factor relative to the input's pixel size, respecting the terminal
    size. The special argument 'max' will fit the output to the terminal.
    The defaults are 1.0 for iTerm, Kitty and sixels, and 4.0 for symbols. #84
  * Deprecated option: --zoom. Use --scale max instead.
  * Added a battery of simple tests that can be run with make check.
  * Made configure friendlier. It's now more lenient with dependencies, and the
    summary is more detailed and colorized if possible.
  * Bug fixes:
  - #62 Too big alloc on bogus terminal dimensions
  - huntr.dev: Null pointer dereference caused by calling post_func on unused
    batch entries
  - [unfiled] Small memory leaks when using iTerm and Kitty formats.
  - [unfiled] Wide symbol coverages leaked in symbol map destructor.
  - [unfiled] No error code if files failed to load.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1655726400">- Update to 1.12.1:
  * Increased GLib minimum version to 2.20.
  * Added 12 new test inputs, including bad inputs to handle gracefully.
  * Added a few symbols to API documentation that were accidentally left out.
  * Bug fixes:
    + huntr.dev CVE-2022-2061: Out-of-bounds read in libnsgif's lzw_decode()
    + [unfiled] Undefined behavior in libnsgif due to uninitialized frame fields.
    + [unfiled] Signed integer overflow in chafa_pack_color().
    + [unfiled] Integer overflow in normalization pass on some images.
    + [unfiled] Potential unaligned access with corrupt XWD images.
    + [unfiled] Integer overflow in quantization on some images.
    + [unfiled] Calculating offset from NULL pointer in LodePNG.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936000">- Update to 1.12.2:
  * Made everything compile for the x86_64-w64-mingw32 target using gcc.
  * Added support for the Windows 10 Command Prompt.
  * Improved error reporting.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936001">- Update to 1.12.3:
  * Increased GLib minimum version to 2.26.
  * Enabled a few compiler warnings not included in -Wall -Wextra
    in order to catch more potential issues early. Also started
    using -Werror selectively.
  * Silenced deprecation warnings for older GLib APIs that we
    would like to keep using a bit longer.
  * Fix #96 Regression: Fails to build on Linux/Debian</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1668340800">- Update to 1.12.4:
  * MS Windows: Added support for Unicode command-line arguments.
  * MS Windows: Enabled support for building a DLL.
  * Improved quality of accelerated symbol picking (the default
    with -w 6 and lower), especially along sharp edges.
  * The XWD loader now supports unaligned image data, which can
    occur when the header is of an uneven length. Such images
    will no longer be rejected.
  * Bug fixes:
  - #100[1] Reading image data from stdin fails on Windows
  - #104[3] Artifacts with transparent animations on Kitty
  - #108[5] Bad interaction with lolcat
  - #112[7] Bad documentation for -c default
  - #113[9] Autogen/build fails on CentOS 7 (partial solution)
  - huntr.dev: Uncontrolled memory allocation in lodepng
  - [unfiled] -lm should not be in pkg-config Libs: list
  - [unfiled] The --watch switch was broken with the
    introduction of --animate.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1684756800">- Update to 1.12.5:
  * Fix #123 crash on canvas created with chafa_canvas_new_similar()
  * Fix #141 distortion when rowstride is not a multiple of 4
  * Fix missing comma in --help output</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1704715200">- Update to 1.14.0:
  * Removed ImageMagick loader support. Packagers can now remove
    this dependency
  * Polite mode is now off by default. The new default eliminates
    cursor flicker and makes the output more robust against unusual
    terminal settings. The old behavior can be restored with
  - -polite on.
  * Added image loaders for the AVIF and QOI formats.
  * sRGB gamma is now handled correctly in scaling operations.
  * New option: --passthrough=&lt;auto|none|screen|tmux&gt;. This allows
    passing graphics protocols like Sixels, iTerm and Kitty through
    a terminal multiplexer. It will be enabled automatically for
    Kitty, and can be enabled manually for other protocols with
    more limited support
  * New option: --view-size=&lt;WxH&gt;. Specifies width and height of
    the viewport, overriding the detected terminal size
  * New option: --fit-width. Fits images to the width of the
    viewport, allowing them to be taller than the viewport's height
  * New option: --relative=&lt;bool&gt;. Enables relative cursor
    positioning. Useful if you've pre-positioned the cursor at a
    particular offset where you want frames to appear, but tends to
    make the output illegible in pagers, e.g. less -R
  * New option: --exact-size=&lt;auto|on|off&gt;. Preserves the input
    pixel size when possible. Useful to avoid artifacts caused
    by resampling
  * New symbol selector: imported. This selects glyphs loaded with
  - -glyph-file
  * Fontgen: Added a BDF font writer
  * Fontgen: Cleanup and modernization
  * The help text and manual page were overhauled for readability,
    and the API documentation now includes symbol indexes by version
    and deprecation status.
  * Added a zsh completion script
  * Fix "unknown file format" when using AVIF on stdin
  * Fix broken linking with libwebp-1.3.1
  * Fix make check with --without-tools
  * Fix --duration not working well with still images
  * Fix sixel rendering of animations
  * Fix operator precedence in geometry calculation</changelog>
  <changelog author="pallas wept &lt;pallaswept@proton.me&gt;" date="1716292800">- Enable optional image formats
  * jpeg
  * svg
  * tiff
  * webp</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1718712000">- Update to 1.14.1:
  * A JPEG XL (.jxl) loader was added using libjxl (#188).
  * Added detection of the Eat "Emulate a Terminal" Emacs terminal.
  * Symbols mode was sped up significantly on AVX2-capable platforms.
  * Tests: A new test driver was added. It will log the specifics
    of any failures, which aids debugging of CI builds.
  * Bug fixes:
    [#189] Fix installation of zsh completions.
    [#190] Fix a small memory leak in ChafaCanvas.
    [#192] Wrong sixel padding in some circumstances.
    [#195] tmux passthrough enabled when already set.
    [#196] iTerm mode not enabled automatically.</changelog>
</package>
<package pkgid="f94c06506776aec803f5829fc5116eec63450fcea98a28cecc8f600d5042a0b5cdd63c8ece6d46ab852ced28d51ffd2738d3e6d8a10c256dd95bfaf7d6c08d30" name="chafa-doc" arch="noarch">
  <version epoch="0" ver="1.14.1" rel="1.1"/>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1610712000">- Update to 1.6.0:
  * Added support for fullwidth symbols that take up two character
    cells. These are common in East Asian scripts. Single-cell and
    double-cell symbols can be mixed, and -f symbols mode will use
    both if possible.
  * New symbol tags: alpha, digit, alnum, narrow, wide, ambiguous,
    ugly, bad. "Ambiguous" symbols have uncertain widths and may
    render poorly in some terminals. "Ugly" denotes symbols that
    are unsuitable for Chafa's cell-based graphics (multicolor
    emoji, ideographic descriptors, etc). "Bad" is a superset of
    these two categories. Bad symbols are always excluded unless
    explicitly enabled with e.g. CHAFA_SYMBOL_TAG_BAD (--symbols
    +bad in the frontend).
  * The font loader (--glyph-file option) now does a better job
    with proportional fonts.
  * Added options for controlling lossless optimization of output.
    Currently, attribute reuse and character repetition (REP
    sequence) are implemented.
  * Added -O option to the frontend. This controls the optimization
    level.
  * Added a simple abstraction layer for terminal control sequences
    (ChafaTermInfo and ChafaTermDb). This allows for improved
    terminal support.
  * FbTerm is now supported with TERM=fbterm in the environment.
  * Bug fixes:
  - #43 Fix signal handler.
  - [unfiled] Crash when invalid font paths were passed on command line.
  - [unfiled] Small typo in fontgen's READM).
  - [unfiled] Bad contrast adjustment in images with transparency.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1623067200">- Update to 1.6.1:
  * Add NOCONFIGURE variable to autogen.sh to skip configure
  Bug fixes:
  * #50 SIGBUS while loading huge GIFs
  * #52 Produces small glitches in output with some images
  * #54 Haiku port fails on 32bit
  * [unfiled] Exclude RTL code points that could break the output.
  * [unfiled] Apple Terminal lacks truecolor support, so make it
    default to 256 colors
  * [unfiled] Fix typo affecting middle dot symbol.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1630497600">- Update to 1.8.0:
  * Added basic support for the Kitty and iTerm2 graphics protocols.
    These are enabled automatically when corresponding terminal support
    is detected, or manually with -f kitty or -f iterm.
  * Implemented an 8-color mode, selectable with -c 8
  * Implemented a foreground-only switch, --fg-only. This produces
    character art using foreground colors only, and will avoid
    modifying or resetting the background color. Looks best with
    non-contiguous symbols (e.g. ascii).
  * Added builtins for Japanese kana fullwidth symbols. These can
    now be used without loading any external fonts (try -c none --symbols wide).
  * Added builtins for legacy computer symbols (mainly wedges and
    sextant blocks). These were widely used in PETSCII and Teletext,
    and can be enabled using --symbols or --fill with their respective
    tags: legacy, wedge and sextant (@hodefoting).
  * Since there is a growing number of builtin symbols that may not
    be available everywhere, the default selection has been restricted
    to the widely supported block and border sets.
  * If possible, we now select a visually blank character from the
    specified symbol/fill sets instead of hardcoding ASCII space for
    featureless cells. One practical upshot of this is that the constant-width
    braille range can be used to produce consistent images even in contexts
    with variable-width fonts. U+2800 (BRAILLE PATTERN BLANK) will then be used in blank cells.
  * Improved terminal size detection when used with pipelines and redirection.
    This should now produce an image properly sized for your terminal:
    curl https://i.imgur.com/WFDEFVg.jpeg | chafa - | tee out
  * ChafaCanvas gained API functions for programmatically getting and
    setting character cell contents. These are used in a new example
    in tests/ncurses.c demonstrating ncurses integration.
  * Made --disable-rpath the default in order to simplify packaging.
  * Added a HACKING file featuring a much needed release checklist.
  * Improved terminal support:
    + Ctx will now use optimizing REP sequences at high -O levels.
    + foot now defaults to sixels.
    + iTerm2 now defaults to the iTerm2 protocol.
    + Kitty now defaults to the Kitty protocol.
    + st now defaults to truecolor symbols.
  * Bug fixes:
    + #44 Missing error handling on stdout writes.
    + [unfiled] Solid symbols erroneously replaced by fill in FGBG mode.
    + [unfiled] Integer formatter was not using fast path for 8-bit values.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1647864000">- Update to 0.10.0:
  * New option: --animate &lt;bool&gt;. On by default. Can be turned off
    to replace animations with a still frame #79.
  * New option: --center &lt;bool&gt; or -C &lt;bool&gt;. Off by default. Can
    be turned on to center images #83.
  * New options: --margin-bottom &lt;n&gt; and --margin-right &lt;n&gt;. These
    permit using all available space (with --margin-bottom 0) or some
    smaller amount #61.
  * New option: --polite &lt;bool&gt;. On by default. Can be turned off to
    correct issues caused by previous terminal state (e.g. no sixel scrolling)
    and improve presentation (e.g. by temporarily hiding the cursor). This can
    leave the terminal in an altered state, which is somewhat rude.
  * New option: --threads &lt;n&gt;. Allows manually specifying the number of threads to
    use. Defaults to one per detected logical CPU core.
  * When invoked with redirected input and no arguments, act like a
    filter as if invoked with -.
  * If input or output is being redirected, default to playing animations only once
    instead of looping forever. This can be overridden with -d inf.
  * Replaced obsolete Autoconf macros.
  * Improved image loaders:
    + GIF: Load GIF87a images as well as GIF89a.
    + PNG: Add an internal copy of LodePNG, bypassing ImageMagick.
    This improves performance and helps with eventually phasing out the latter.
    + XWD: Support images generated by convert.
  * Improved terminal support:
    + Contour: Enable sixel support.
    + foot: Open-ended TERM string matching.
    + Konsole: Enable sixel support.
    + WezTerm: Enable sixel support.
  * Bug fixes:
    + #76 Smolscale uses too much stack space.
    + #81 Chafa --version is returned to stderr, not stdout.
    + [unfiled] Potential memory overrun when using Floyd-Steinberg dithering
    in symbols mode.
    + [unfiled] iTerm2 compatibility issue with WezTerm and possi</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1649073600">- Update to 0.10.1:
  * #87 Garbled last row of pixels on some images
  * [unfiled] Correctly label new functions since 1.10</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1650888000">- Update to 1.10.2:
  * Added disclosure guidelines in SECURITY.md
  * Fix huntr.dev: Null pointer dereference in libnsgif with crafted GIF file
  * [unfiled] File magic would not effectively rule out internal loaders.
  * [unfiled] Very big images could cause absurd allocation requests
    triggering an abort in the loader.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1651752000">- Update to 1.10.3:
  * Improved input validation in the XWD loader.
  * huntr.dev: Buffer over-read when compiled with -O0 or non-x86 target</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1654516800">- Update to 1.12.0:
  * The ImageMagick dependency is now optional and deprecated.
    Packagers are encouraged to drop the ImageMagick dependency (--without-imagemagick)
    and add direct dependencies on relevant image codecs.
    ImageMagick support will be removed in a future release.
  * Added image loaders for the following formats: JPEG, SVG, TIFF, WebP.
    Like the existing GIF, PNG and XWD loaders, these are much faster and
    generally safer than their ImageMagick counterparts. If ImageMagick is
    enabled, it will be used as a fallback. Supported image loaders will
    be listed in the --version output.
  * Implemented a 16/8 mode producing 8 colors and an additional 8 bright
    foreground-only colors for a total of 16 foreground and 8 background colors.
    When using ANSI escape sequences in symbol mode, the sequence for bold
    text is used to enable bright colors. This scheme corresponds to that of
    the IBM PC's VGA hardware text modes and was popular with terminal
    emulators in the late 1980s to early 2000s.
    With a few tweaks, output from this mode can be turned into ANSI art scene
    .ANS files compatible with utilities like the wonderful Ansilove[2], e.g:
    $ chafa -f symbols -c 16/8 -s 80 --symbols space+solid+half --fill stipple \
    in.jpg | tr -d '\n' | iconv -c -f utf8 -t cp437 &gt; out.ans
    $ ansilove out.ans -o out.png
  * New builtin Latin symbols (available with --symbols latin). This class
    comprises most of the symbols from the Latin-1 Supplement, Latin Extended-A
    and -B, IPA Extensions and Spacing Modifier Letters plus a few Latin-like
    symbols from other ranges, using Terminus as the reference font.
    The ASCII class is also a subset of this class.
  * Reworked ASCII symbols to be more representative of modern terminal fonts.
    As with the other Latin ranges, the reference font is now Terminus.
  * New option: --scale &lt;n&gt;. This takes a real number specifying the on-screen
    scaling factor relative to the input's pixel size, respecting the terminal
    size. The special argument 'max' will fit the output to the terminal.
    The defaults are 1.0 for iTerm, Kitty and sixels, and 4.0 for symbols. #84
  * Deprecated option: --zoom. Use --scale max instead.
  * Added a battery of simple tests that can be run with make check.
  * Made configure friendlier. It's now more lenient with dependencies, and the
    summary is more detailed and colorized if possible.
  * Bug fixes:
  - #62 Too big alloc on bogus terminal dimensions
  - huntr.dev: Null pointer dereference caused by calling post_func on unused
    batch entries
  - [unfiled] Small memory leaks when using iTerm and Kitty formats.
  - [unfiled] Wide symbol coverages leaked in symbol map destructor.
  - [unfiled] No error code if files failed to load.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1655726400">- Update to 1.12.1:
  * Increased GLib minimum version to 2.20.
  * Added 12 new test inputs, including bad inputs to handle gracefully.
  * Added a few symbols to API documentation that were accidentally left out.
  * Bug fixes:
    + huntr.dev CVE-2022-2061: Out-of-bounds read in libnsgif's lzw_decode()
    + [unfiled] Undefined behavior in libnsgif due to uninitialized frame fields.
    + [unfiled] Signed integer overflow in chafa_pack_color().
    + [unfiled] Integer overflow in normalization pass on some images.
    + [unfiled] Potential unaligned access with corrupt XWD images.
    + [unfiled] Integer overflow in quantization on some images.
    + [unfiled] Calculating offset from NULL pointer in LodePNG.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936000">- Update to 1.12.2:
  * Made everything compile for the x86_64-w64-mingw32 target using gcc.
  * Added support for the Windows 10 Command Prompt.
  * Improved error reporting.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1656936001">- Update to 1.12.3:
  * Increased GLib minimum version to 2.26.
  * Enabled a few compiler warnings not included in -Wall -Wextra
    in order to catch more potential issues early. Also started
    using -Werror selectively.
  * Silenced deprecation warnings for older GLib APIs that we
    would like to keep using a bit longer.
  * Fix #96 Regression: Fails to build on Linux/Debian</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1668340800">- Update to 1.12.4:
  * MS Windows: Added support for Unicode command-line arguments.
  * MS Windows: Enabled support for building a DLL.
  * Improved quality of accelerated symbol picking (the default
    with -w 6 and lower), especially along sharp edges.
  * The XWD loader now supports unaligned image data, which can
    occur when the header is of an uneven length. Such images
    will no longer be rejected.
  * Bug fixes:
  - #100[1] Reading image data from stdin fails on Windows
  - #104[3] Artifacts with transparent animations on Kitty
  - #108[5] Bad interaction with lolcat
  - #112[7] Bad documentation for -c default
  - #113[9] Autogen/build fails on CentOS 7 (partial solution)
  - huntr.dev: Uncontrolled memory allocation in lodepng
  - [unfiled] -lm should not be in pkg-config Libs: list
  - [unfiled] The --watch switch was broken with the
    introduction of --animate.</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1684756800">- Update to 1.12.5:
  * Fix #123 crash on canvas created with chafa_canvas_new_similar()
  * Fix #141 distortion when rowstride is not a multiple of 4
  * Fix missing comma in --help output</changelog>
  <changelog author="Joshua Smith &lt;jsmithfpv@gmail.com&gt;" date="1704715200">- Update to 1.14.0:
  * Removed ImageMagick loader support. Packagers can now remove
    this dependency
  * Polite mode is now off by default. The new default eliminates
    cursor flicker and makes the output more robust against unusual
    terminal settings. The old behavior can be restored with
  - -polite on.
  * Added image loaders for the AVIF and QOI formats.
  * sRGB gamma is now handled correctly in scaling operations.
  * New option: --passthrough=&lt;auto|none|screen|tmux&gt;. This allows
    passing graphics protocols like Sixels, iTerm and Kitty through
    a terminal multiplexer. It will be enabled automatically for
    Kitty, and can be enabled manually for other protocols with
    more limited support
  * New option: --view-size=&lt;WxH&gt;. Specifies width and height of
    the viewport, overriding the detected terminal size
  * New option: --fit-width. Fits images to the width of the
    viewport, allowing them to be taller than the viewport's height
  * New option: --relative=&lt;bool&gt;. Enables relative cursor
    positioning. Useful if you've pre-positioned the cursor at a
    particular offset where you want frames to appear, but tends to
    make the output illegible in pagers, e.g. less -R
  * New option: --exact-size=&lt;auto|on|off&gt;. Preserves the input
    pixel size when possible. Useful to avoid artifacts caused
    by resampling
  * New symbol selector: imported. This selects glyphs loaded with
  - -glyph-file
  * Fontgen: Added a BDF font writer
  * Fontgen: Cleanup and modernization
  * The help text and manual page were overhauled for readability,
    and the API documentation now includes symbol indexes by version
    and deprecation status.
  * Added a zsh completion script
  * Fix "unknown file format" when using AVIF on stdin
  * Fix broken linking with libwebp-1.3.1
  * Fix make check with --without-tools
  * Fix --duration not working well with still images
  * Fix sixel rendering of animations
  * Fix operator precedence in geometry calculation</changelog>
  <changelog author="pallas wept &lt;pallaswept@proton.me&gt;" date="1716292800">- Enable optional image formats
  * jpeg
  * svg
  * tiff
  * webp</changelog>
  <changelog author="Michael Vetter &lt;mvetter@suse.com&gt;" date="1718712000">- Update to 1.14.1:
  * A JPEG XL (.jxl) loader was added using libjxl (#188).
  * Added detection of the Eat "Emulate a Terminal" Emacs terminal.
  * Symbols mode was sped up significantly on AVX2-capable platforms.
  * Tests: A new test driver was added. It will log the specifics
    of any failures, which aids debugging of CI builds.
  * Bug fixes:
    [#189] Fix installation of zsh completions.
    [#190] Fix a small memory leak in ChafaCanvas.
    [#192] Wrong sixel padding in some circumstances.
    [#195] tmux passthrough enabled when already set.
    [#196] iTerm mode not enabled automatically.</changelog>
</package>
<package pkgid="5d1dfc65abd9848ae96c465c7a95af23e5ff3a0620410c8244f1657d882581a65380d14bbcd9efe90e19813f297da71bcc415169a274ab6d86e2765a32625392" name="check-a11y" arch="src">
  <version epoch="0" ver="0+1695734895.5fd723d" rel="2.1"/>
  <changelog author="msuchanek@suse.com" date="1714305600">- Update to version 0+1695734895.5fd723d:
  * Fix java &amp; gtk4
  * Add PyQt6
  * Use correct import for PyQt5 check
  * Add Qt 6
  * Add openjdk 19
  * Complete java support up to openjdk17
  * fix gtk4 test
  * Add pygtk4 support, not working yet due to #961238
  * Use /usr/bin/env instead of fixed paths to binaries
  * Fix package detection when both 32 and 64bit versions are installed
- Fix-qt6.patch
- Intall-target.patch
- Initial package of check-a11y</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1718884800">- Added patch:
  * check-a11y-java8.patch
    + build with source/target 1.8 to allow building with any java
    version from 8 to 21</changelog>
</package>
<package pkgid="fe7e2b6b445412d57b5caf4fff9ad48ca3aae8b48af69791dae14a04fa5aed4868dffbf695a3adffdb7e189e6e9f0b59ca751bfc7dcc279a23e2bd4b96554285" name="check-a11y" arch="x86_64">
  <version epoch="0" ver="0+1695734895.5fd723d" rel="2.1"/>
  <changelog author="msuchanek@suse.com" date="1714305600">- Update to version 0+1695734895.5fd723d:
  * Fix java &amp; gtk4
  * Add PyQt6
  * Use correct import for PyQt5 check
  * Add Qt 6
  * Add openjdk 19
  * Complete java support up to openjdk17
  * fix gtk4 test
  * Add pygtk4 support, not working yet due to #961238
  * Use /usr/bin/env instead of fixed paths to binaries
  * Fix package detection when both 32 and 64bit versions are installed
- Fix-qt6.patch
- Intall-target.patch
- Initial package of check-a11y</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1718884800">- Added patch:
  * check-a11y-java8.patch
    + build with source/target 1.8 to allow building with any java
    version from 8 to 21</changelog>
</package>
<package pkgid="d2243bf6ee427c5b1a4a1af57e2143d0ffa55e30e39500debd852056c33f32498d07829a0df384e14186ca04ce3f1a66106054b610a9d78262bb9b5979c0e44b" name="check-a11y-debuginfo" arch="x86_64">
  <version epoch="0" ver="0+1695734895.5fd723d" rel="2.1"/>
  <changelog author="msuchanek@suse.com" date="1714305600">- Update to version 0+1695734895.5fd723d:
  * Fix java &amp; gtk4
  * Add PyQt6
  * Use correct import for PyQt5 check
  * Add Qt 6
  * Add openjdk 19
  * Complete java support up to openjdk17
  * fix gtk4 test
  * Add pygtk4 support, not working yet due to #961238
  * Use /usr/bin/env instead of fixed paths to binaries
  * Fix package detection when both 32 and 64bit versions are installed
- Fix-qt6.patch
- Intall-target.patch
- Initial package of check-a11y</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1718884800">- Added patch:
  * check-a11y-java8.patch
    + build with source/target 1.8 to allow building with any java
    version from 8 to 21</changelog>
</package>
<package pkgid="2f46853a2a6ac697573b7b19ad827f0933472ccb95fbab2022318eb23298c4b11ad62800592100b735c48f8deaafeaa75422ac8b96d3e71400f4ce87beb75710" name="check-a11y-debugsource" arch="x86_64">
  <version epoch="0" ver="0+1695734895.5fd723d" rel="2.1"/>
  <changelog author="msuchanek@suse.com" date="1714305600">- Update to version 0+1695734895.5fd723d:
  * Fix java &amp; gtk4
  * Add PyQt6
  * Use correct import for PyQt5 check
  * Add Qt 6
  * Add openjdk 19
  * Complete java support up to openjdk17
  * fix gtk4 test
  * Add pygtk4 support, not working yet due to #961238
  * Use /usr/bin/env instead of fixed paths to binaries
  * Fix package detection when both 32 and 64bit versions are installed
- Fix-qt6.patch
- Intall-target.patch
- Initial package of check-a11y</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1718884800">- Added patch:
  * check-a11y-java8.patch
    + build with source/target 1.8 to allow building with any java
    version from 8 to 21</changelog>
</package>
<package pkgid="725817d6c0d44c9c937ee24f7d885f237d5f940f5efdef1bd4fae159a267e3a5e0a40d5c8ea7bbfed1958784316258ba35faee39f6cde07d38fdd6a760b98620" name="checkbashisms" arch="noarch">
  <version epoch="0" ver="2.22.2" rel="3.1"/>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1554206400">- Fixed license tag as suggested by licensedigger.</changelog>
  <changelog author="Tom&#xE1;&#x161; Chv&#xE1;tal &lt;tchvatal@suse.com&gt;" date="1567512000">- Update to 2.19.5:
  * various fixes in scripts all around:
    + See /usr/share/doc/packages/devscripts/changelog
- Add conflicts on packages with the same binaries</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1606132800">- Add backport from master devscripts-checkbashisms-early-fail.patch.</changelog>
  <changelog author="Michal Hrusecky &lt;michal.hrusecky@opensuse.org&gt;" date="1651492800">- Add missing uscan dependencies perl-{File-HomeDir,IPC-Run,Moo}</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1657627200">- update to 2.22.2:
  * who-permits-upload:
    + Fix fingerprint lookup, so it actually finds the user id
  * debsnap:
    + Add a -l option as the short version of --list.  Closes: #1006904
  * sadt:
    + Run autodep8 when looking for autopkgtests to run.
  * deprepro:
    + Add new options, to make it easier to debrepro against arbitrary source
    directories (i.e. not Debian packages):
  - -B, --build-command: specify custom build command
  - -a, --artifact-pattern: specify custom artifacts to be compared
    across builds
  - --no-copy: run commands against the source tree directly, i.e. don't
    copy it to a temporary build directory.
  * mk-origtargz:
    + Apply patch from Vasyl Gello to make Files-Included-&lt;component&gt; work.
  * Include the updated Portuguese translation.  Closes: #1011316
    Thanks to Américo Monteiro &lt;a_monteiro@gmx.com&gt;.
  * Run perltidy with the newer 20220217.
  * Bump Standards-Version to 4.6.1, no changes needed.
  * mk-origtargz:
    + Display compression/tar errors
  * wrap-and-sort:
    + Introduce an experimental mode using the RTS parser available with
    python-debian &gt;= 0.1.43.  This will let wrap-and-sort retain comments.
    This feature is opt-in with a new flag.  MR: !237
    + Futher improvements to the RTS mode, now also supporting short indent
    (-s) among others.  MR: !263
  * deb-janitor:
    + Add a new 'review' subcommand.  MR: !261
  * wnpp-check:
    + Replace HTTP URLs with HTTPS.  Closes: #1002311, #902242; MR: !256
  * rc-alert, wnpp-alert, wnpp-check:
    + Allow curl to follow HTTP redirections.  MR: !257
  * wnpp-check:
    + Document -e,--exact in the --help output.  Closes: #1003254
  * Make pristine-tar a Suggests in Ubuntu, as it's not in main so it can't be
    a Recommends.  LP: #1885766
  * Don't build-depend on subversion on i386, skipping the test_uscan_svn
    test; this is to avoid a delta with Ubuntu, that doesn't have svn on i386.
  * debrebuild:
    + Use the new field_parse_binary_source() from libdpkg-perl &gt;= 1.21.0
    if available.  MR: !249
  * test_uscan_mangle:
    + Use MGZREPACK to specify the expected file extension when necessary;
    otherwise, use the default file extension.
    + Add a workaround for testWatch4WebNonNativeMUT0(). MR: !258
    + Test use of filenamemangle with single and multiple upstream tarballs.
    + Modify helperWatch() to accept filenamemangled filenames.
    + Allow filenamemangling with multiple upstream tarballs.
  * Fix some spelling errors in code comments.  MR: !243
  * hardening-check:
    + Handle emtpy symble table by returning an unknown result for the
    stack-protector check.  MR: !223
  * salsa:
    + Add a new last_ci_status subcommand.  MR: !226
- drop devscripts-checkbashisms-early-fail.patch (upstream)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1701172800">- Move checkbashisms to a separate multibuild flavor, reduce
  build cycle when only checkbashisms is needed.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  PatchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Mark %{buildroot}%{_bindir}/checkbashisms executable: sed … &gt;
  %{buildroot}%{_bindir}/checkbashisms creates a non-executable,
  regular file.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716552000">- Fix minor issues:
  + Do not build devscripts main package (empty) in checkbashisms
    flavor.
  + Ensure the two flavors have different .src.rpm names, not
    overwriting each other.</changelog>
  <changelog author="pgajdos@suse.com" date="1718884800">-  remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]</changelog>
</package>
<package pkgid="4ade8722e16b836b2b011c033cafbc07936df4fc37591a7e0dad27d5af8424364a25c1d60d6e361ff1b39a0a57757582b22a5b4d6d9604e251b8525631c8b2af" name="chromedriver" arch="x86_64">
  <version epoch="0" ver="125.0.6422.141" rel="2.1"/>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1705233600">- Replace chromium-120-lp155-revert-clang-build-failure.patch
  with chromium-120-make_unique-struct.patch - which avoids
  reverting changes and instead provides a stub constructor to fix
  build on Leap</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1705492800">- Chromium 120.0.6099.224 (boo#1218892)
  * CVE-2024-0517: Out of bounds write in V8
  * CVE-2024-0518: Type Confusion in V8
  * CVE-2024-0519: Out of bounds memory access in V8
  * Various fixes from internal audits, fuzzing and other initiatives</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1709380800">- Chromium 121.0.6167.184 (boo#1219118, boo#1219387, boo#1219661)
  * CVE-2024-1284: Use after free in Mojo
  * CVE-2024-1283: Heap buffer overflow in Skia
  * CVE-2024-1060: Use after free in Canvas
  * CVE-2024-1059: Use after free in WebRTC
  * CVE-2024-1077: Use after free in Network
  * CVE-2024-0807: Use after free in WebAudio
  * CVE-2024-0812: Inappropriate implementation in Accessibility
  * CVE-2024-0808: Integer underflow in WebUI
  * CVE-2024-0810: Insufficient policy enforcement in DevTools
  * CVE-2024-0814: Incorrect security UI in Payments
  * CVE-2024-0813: Use after free in Reading Mode
  * CVE-2024-0806: Use after free in Passwords
  * CVE-2024-0805: Inappropriate implementation in Downloads
  * CVE-2024-0804: Insufficient policy enforcement in iOS Security UI
  * CVE-2024-0811: Inappropriate implementation in Extensions API
  * CVE-2024-0809: Inappropriate implementation in Autofill
- Removed patches:
  * chromium-117-includes.patch
  * chromium-118-includes.patch
  * chromium-119-dont-redefine-ATSPI-version-macros.patch
  * chromium-120-missing-header-files.patch
  * chromium-120-no_matching_constructor.patch
  * chromium-120-nullptr_t-without-namespace-std.patch
  * chromium-120-workaround_clang_bug-structured_binding.patch
  * gcc13-fix.patch
  * chromium-113-webauth-include-variant.patch
  * chromium-110-system-libffi.patch
- Added patches:
  * chromium-121-no_matching_constructor.patch
  * chromium-121-nullptr_t-without-namespace-std.patch
  * chromium-121-workaround_clang_bug-structured_binding.patch
  * chromium-121-missing-header-files.patch
  * chromium-121-rust-clang_lib.patch
  * chromium-121-python3-invalid-escape-sequence.patch
  * chromium-121-rust-clang_lib.patch
  * chromium-121-avoid-SFINAE-TypeConverter.patch
  * chromium-121-blink-libxml-const.patch
- Add patch chromium-disable-FFmpegAllowLists.patch:
  disable codec checker this will always fail (bsc#1219070)</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1709899200">- Add Cr121-ffmpeg-new-channel-layout.patch to rollback more FFmpeg
  changes so that FFmpeg 4 will work on Leap
- Prepare for libxml 2.12</changelog>
  <changelog author="ro@suse.de" date="1709899201">- Chromium 122.0.6261.111 (boo#1220131,boo#1220604,boo#1221105)
  * New upstream security release.
  * CVE-2024-2173: Out of bounds memory access in V8.
  * CVE-2024-2174: Inappropriate implementation in V8.
  * CVE-2024-2176: Use after free in FedCM.
- Chromium 122.0.6261.94
  * CVE-2024-1669: Out of bounds memory access in Blink.
  * CVE-2024-1670: Use after free in Mojo.
  * CVE-2024-1671: Inappropriate implementation in Site Isolation.
  * CVE-2024-1672: Inappropriate implementation in Content Security Policy.
  * CVE-2024-1673: Use after free in Accessibility.
  * CVE-2024-1674: Inappropriate implementation in Navigation.
  * CVE-2024-1675: Insufficient policy enforcement in Download.
  * CVE-2024-1676: Inappropriate implementation in Navigation.
  * Type Confusion in V8
  * rediff chromium-disable-GlobalMediaControlsCastStartStop.patch
  * drop chromium-114-lld-argument.patch
    replaced by chromium-122-clang16-disable-auto-upgrade-debug-info.patch
  * drop chromium-121-no_matching_constructor.patch
    replaced by chromium-122-no_matching_constructor.patch
  * drop chromium-113-webview-namespace.patch (obsolete)
  * reduce chromium-norar.patch
    by the hunks in chromium-122-norar.patch
  * drop chromium-114-revert-av1enc-lp154.patch
    replaced by chromium-122-revert-av1enc-el9.patch
  * drop chromium-115-lp155-typename.patch
    chromium-116-lp155-typenames.patch
    chromium-117-lp155-typename.patch
    chromium-120-lp155-typename.patch
    replaced by chromium-122-typename.patch
  * drop chromium-121-missing-header-files.patch
    replaced by chromium-122-missing-header-files.patch
  * drop chromium-121-workaround_clang_bug-structured_binding.patch
    replaced by chromium-122-workaround_clang_bug-structured_binding.patch
  * drop chromium-121-no_matching_constructor.patch
    replaced by chromium-122-no_matching_constructor.patch
  * drop chromium-121-python3-invalid-escape-sequence.patch (upstream)
  * drop chromium-disable-FFmpegAllowLists.patch
    replaced by chromium-122-disable-FFmpegAllowLists.patch
  * drop chromium-121-avoid-SFINAE-TypeConverter.patch
    replaced by chromium-122-avoid-SFINAE-TypeConverter.patch
  * add buildrequires for rust
  * add patches from fedora package for 121 and 122
  * chromium-121-el7-clang-version-warning.patch
  * chromium-121-v8-c++20-p1.patch
  * chromium-121-v8-c++20.patch
  * chromium-122-arm64-memory_tagging.patch
  * chromium-122-clang16-buildflags.patch
  * chromium-122-clang16-disable-auto-upgrade-debug-info.patch
  * chromium-122-clang-build-flags.patch
  * chromium-122-constexpr.patch
  * chromium-122-disable-FFmpegAllowLists.patch
  * chromium-122-el7-default-constructor-involving-anonymous-union.patch
  * chromium-122-el7-extra-operator.patch
  * chromium-122-el7-inline-function.patch
  * chromium-122-el8-support-64kpage.patch
  * chromium-122-missing-header-files.patch
  * chromium-122-no_matching_constructor.patch
  * chromium-122-norar.patch
  * chromium-122-python3-assignment-expressions.patch
  * chromium-122-revert-av1enc-el9.patch
  * chromium-122-static-assert.patch
  * chromium-122-typename.patch
  * chromium-122-unique_ptr.patch
  * chromium-122-workaround_clang_bug-structured_binding.patch
  * from debian add
  * chromium-122-undo-internal-alloc.patch
  * chromium-122-debian-upstream-bitset.patch
  * chromium-122-debian-upstream-mojo.patch
  * chromium-122-debian-upstream-optional.patch
  * chromium-122-debian-upstream-uniqptr.patch
  * chromium-122-debian-fixes-optional.patch
  * added compile fix needed on code15
    chromium-122-skip_bubble_contents_wrapper_static_assert.patch
    to prevent "static assertion expression is not an integral constant expression"
    "in call to 'operator+(&amp;"."[0], ShoppingInsightsSidePanelUI::GetWebUIName())'"
    in bubble_contents_wrapper.h:153
- replace Cr121-ffmpeg-new-channel-layout.patch by
  Cr122-ffmpeg-new-channel-layout.patch (rediff against 122)
- drop chromium-121-system-old-ffmpeg.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1710331200">- Chromium 122.0.6261.128 (boo#1221335)
  * CVE-2024-2400: Use after free in Performance Manager</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1710763200">- Use Python 3.11 on Leap
- Rename chromium-122-skip_bubble_contents_wrapper_static_assert.patch
  to chromium-122-WebUI-static_assert.patch
- Rename chromium-122-disable-FFmpegAllowLists.patch to
  chromium-disable-FFmpegAllowLists.patch
- Rename chromium-122-static-assert.patch to
  chromium-122-BookmarkNode-missing-operator.patch
- Rename chromium-122-undo-internal-alloc.patch to
  chromium-122-PA-undo-internal-alloc.patch
- Rename chromium-122-typename.patch to
  chromium-122-lp155-typename.patch
- Removed patches:
  * chromium-121-v8-c++20-p1.patch
  * chromium-121-v8-c++20.patch
  * chromium-122-unique_ptr.patch
  * chromium-122-python3-assignment-expressions.patch
  * chromium-122-el8-support-64kpage.patch
  * chromium-122-el7-inline-function.patch
  * chromium-122-el7-extra-operator.patch
  * chromium-122-el7-default-constructor-involving-anonymous-union.patch
  * chromium-122-constexpr.patch
  * chromium-122-clang-build-flags.patch
  * chromium-122-clang16-disable-auto-upgrade-debug-info.patch
  * chromium-122-clang16-buildflags.patch
  * chromium-122-arm64-memory_tagging.patch
  * chromium-121-el7-clang-version-warning.patch
  * chromium-116-lp155-url_load_stats-size-t.patch
  * chromium-icu72-2.patch
  * chromium-122-debian-upstream-mojo.patch
- Patches merged into other patches:
  * chromium-122-debian-upstream-bitset.patch
  * chromium-122-debian-upstream-optional.patch
  * chromium-122-debian-upstream-uniqptr.patch
  * chromium-122-debian-fixes-optional.patch
  * chromium-122-norar.patch
- Restore time clamper change to
  chromium-122-missing-header-files.patch
- Fix missing/invalid casting in
  chromium-122-no_matching_constructor.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1713096000">- Chromium 123.0.6312.122 (boo#1222707)
  * CVE-2024-3157: Out of bounds write in Compositing
  * CVE-2024-3516: Heap buffer overflow in ANGLE
  * CVE-2024-3515: Use after free in Dawn
- Chromium 123.0.6312.105 (boo#1222260)
  * CVE-2024-3156: Inappropriate implementation in V8
  * CVE-2024-3158: Use after free in Bookmarks
  * CVE-2024-3159: Out of bounds memory access in V8
- Chromium 123.0.6312.86 (boo#1222035)
  * CVE-2024-2883: Use after free in ANGLE
  * CVE-2024-2885: Use after free in Dawn
  * CVE-2024-2886: Use after free in WebCodecs
  * CVE-2024-2887: Type Confusion in WebAssembly
- Chromium 123.0.6312.58 (boo#1221732)
  * CVE-2024-2625: Object lifecycle issue in V8
  * CVE-2024-2626: Out of bounds read in Swiftshader
  * CVE-2024-2627: Use after free in Canvas
  * CVE-2024-2628: Inappropriate implementation in Downloads
- drop patches:
  * chromium-117-blink-BUILD-mnemonic.patch
  * chromium-121-blink-libxml-const.patch
  * chromium-122-BookmarkNode-missing-operator.patch
  * chromium-122-WebUI-static_assert.patch
  * chromium-122-PA-undo-internal-alloc.patch</changelog>
  <changelog author="ro@suse.de" date="1713355200">- Chromium 124.0.6367.60 (boo#1222958)
  * CVE-2024-3832: Object corruption in V8.
  * CVE-2024-3833: Object corruption in WebAssembly.
  * CVE-2024-3834: Use after free in Downloads. Reported by ChaobinZhang
  * CVE-2024-3837: Use after free in QUIC.
  * CVE-2024-3838: Inappropriate implementation in Autofill.
  * CVE-2024-3839: Out of bounds read in Fonts.
  * CVE-2024-3840: Insufficient policy enforcement in Site Isolation.
  * CVE-2024-3841: Insufficient data validation in Browser Switcher.
  * CVE-2024-3843: Insufficient data validation in Downloads.
  * CVE-2024-3844: Inappropriate implementation in Extensions.
  * CVE-2024-3845: Inappropriate implementation in Network.
  * CVE-2024-3846: Inappropriate implementation in Prompts.
  * CVE-2024-3847: Insufficient policy enforcement in WebUI.
- drop patches:
  * chromium-123-optional2.patch
  * chromium-122-avoid-SFINAE-TypeConverter.patch
  * chromium-123-PA-InternalAllocator.patch
- rediff patches:
  * chromium-110-compiler.patch
  * chromium-120-emplace.patch
  * chromium-122-no_matching_constructor.patch
  * chromium-122-lp155-typename.patch
- add patches: from debian/fixes
  * chromium-123-stats-collector.patch
- add patches: from debian/upstream
  * chromium-124-angle-powf.patch
  * chromium-124-atomic.patch
  * chromium-124-extractor-bitset.patch
  * chromium-124-fps-optional.patch
  * chromium-124-span-optional.patch
  * chromium-124-uint-includes.patch
  * chromium-124-webgpu-optional.patch
- add patches:
  * chromium-123-WebUI-static_assert.patch
    workaround for compile issue in webui_contents_wrapper.h
  * chromium-124-system-libxml.patch (from fedora)</changelog>
  <changelog author="ro@suse.de" date="1714132800">- Chromium 124.0.6367.78 (boo#1223845)
  * CVE-2024-4058: Type Confusion in ANGLE
  * CVE-2024-4059: Out of bounds read in V8 API
  * CVE-2024-4060: Use after free in Dawn</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1714564800">- Add patches:
  * chromium-123-missing-QtGui.patch
- Restore libxml 2.12 check for chromium-124-system-libxml.patch
  which replaced chromium-121-blink-libxml-const.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714651200">- Chromium 124.0.6367.118 (boo#1223846)
  * CVE-2024-4331: Use after free in Picture In Picture
  * CVE-2024-4368: Use after free in Dawn</changelog>
  <changelog author="ro@suse.de" date="1714737600">- drop patches:
  * chromium-123-WebUI-static_assert.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1715342400">- Chromium 124.0.6367.201 (boo#1224208)
  * CVE-2024-4671: Use after free in Visuals
- Chromium 124.0.6367.155 (boo#1224045)
  * CVE-2024-4558: Use after free in ANGLE
  * CVE-2024-4559: Heap buffer overflow in WebAudio</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1715688000">- Chromium 124.0.6367.207 (boo#1224294)
  * CVE-2024-4761: Out of bounds write in V8</changelog>
  <changelog author="ro@suse.de" date="1715860800">- Chromium 125.0.6422.60 (boo#1224341)
  * CVE-2024-4947: Type Confusion in V8
  * CVE-2024-4948: Use after free in Dawn
  * CVE-2024-4949: Use after free in V8
  * CVE-2024-4950: Inappropriate implementation in Downloads
- Chromium 125.0.6422.41
  * New upstream (early) stable release.
- drop upstreamed patches:
  * chromium-124-uint-includes.patch
  * chromium-124-fps-optional.patch
  * chromium-124-span-optional.patch
  * chromium-124-extractor-bitset.patch
  * chromium-124-atomic.patch
  * chromium-124-webgpu-optional.patch
  * chromium-124-angle-powf.patch
- add debian upstream patches added for 125:
  * chromium-125-appservice-include.patch
  * chromium-125-lens-include.patch
  * chromium-125-mojo-bindings-include.patch
  * chromium-125-no-vector-consts.patch
  * chromium-125-vulkan-include.patch
  * chromium-125-tabstrip-include.patch
  * chromium-125-ninja.patch
- add debian fixes patches to fix font gc crashes:
  * chromium-125-debian-bad-font-gc0000.patch
  * chromium-125-debian-bad-font-gc000.patch
  * chromium-125-debian-bad-font-gc00.patch
  * chromium-125-debian-bad-font-gc0.patch
  * chromium-125-debian-bad-font-gc11.patch
  * chromium-125-debian-bad-font-gc1.patch
  * chromium-125-debian-bad-font-gc2.patch
  * chromium-125-debian-bad-font-gc3.patch
- add from fedora (reverse applied for older ffmpeg):
  * chromium-125-ffmpeg-5.x-reordered_opaque.patch
- re-diff and rename:
  * from chromium-110-compiler.patch
    to chromium-125-compiler.patch
  * from chromium-120-emplace-struct.patch
    to chromium-125-emplace-struct.patch
  * from chromium-disable-FFmpegAllowLists.patch
    to chromium-125-disable-FFmpegAllowLists.patch
  * from chromium-122-missing-header-files.patch
    to chromium-125-missing-header-files.patch
  * from chromium-122-no_matching_constructor.patch
    to chromium-125-no_matching_constructor.patch
  * from chromium-122-lp155-typename.patch
    to chromium-125-lp155-typename.patch
- third_party/zstd
  added to keeplibs for
  third_party/blink/renderer/platform:platform
- third_party/tflite/src/third_party/xla/xla/tsl/util
  added to keeplibs for
  third_party/tflite/tflite
- third_party/lens_server_proto
  added to keeplibs for
  gen/third_party/lens_server_proto</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1716292800">- Chromium 125.0.6422.76 (boo#1224818)
  * CVE-2024-5157: Use after free in Scheduling
  * CVE-2024-5158: Type Confusion in V8
  * CVE-2024-5159: Heap buffer overflow in ANGLE
  * CVE-2024-5160: Heap buffer overflow in Dawn
  * Various fixes from internal audits, fuzzing and other initiatives</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1716552000">- Chromium 125.0.6422.112
  * CVE-2024-5274: Type Confusion in V8 (boo#1225199)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1717156800">- Chromium 125.0.6422.141 (boo#1225690)
  * CVE-2024-5493: Heap buffer overflow in WebRTC
  * CVE-2024-5494: Use after free in Dawn
  * CVE-2024-5495: Use after free in Dawn
  * CVE-2024-5496: Use after free in Media Session
  * CVE-2024-5497: Out of bounds memory access in Keyboard Inputs
  * CVE-2024-5498: Use after free in Presentation API
  * CVE-2024-5499: Out of bounds write in Streams API</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1718193600">- Amend fix_building_widevinecdm_with_chromium.patch to allow
  Widevine on ARM64 (bsc#1226170)</changelog>
</package>
<package pkgid="516e661484e953c678c3d80fab9e942a5d6fa940125ab921cd7b6af25ddd2f29551d856c846145c03bc93ad32a0a7c41224b1228f2440d2dfd92c51b768eee93" name="chromium" arch="src">
  <version epoch="0" ver="125.0.6422.141" rel="2.1"/>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1705233600">- Replace chromium-120-lp155-revert-clang-build-failure.patch
  with chromium-120-make_unique-struct.patch - which avoids
  reverting changes and instead provides a stub constructor to fix
  build on Leap</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1705492800">- Chromium 120.0.6099.224 (boo#1218892)
  * CVE-2024-0517: Out of bounds write in V8
  * CVE-2024-0518: Type Confusion in V8
  * CVE-2024-0519: Out of bounds memory access in V8
  * Various fixes from internal audits, fuzzing and other initiatives</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1709380800">- Chromium 121.0.6167.184 (boo#1219118, boo#1219387, boo#1219661)
  * CVE-2024-1284: Use after free in Mojo
  * CVE-2024-1283: Heap buffer overflow in Skia
  * CVE-2024-1060: Use after free in Canvas
  * CVE-2024-1059: Use after free in WebRTC
  * CVE-2024-1077: Use after free in Network
  * CVE-2024-0807: Use after free in WebAudio
  * CVE-2024-0812: Inappropriate implementation in Accessibility
  * CVE-2024-0808: Integer underflow in WebUI
  * CVE-2024-0810: Insufficient policy enforcement in DevTools
  * CVE-2024-0814: Incorrect security UI in Payments
  * CVE-2024-0813: Use after free in Reading Mode
  * CVE-2024-0806: Use after free in Passwords
  * CVE-2024-0805: Inappropriate implementation in Downloads
  * CVE-2024-0804: Insufficient policy enforcement in iOS Security UI
  * CVE-2024-0811: Inappropriate implementation in Extensions API
  * CVE-2024-0809: Inappropriate implementation in Autofill
- Removed patches:
  * chromium-117-includes.patch
  * chromium-118-includes.patch
  * chromium-119-dont-redefine-ATSPI-version-macros.patch
  * chromium-120-missing-header-files.patch
  * chromium-120-no_matching_constructor.patch
  * chromium-120-nullptr_t-without-namespace-std.patch
  * chromium-120-workaround_clang_bug-structured_binding.patch
  * gcc13-fix.patch
  * chromium-113-webauth-include-variant.patch
  * chromium-110-system-libffi.patch
- Added patches:
  * chromium-121-no_matching_constructor.patch
  * chromium-121-nullptr_t-without-namespace-std.patch
  * chromium-121-workaround_clang_bug-structured_binding.patch
  * chromium-121-missing-header-files.patch
  * chromium-121-rust-clang_lib.patch
  * chromium-121-python3-invalid-escape-sequence.patch
  * chromium-121-rust-clang_lib.patch
  * chromium-121-avoid-SFINAE-TypeConverter.patch
  * chromium-121-blink-libxml-const.patch
- Add patch chromium-disable-FFmpegAllowLists.patch:
  disable codec checker this will always fail (bsc#1219070)</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1709899200">- Add Cr121-ffmpeg-new-channel-layout.patch to rollback more FFmpeg
  changes so that FFmpeg 4 will work on Leap
- Prepare for libxml 2.12</changelog>
  <changelog author="ro@suse.de" date="1709899201">- Chromium 122.0.6261.111 (boo#1220131,boo#1220604,boo#1221105)
  * New upstream security release.
  * CVE-2024-2173: Out of bounds memory access in V8.
  * CVE-2024-2174: Inappropriate implementation in V8.
  * CVE-2024-2176: Use after free in FedCM.
- Chromium 122.0.6261.94
  * CVE-2024-1669: Out of bounds memory access in Blink.
  * CVE-2024-1670: Use after free in Mojo.
  * CVE-2024-1671: Inappropriate implementation in Site Isolation.
  * CVE-2024-1672: Inappropriate implementation in Content Security Policy.
  * CVE-2024-1673: Use after free in Accessibility.
  * CVE-2024-1674: Inappropriate implementation in Navigation.
  * CVE-2024-1675: Insufficient policy enforcement in Download.
  * CVE-2024-1676: Inappropriate implementation in Navigation.
  * Type Confusion in V8
  * rediff chromium-disable-GlobalMediaControlsCastStartStop.patch
  * drop chromium-114-lld-argument.patch
    replaced by chromium-122-clang16-disable-auto-upgrade-debug-info.patch
  * drop chromium-121-no_matching_constructor.patch
    replaced by chromium-122-no_matching_constructor.patch
  * drop chromium-113-webview-namespace.patch (obsolete)
  * reduce chromium-norar.patch
    by the hunks in chromium-122-norar.patch
  * drop chromium-114-revert-av1enc-lp154.patch
    replaced by chromium-122-revert-av1enc-el9.patch
  * drop chromium-115-lp155-typename.patch
    chromium-116-lp155-typenames.patch
    chromium-117-lp155-typename.patch
    chromium-120-lp155-typename.patch
    replaced by chromium-122-typename.patch
  * drop chromium-121-missing-header-files.patch
    replaced by chromium-122-missing-header-files.patch
  * drop chromium-121-workaround_clang_bug-structured_binding.patch
    replaced by chromium-122-workaround_clang_bug-structured_binding.patch
  * drop chromium-121-no_matching_constructor.patch
    replaced by chromium-122-no_matching_constructor.patch
  * drop chromium-121-python3-invalid-escape-sequence.patch (upstream)
  * drop chromium-disable-FFmpegAllowLists.patch
    replaced by chromium-122-disable-FFmpegAllowLists.patch
  * drop chromium-121-avoid-SFINAE-TypeConverter.patch
    replaced by chromium-122-avoid-SFINAE-TypeConverter.patch
  * add buildrequires for rust
  * add patches from fedora package for 121 and 122
  * chromium-121-el7-clang-version-warning.patch
  * chromium-121-v8-c++20-p1.patch
  * chromium-121-v8-c++20.patch
  * chromium-122-arm64-memory_tagging.patch
  * chromium-122-clang16-buildflags.patch
  * chromium-122-clang16-disable-auto-upgrade-debug-info.patch
  * chromium-122-clang-build-flags.patch
  * chromium-122-constexpr.patch
  * chromium-122-disable-FFmpegAllowLists.patch
  * chromium-122-el7-default-constructor-involving-anonymous-union.patch
  * chromium-122-el7-extra-operator.patch
  * chromium-122-el7-inline-function.patch
  * chromium-122-el8-support-64kpage.patch
  * chromium-122-missing-header-files.patch
  * chromium-122-no_matching_constructor.patch
  * chromium-122-norar.patch
  * chromium-122-python3-assignment-expressions.patch
  * chromium-122-revert-av1enc-el9.patch
  * chromium-122-static-assert.patch
  * chromium-122-typename.patch
  * chromium-122-unique_ptr.patch
  * chromium-122-workaround_clang_bug-structured_binding.patch
  * from debian add
  * chromium-122-undo-internal-alloc.patch
  * chromium-122-debian-upstream-bitset.patch
  * chromium-122-debian-upstream-mojo.patch
  * chromium-122-debian-upstream-optional.patch
  * chromium-122-debian-upstream-uniqptr.patch
  * chromium-122-debian-fixes-optional.patch
  * added compile fix needed on code15
    chromium-122-skip_bubble_contents_wrapper_static_assert.patch
    to prevent "static assertion expression is not an integral constant expression"
    "in call to 'operator+(&amp;"."[0], ShoppingInsightsSidePanelUI::GetWebUIName())'"
    in bubble_contents_wrapper.h:153
- replace Cr121-ffmpeg-new-channel-layout.patch by
  Cr122-ffmpeg-new-channel-layout.patch (rediff against 122)
- drop chromium-121-system-old-ffmpeg.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1710331200">- Chromium 122.0.6261.128 (boo#1221335)
  * CVE-2024-2400: Use after free in Performance Manager</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1710763200">- Use Python 3.11 on Leap
- Rename chromium-122-skip_bubble_contents_wrapper_static_assert.patch
  to chromium-122-WebUI-static_assert.patch
- Rename chromium-122-disable-FFmpegAllowLists.patch to
  chromium-disable-FFmpegAllowLists.patch
- Rename chromium-122-static-assert.patch to
  chromium-122-BookmarkNode-missing-operator.patch
- Rename chromium-122-undo-internal-alloc.patch to
  chromium-122-PA-undo-internal-alloc.patch
- Rename chromium-122-typename.patch to
  chromium-122-lp155-typename.patch
- Removed patches:
  * chromium-121-v8-c++20-p1.patch
  * chromium-121-v8-c++20.patch
  * chromium-122-unique_ptr.patch
  * chromium-122-python3-assignment-expressions.patch
  * chromium-122-el8-support-64kpage.patch
  * chromium-122-el7-inline-function.patch
  * chromium-122-el7-extra-operator.patch
  * chromium-122-el7-default-constructor-involving-anonymous-union.patch
  * chromium-122-constexpr.patch
  * chromium-122-clang-build-flags.patch
  * chromium-122-clang16-disable-auto-upgrade-debug-info.patch
  * chromium-122-clang16-buildflags.patch
  * chromium-122-arm64-memory_tagging.patch
  * chromium-121-el7-clang-version-warning.patch
  * chromium-116-lp155-url_load_stats-size-t.patch
  * chromium-icu72-2.patch
  * chromium-122-debian-upstream-mojo.patch
- Patches merged into other patches:
  * chromium-122-debian-upstream-bitset.patch
  * chromium-122-debian-upstream-optional.patch
  * chromium-122-debian-upstream-uniqptr.patch
  * chromium-122-debian-fixes-optional.patch
  * chromium-122-norar.patch
- Restore time clamper change to
  chromium-122-missing-header-files.patch
- Fix missing/invalid casting in
  chromium-122-no_matching_constructor.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1713096000">- Chromium 123.0.6312.122 (boo#1222707)
  * CVE-2024-3157: Out of bounds write in Compositing
  * CVE-2024-3516: Heap buffer overflow in ANGLE
  * CVE-2024-3515: Use after free in Dawn
- Chromium 123.0.6312.105 (boo#1222260)
  * CVE-2024-3156: Inappropriate implementation in V8
  * CVE-2024-3158: Use after free in Bookmarks
  * CVE-2024-3159: Out of bounds memory access in V8
- Chromium 123.0.6312.86 (boo#1222035)
  * CVE-2024-2883: Use after free in ANGLE
  * CVE-2024-2885: Use after free in Dawn
  * CVE-2024-2886: Use after free in WebCodecs
  * CVE-2024-2887: Type Confusion in WebAssembly
- Chromium 123.0.6312.58 (boo#1221732)
  * CVE-2024-2625: Object lifecycle issue in V8
  * CVE-2024-2626: Out of bounds read in Swiftshader
  * CVE-2024-2627: Use after free in Canvas
  * CVE-2024-2628: Inappropriate implementation in Downloads
- drop patches:
  * chromium-117-blink-BUILD-mnemonic.patch
  * chromium-121-blink-libxml-const.patch
  * chromium-122-BookmarkNode-missing-operator.patch
  * chromium-122-WebUI-static_assert.patch
  * chromium-122-PA-undo-internal-alloc.patch</changelog>
  <changelog author="ro@suse.de" date="1713355200">- Chromium 124.0.6367.60 (boo#1222958)
  * CVE-2024-3832: Object corruption in V8.
  * CVE-2024-3833: Object corruption in WebAssembly.
  * CVE-2024-3834: Use after free in Downloads. Reported by ChaobinZhang
  * CVE-2024-3837: Use after free in QUIC.
  * CVE-2024-3838: Inappropriate implementation in Autofill.
  * CVE-2024-3839: Out of bounds read in Fonts.
  * CVE-2024-3840: Insufficient policy enforcement in Site Isolation.
  * CVE-2024-3841: Insufficient data validation in Browser Switcher.
  * CVE-2024-3843: Insufficient data validation in Downloads.
  * CVE-2024-3844: Inappropriate implementation in Extensions.
  * CVE-2024-3845: Inappropriate implementation in Network.
  * CVE-2024-3846: Inappropriate implementation in Prompts.
  * CVE-2024-3847: Insufficient policy enforcement in WebUI.
- drop patches:
  * chromium-123-optional2.patch
  * chromium-122-avoid-SFINAE-TypeConverter.patch
  * chromium-123-PA-InternalAllocator.patch
- rediff patches:
  * chromium-110-compiler.patch
  * chromium-120-emplace.patch
  * chromium-122-no_matching_constructor.patch
  * chromium-122-lp155-typename.patch
- add patches: from debian/fixes
  * chromium-123-stats-collector.patch
- add patches: from debian/upstream
  * chromium-124-angle-powf.patch
  * chromium-124-atomic.patch
  * chromium-124-extractor-bitset.patch
  * chromium-124-fps-optional.patch
  * chromium-124-span-optional.patch
  * chromium-124-uint-includes.patch
  * chromium-124-webgpu-optional.patch
- add patches:
  * chromium-123-WebUI-static_assert.patch
    workaround for compile issue in webui_contents_wrapper.h
  * chromium-124-system-libxml.patch (from fedora)</changelog>
  <changelog author="ro@suse.de" date="1714132800">- Chromium 124.0.6367.78 (boo#1223845)
  * CVE-2024-4058: Type Confusion in ANGLE
  * CVE-2024-4059: Out of bounds read in V8 API
  * CVE-2024-4060: Use after free in Dawn</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1714564800">- Add patches:
  * chromium-123-missing-QtGui.patch
- Restore libxml 2.12 check for chromium-124-system-libxml.patch
  which replaced chromium-121-blink-libxml-const.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714651200">- Chromium 124.0.6367.118 (boo#1223846)
  * CVE-2024-4331: Use after free in Picture In Picture
  * CVE-2024-4368: Use after free in Dawn</changelog>
  <changelog author="ro@suse.de" date="1714737600">- drop patches:
  * chromium-123-WebUI-static_assert.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1715342400">- Chromium 124.0.6367.201 (boo#1224208)
  * CVE-2024-4671: Use after free in Visuals
- Chromium 124.0.6367.155 (boo#1224045)
  * CVE-2024-4558: Use after free in ANGLE
  * CVE-2024-4559: Heap buffer overflow in WebAudio</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1715688000">- Chromium 124.0.6367.207 (boo#1224294)
  * CVE-2024-4761: Out of bounds write in V8</changelog>
  <changelog author="ro@suse.de" date="1715860800">- Chromium 125.0.6422.60 (boo#1224341)
  * CVE-2024-4947: Type Confusion in V8
  * CVE-2024-4948: Use after free in Dawn
  * CVE-2024-4949: Use after free in V8
  * CVE-2024-4950: Inappropriate implementation in Downloads
- Chromium 125.0.6422.41
  * New upstream (early) stable release.
- drop upstreamed patches:
  * chromium-124-uint-includes.patch
  * chromium-124-fps-optional.patch
  * chromium-124-span-optional.patch
  * chromium-124-extractor-bitset.patch
  * chromium-124-atomic.patch
  * chromium-124-webgpu-optional.patch
  * chromium-124-angle-powf.patch
- add debian upstream patches added for 125:
  * chromium-125-appservice-include.patch
  * chromium-125-lens-include.patch
  * chromium-125-mojo-bindings-include.patch
  * chromium-125-no-vector-consts.patch
  * chromium-125-vulkan-include.patch
  * chromium-125-tabstrip-include.patch
  * chromium-125-ninja.patch
- add debian fixes patches to fix font gc crashes:
  * chromium-125-debian-bad-font-gc0000.patch
  * chromium-125-debian-bad-font-gc000.patch
  * chromium-125-debian-bad-font-gc00.patch
  * chromium-125-debian-bad-font-gc0.patch
  * chromium-125-debian-bad-font-gc11.patch
  * chromium-125-debian-bad-font-gc1.patch
  * chromium-125-debian-bad-font-gc2.patch
  * chromium-125-debian-bad-font-gc3.patch
- add from fedora (reverse applied for older ffmpeg):
  * chromium-125-ffmpeg-5.x-reordered_opaque.patch
- re-diff and rename:
  * from chromium-110-compiler.patch
    to chromium-125-compiler.patch
  * from chromium-120-emplace-struct.patch
    to chromium-125-emplace-struct.patch
  * from chromium-disable-FFmpegAllowLists.patch
    to chromium-125-disable-FFmpegAllowLists.patch
  * from chromium-122-missing-header-files.patch
    to chromium-125-missing-header-files.patch
  * from chromium-122-no_matching_constructor.patch
    to chromium-125-no_matching_constructor.patch
  * from chromium-122-lp155-typename.patch
    to chromium-125-lp155-typename.patch
- third_party/zstd
  added to keeplibs for
  third_party/blink/renderer/platform:platform
- third_party/tflite/src/third_party/xla/xla/tsl/util
  added to keeplibs for
  third_party/tflite/tflite
- third_party/lens_server_proto
  added to keeplibs for
  gen/third_party/lens_server_proto</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1716292800">- Chromium 125.0.6422.76 (boo#1224818)
  * CVE-2024-5157: Use after free in Scheduling
  * CVE-2024-5158: Type Confusion in V8
  * CVE-2024-5159: Heap buffer overflow in ANGLE
  * CVE-2024-5160: Heap buffer overflow in Dawn
  * Various fixes from internal audits, fuzzing and other initiatives</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1716552000">- Chromium 125.0.6422.112
  * CVE-2024-5274: Type Confusion in V8 (boo#1225199)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1717156800">- Chromium 125.0.6422.141 (boo#1225690)
  * CVE-2024-5493: Heap buffer overflow in WebRTC
  * CVE-2024-5494: Use after free in Dawn
  * CVE-2024-5495: Use after free in Dawn
  * CVE-2024-5496: Use after free in Media Session
  * CVE-2024-5497: Out of bounds memory access in Keyboard Inputs
  * CVE-2024-5498: Use after free in Presentation API
  * CVE-2024-5499: Out of bounds write in Streams API</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1718193600">- Amend fix_building_widevinecdm_with_chromium.patch to allow
  Widevine on ARM64 (bsc#1226170)</changelog>
</package>
<package pkgid="a97d2055a5137d5bbdf83eb599ac6df83db097a179f6d15825bb737a8868cbb94ab5b670cc0550abba2ea739e1e37d7db785354c9eaaf2b79a5a09ecc63a75cc" name="chromium" arch="x86_64">
  <version epoch="0" ver="125.0.6422.141" rel="2.1"/>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1705233600">- Replace chromium-120-lp155-revert-clang-build-failure.patch
  with chromium-120-make_unique-struct.patch - which avoids
  reverting changes and instead provides a stub constructor to fix
  build on Leap</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1705492800">- Chromium 120.0.6099.224 (boo#1218892)
  * CVE-2024-0517: Out of bounds write in V8
  * CVE-2024-0518: Type Confusion in V8
  * CVE-2024-0519: Out of bounds memory access in V8
  * Various fixes from internal audits, fuzzing and other initiatives</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1709380800">- Chromium 121.0.6167.184 (boo#1219118, boo#1219387, boo#1219661)
  * CVE-2024-1284: Use after free in Mojo
  * CVE-2024-1283: Heap buffer overflow in Skia
  * CVE-2024-1060: Use after free in Canvas
  * CVE-2024-1059: Use after free in WebRTC
  * CVE-2024-1077: Use after free in Network
  * CVE-2024-0807: Use after free in WebAudio
  * CVE-2024-0812: Inappropriate implementation in Accessibility
  * CVE-2024-0808: Integer underflow in WebUI
  * CVE-2024-0810: Insufficient policy enforcement in DevTools
  * CVE-2024-0814: Incorrect security UI in Payments
  * CVE-2024-0813: Use after free in Reading Mode
  * CVE-2024-0806: Use after free in Passwords
  * CVE-2024-0805: Inappropriate implementation in Downloads
  * CVE-2024-0804: Insufficient policy enforcement in iOS Security UI
  * CVE-2024-0811: Inappropriate implementation in Extensions API
  * CVE-2024-0809: Inappropriate implementation in Autofill
- Removed patches:
  * chromium-117-includes.patch
  * chromium-118-includes.patch
  * chromium-119-dont-redefine-ATSPI-version-macros.patch
  * chromium-120-missing-header-files.patch
  * chromium-120-no_matching_constructor.patch
  * chromium-120-nullptr_t-without-namespace-std.patch
  * chromium-120-workaround_clang_bug-structured_binding.patch
  * gcc13-fix.patch
  * chromium-113-webauth-include-variant.patch
  * chromium-110-system-libffi.patch
- Added patches:
  * chromium-121-no_matching_constructor.patch
  * chromium-121-nullptr_t-without-namespace-std.patch
  * chromium-121-workaround_clang_bug-structured_binding.patch
  * chromium-121-missing-header-files.patch
  * chromium-121-rust-clang_lib.patch
  * chromium-121-python3-invalid-escape-sequence.patch
  * chromium-121-rust-clang_lib.patch
  * chromium-121-avoid-SFINAE-TypeConverter.patch
  * chromium-121-blink-libxml-const.patch
- Add patch chromium-disable-FFmpegAllowLists.patch:
  disable codec checker this will always fail (bsc#1219070)</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1709899200">- Add Cr121-ffmpeg-new-channel-layout.patch to rollback more FFmpeg
  changes so that FFmpeg 4 will work on Leap
- Prepare for libxml 2.12</changelog>
  <changelog author="ro@suse.de" date="1709899201">- Chromium 122.0.6261.111 (boo#1220131,boo#1220604,boo#1221105)
  * New upstream security release.
  * CVE-2024-2173: Out of bounds memory access in V8.
  * CVE-2024-2174: Inappropriate implementation in V8.
  * CVE-2024-2176: Use after free in FedCM.
- Chromium 122.0.6261.94
  * CVE-2024-1669: Out of bounds memory access in Blink.
  * CVE-2024-1670: Use after free in Mojo.
  * CVE-2024-1671: Inappropriate implementation in Site Isolation.
  * CVE-2024-1672: Inappropriate implementation in Content Security Policy.
  * CVE-2024-1673: Use after free in Accessibility.
  * CVE-2024-1674: Inappropriate implementation in Navigation.
  * CVE-2024-1675: Insufficient policy enforcement in Download.
  * CVE-2024-1676: Inappropriate implementation in Navigation.
  * Type Confusion in V8
  * rediff chromium-disable-GlobalMediaControlsCastStartStop.patch
  * drop chromium-114-lld-argument.patch
    replaced by chromium-122-clang16-disable-auto-upgrade-debug-info.patch
  * drop chromium-121-no_matching_constructor.patch
    replaced by chromium-122-no_matching_constructor.patch
  * drop chromium-113-webview-namespace.patch (obsolete)
  * reduce chromium-norar.patch
    by the hunks in chromium-122-norar.patch
  * drop chromium-114-revert-av1enc-lp154.patch
    replaced by chromium-122-revert-av1enc-el9.patch
  * drop chromium-115-lp155-typename.patch
    chromium-116-lp155-typenames.patch
    chromium-117-lp155-typename.patch
    chromium-120-lp155-typename.patch
    replaced by chromium-122-typename.patch
  * drop chromium-121-missing-header-files.patch
    replaced by chromium-122-missing-header-files.patch
  * drop chromium-121-workaround_clang_bug-structured_binding.patch
    replaced by chromium-122-workaround_clang_bug-structured_binding.patch
  * drop chromium-121-no_matching_constructor.patch
    replaced by chromium-122-no_matching_constructor.patch
  * drop chromium-121-python3-invalid-escape-sequence.patch (upstream)
  * drop chromium-disable-FFmpegAllowLists.patch
    replaced by chromium-122-disable-FFmpegAllowLists.patch
  * drop chromium-121-avoid-SFINAE-TypeConverter.patch
    replaced by chromium-122-avoid-SFINAE-TypeConverter.patch
  * add buildrequires for rust
  * add patches from fedora package for 121 and 122
  * chromium-121-el7-clang-version-warning.patch
  * chromium-121-v8-c++20-p1.patch
  * chromium-121-v8-c++20.patch
  * chromium-122-arm64-memory_tagging.patch
  * chromium-122-clang16-buildflags.patch
  * chromium-122-clang16-disable-auto-upgrade-debug-info.patch
  * chromium-122-clang-build-flags.patch
  * chromium-122-constexpr.patch
  * chromium-122-disable-FFmpegAllowLists.patch
  * chromium-122-el7-default-constructor-involving-anonymous-union.patch
  * chromium-122-el7-extra-operator.patch
  * chromium-122-el7-inline-function.patch
  * chromium-122-el8-support-64kpage.patch
  * chromium-122-missing-header-files.patch
  * chromium-122-no_matching_constructor.patch
  * chromium-122-norar.patch
  * chromium-122-python3-assignment-expressions.patch
  * chromium-122-revert-av1enc-el9.patch
  * chromium-122-static-assert.patch
  * chromium-122-typename.patch
  * chromium-122-unique_ptr.patch
  * chromium-122-workaround_clang_bug-structured_binding.patch
  * from debian add
  * chromium-122-undo-internal-alloc.patch
  * chromium-122-debian-upstream-bitset.patch
  * chromium-122-debian-upstream-mojo.patch
  * chromium-122-debian-upstream-optional.patch
  * chromium-122-debian-upstream-uniqptr.patch
  * chromium-122-debian-fixes-optional.patch
  * added compile fix needed on code15
    chromium-122-skip_bubble_contents_wrapper_static_assert.patch
    to prevent "static assertion expression is not an integral constant expression"
    "in call to 'operator+(&amp;"."[0], ShoppingInsightsSidePanelUI::GetWebUIName())'"
    in bubble_contents_wrapper.h:153
- replace Cr121-ffmpeg-new-channel-layout.patch by
  Cr122-ffmpeg-new-channel-layout.patch (rediff against 122)
- drop chromium-121-system-old-ffmpeg.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1710331200">- Chromium 122.0.6261.128 (boo#1221335)
  * CVE-2024-2400: Use after free in Performance Manager</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1710763200">- Use Python 3.11 on Leap
- Rename chromium-122-skip_bubble_contents_wrapper_static_assert.patch
  to chromium-122-WebUI-static_assert.patch
- Rename chromium-122-disable-FFmpegAllowLists.patch to
  chromium-disable-FFmpegAllowLists.patch
- Rename chromium-122-static-assert.patch to
  chromium-122-BookmarkNode-missing-operator.patch
- Rename chromium-122-undo-internal-alloc.patch to
  chromium-122-PA-undo-internal-alloc.patch
- Rename chromium-122-typename.patch to
  chromium-122-lp155-typename.patch
- Removed patches:
  * chromium-121-v8-c++20-p1.patch
  * chromium-121-v8-c++20.patch
  * chromium-122-unique_ptr.patch
  * chromium-122-python3-assignment-expressions.patch
  * chromium-122-el8-support-64kpage.patch
  * chromium-122-el7-inline-function.patch
  * chromium-122-el7-extra-operator.patch
  * chromium-122-el7-default-constructor-involving-anonymous-union.patch
  * chromium-122-constexpr.patch
  * chromium-122-clang-build-flags.patch
  * chromium-122-clang16-disable-auto-upgrade-debug-info.patch
  * chromium-122-clang16-buildflags.patch
  * chromium-122-arm64-memory_tagging.patch
  * chromium-121-el7-clang-version-warning.patch
  * chromium-116-lp155-url_load_stats-size-t.patch
  * chromium-icu72-2.patch
  * chromium-122-debian-upstream-mojo.patch
- Patches merged into other patches:
  * chromium-122-debian-upstream-bitset.patch
  * chromium-122-debian-upstream-optional.patch
  * chromium-122-debian-upstream-uniqptr.patch
  * chromium-122-debian-fixes-optional.patch
  * chromium-122-norar.patch
- Restore time clamper change to
  chromium-122-missing-header-files.patch
- Fix missing/invalid casting in
  chromium-122-no_matching_constructor.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1713096000">- Chromium 123.0.6312.122 (boo#1222707)
  * CVE-2024-3157: Out of bounds write in Compositing
  * CVE-2024-3516: Heap buffer overflow in ANGLE
  * CVE-2024-3515: Use after free in Dawn
- Chromium 123.0.6312.105 (boo#1222260)
  * CVE-2024-3156: Inappropriate implementation in V8
  * CVE-2024-3158: Use after free in Bookmarks
  * CVE-2024-3159: Out of bounds memory access in V8
- Chromium 123.0.6312.86 (boo#1222035)
  * CVE-2024-2883: Use after free in ANGLE
  * CVE-2024-2885: Use after free in Dawn
  * CVE-2024-2886: Use after free in WebCodecs
  * CVE-2024-2887: Type Confusion in WebAssembly
- Chromium 123.0.6312.58 (boo#1221732)
  * CVE-2024-2625: Object lifecycle issue in V8
  * CVE-2024-2626: Out of bounds read in Swiftshader
  * CVE-2024-2627: Use after free in Canvas
  * CVE-2024-2628: Inappropriate implementation in Downloads
- drop patches:
  * chromium-117-blink-BUILD-mnemonic.patch
  * chromium-121-blink-libxml-const.patch
  * chromium-122-BookmarkNode-missing-operator.patch
  * chromium-122-WebUI-static_assert.patch
  * chromium-122-PA-undo-internal-alloc.patch</changelog>
  <changelog author="ro@suse.de" date="1713355200">- Chromium 124.0.6367.60 (boo#1222958)
  * CVE-2024-3832: Object corruption in V8.
  * CVE-2024-3833: Object corruption in WebAssembly.
  * CVE-2024-3834: Use after free in Downloads. Reported by ChaobinZhang
  * CVE-2024-3837: Use after free in QUIC.
  * CVE-2024-3838: Inappropriate implementation in Autofill.
  * CVE-2024-3839: Out of bounds read in Fonts.
  * CVE-2024-3840: Insufficient policy enforcement in Site Isolation.
  * CVE-2024-3841: Insufficient data validation in Browser Switcher.
  * CVE-2024-3843: Insufficient data validation in Downloads.
  * CVE-2024-3844: Inappropriate implementation in Extensions.
  * CVE-2024-3845: Inappropriate implementation in Network.
  * CVE-2024-3846: Inappropriate implementation in Prompts.
  * CVE-2024-3847: Insufficient policy enforcement in WebUI.
- drop patches:
  * chromium-123-optional2.patch
  * chromium-122-avoid-SFINAE-TypeConverter.patch
  * chromium-123-PA-InternalAllocator.patch
- rediff patches:
  * chromium-110-compiler.patch
  * chromium-120-emplace.patch
  * chromium-122-no_matching_constructor.patch
  * chromium-122-lp155-typename.patch
- add patches: from debian/fixes
  * chromium-123-stats-collector.patch
- add patches: from debian/upstream
  * chromium-124-angle-powf.patch
  * chromium-124-atomic.patch
  * chromium-124-extractor-bitset.patch
  * chromium-124-fps-optional.patch
  * chromium-124-span-optional.patch
  * chromium-124-uint-includes.patch
  * chromium-124-webgpu-optional.patch
- add patches:
  * chromium-123-WebUI-static_assert.patch
    workaround for compile issue in webui_contents_wrapper.h
  * chromium-124-system-libxml.patch (from fedora)</changelog>
  <changelog author="ro@suse.de" date="1714132800">- Chromium 124.0.6367.78 (boo#1223845)
  * CVE-2024-4058: Type Confusion in ANGLE
  * CVE-2024-4059: Out of bounds read in V8 API
  * CVE-2024-4060: Use after free in Dawn</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1714564800">- Add patches:
  * chromium-123-missing-QtGui.patch
- Restore libxml 2.12 check for chromium-124-system-libxml.patch
  which replaced chromium-121-blink-libxml-const.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1714651200">- Chromium 124.0.6367.118 (boo#1223846)
  * CVE-2024-4331: Use after free in Picture In Picture
  * CVE-2024-4368: Use after free in Dawn</changelog>
  <changelog author="ro@suse.de" date="1714737600">- drop patches:
  * chromium-123-WebUI-static_assert.patch</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1715342400">- Chromium 124.0.6367.201 (boo#1224208)
  * CVE-2024-4671: Use after free in Visuals
- Chromium 124.0.6367.155 (boo#1224045)
  * CVE-2024-4558: Use after free in ANGLE
  * CVE-2024-4559: Heap buffer overflow in WebAudio</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1715688000">- Chromium 124.0.6367.207 (boo#1224294)
  * CVE-2024-4761: Out of bounds write in V8</changelog>
  <changelog author="ro@suse.de" date="1715860800">- Chromium 125.0.6422.60 (boo#1224341)
  * CVE-2024-4947: Type Confusion in V8
  * CVE-2024-4948: Use after free in Dawn
  * CVE-2024-4949: Use after free in V8
  * CVE-2024-4950: Inappropriate implementation in Downloads
- Chromium 125.0.6422.41
  * New upstream (early) stable release.
- drop upstreamed patches:
  * chromium-124-uint-includes.patch
  * chromium-124-fps-optional.patch
  * chromium-124-span-optional.patch
  * chromium-124-extractor-bitset.patch
  * chromium-124-atomic.patch
  * chromium-124-webgpu-optional.patch
  * chromium-124-angle-powf.patch
- add debian upstream patches added for 125:
  * chromium-125-appservice-include.patch
  * chromium-125-lens-include.patch
  * chromium-125-mojo-bindings-include.patch
  * chromium-125-no-vector-consts.patch
  * chromium-125-vulkan-include.patch
  * chromium-125-tabstrip-include.patch
  * chromium-125-ninja.patch
- add debian fixes patches to fix font gc crashes:
  * chromium-125-debian-bad-font-gc0000.patch
  * chromium-125-debian-bad-font-gc000.patch
  * chromium-125-debian-bad-font-gc00.patch
  * chromium-125-debian-bad-font-gc0.patch
  * chromium-125-debian-bad-font-gc11.patch
  * chromium-125-debian-bad-font-gc1.patch
  * chromium-125-debian-bad-font-gc2.patch
  * chromium-125-debian-bad-font-gc3.patch
- add from fedora (reverse applied for older ffmpeg):
  * chromium-125-ffmpeg-5.x-reordered_opaque.patch
- re-diff and rename:
  * from chromium-110-compiler.patch
    to chromium-125-compiler.patch
  * from chromium-120-emplace-struct.patch
    to chromium-125-emplace-struct.patch
  * from chromium-disable-FFmpegAllowLists.patch
    to chromium-125-disable-FFmpegAllowLists.patch
  * from chromium-122-missing-header-files.patch
    to chromium-125-missing-header-files.patch
  * from chromium-122-no_matching_constructor.patch
    to chromium-125-no_matching_constructor.patch
  * from chromium-122-lp155-typename.patch
    to chromium-125-lp155-typename.patch
- third_party/zstd
  added to keeplibs for
  third_party/blink/renderer/platform:platform
- third_party/tflite/src/third_party/xla/xla/tsl/util
  added to keeplibs for
  third_party/tflite/tflite
- third_party/lens_server_proto
  added to keeplibs for
  gen/third_party/lens_server_proto</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1716292800">- Chromium 125.0.6422.76 (boo#1224818)
  * CVE-2024-5157: Use after free in Scheduling
  * CVE-2024-5158: Type Confusion in V8
  * CVE-2024-5159: Heap buffer overflow in ANGLE
  * CVE-2024-5160: Heap buffer overflow in Dawn
  * Various fixes from internal audits, fuzzing and other initiatives</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1716552000">- Chromium 125.0.6422.112
  * CVE-2024-5274: Type Confusion in V8 (boo#1225199)</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1717156800">- Chromium 125.0.6422.141 (boo#1225690)
  * CVE-2024-5493: Heap buffer overflow in WebRTC
  * CVE-2024-5494: Use after free in Dawn
  * CVE-2024-5495: Use after free in Dawn
  * CVE-2024-5496: Use after free in Media Session
  * CVE-2024-5497: Out of bounds memory access in Keyboard Inputs
  * CVE-2024-5498: Use after free in Presentation API
  * CVE-2024-5499: Out of bounds write in Streams API</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1718193600">- Amend fix_building_widevinecdm_with_chromium.patch to allow
  Widevine on ARM64 (bsc#1226170)</changelog>
</package>
<package pkgid="6c5d5746f766ceb87bbcabf14ecc0db959359e3b42da5c5bb4627dff01d167c5c55a360e3bc8ba9e7b039a285d90b4a1ee70b8a685a898c794d303f660ff5b59" name="chrony" arch="src">
  <version epoch="0" ver="4.5" rel="2.1"/>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1622548800">- Update to 4.1
  * Add support for NTS servers specified by IP address (matching
    Subject Alternative Name in server certificate)
  * Add source-specific configuration of trusted certificates
  * Allow multiple files and directories with trusted certificates
  * Allow multiple pairs of server keys and certificates
  * Add copy option to server/pool directive
  * Increase PPS lock limit to 40% of pulse interval
  * Perform source selection immediately after loading dump files
  * Reload dump files for addresses negotiated by NTS-KE server
  * Update seccomp filter and add less restrictive level
  * Restart ongoing name resolution on online command
  * Fix dump files to not include uncorrected offset
  * Fix initstepslew to accept time from own NTP clients
  * Reset NTP address and port when no longer negotiated by NTS-KE
    server
- Update clknetsim to snapshot f89702d.
- Refresh chrony.keyring from
  https://chrony.tuxfamily.org/gpgkey-8F375C7E8D0EE125A3D3BD51537E2B76F7680DAC.asc
- Ensure the correct pool packages are installed for openSUSE
  and SLE (bsc#1180689).</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1622635200">- Change to using systemd-sysusers
- Remove otherproviders, not needed anymore</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1623585600">- Add now working CONFIG parameter to sysusers generator</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1625140800">- boo#1187906: Consolidate all references to the helper script.
- bsc#1173760: MD5 is not available from mozilla-nss in FIPS mode,
  but needed for calculating refids from IPv6 addresses as part of
  the NTP protocol (rfc5905). As this is a non-cryptographic use of
  MD5 we can use our own implementation without violating FIPS
  rules: chrony-refid-internal-md5.patch .</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1633694400">- boo#1190926: PrivateDevices is too strict, we might need to
  access the rtc and ptp devices.
- Add back support to build chrony on SLE12.
- Drop dependency on asciidoctor. It is only needed for building
  the HTML documentation which we don't package anyway.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1637323200">- SLE bugs that have been fixed in openSUSE up to this point
  without explicit references: bsc#1183783, bsc#1184400,
  bsc#1171806, bsc#1161119, bsc#1159840.
- Obsoleted SLE patches:
  * chrony-fix-open.patch
  * chrony-gettimeofday.patch
  * chrony-ntp-era-split.patch
  * chrony-pidfile.patch
  * chrony-select-timeout.patch
  * chrony-urandom.patch
  * chrony.sysconfig
  * clknetsim-glibc-2.31.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1638878400">- Add chrony-htonl.patch to work around undocumented behaviour of
  htonl() in older glibc versions (SLE-12) on 64 bit big endian
  architectures (s390x).</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1639656000">- Update to 4.2
  * Add support for NTPv4 extension field improving synchronisation
    stability and resolution of root delay and dispersion
    (experimental)
  * Add support for NTP over PTP (experimental)
  * Add support for AES-CMAC and hash functions in GnuTLS
  * Improve server interleaved mode to be more reliable and support
    multiple clients behind NAT
  * Update seccomp filter
  * Fix RTC support with 64-bit time_t on 32-bit Linux
  * Fix seccomp filter to work correctly with bind*device directives
- Obsoleted patches:
  * chrony-refid-internal-md5.patch
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch
- Update clknetsim to snapshot 470b5e9.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1641816000">- boo#1194206: Use /run instead of /var/run throughout.
- bsc#1194229: Fix pool package dependencies, so that SLE actually
  prefers chrony-pool-suse over chrony-pool-empty.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.de&gt;" date="1652356800">- Moved 20-chrony file from user specif directory
  /etc/NetworkManager/dispatcher.d to vendor specific directory
  /usr/lib/NetworkManager/dispatcher.d. So, users changes can
  still be done in /etc and will not be overwritten by an update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1655294400">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1662033600">- Update to 4.3:
  * Add local option to refclock directive to stabilise system
    clock with more stable free-running clock (e.g. TCXO, OCXO).
  * Add maxdelayquant option to server/pool/peer directive to
    replace maxdelaydevratio filter with long-term quantile-based
    filtering.
  * Add selection option to log directive.
  * Allow external PPS in PHC refclock without configurable pin.
  * Don't accept first interleaved response to minimise error in
    delay.
  * Don't use arc4random on Linux to avoid server performance loss.
  * Improve filter option to better handle missing NTP samples.
  * Improve stability with hardware timestamping and PHC refclock.
  * Update seccomp filter
- Update clknetsim to snapshot f00531b.
- Use a more specific conditional for the /usr/etc stuff.</changelog>
  <changelog author="Clemens Famulla-Conrad &lt;cfamullaconrad@suse.com&gt;" date="1668600000">- Install chrony DHCP dispatcher script for Networkmanager
  * chrony.nm-dispatcher.dhcp.patch /var/run to /run</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1691582400">- Update to 4.4:
  * Add support for AES-GCM-SIV with Nettle &gt;= 3.9 to shorten NTS
    cookies to avoid some length-specific blocking of NTP on
    Internet.
  * Add support for multiple refclocks using extpps option on one
    PHC.
  * Add maxpoll option to hwtimestamp directive to improve PHC
    tracking with low packet rates
  * Add hwtstimeout directive to configure timeout for late
    timestamps.
  * Handle late hardware transmit timestamps of NTP requests on
    all sockets.
  * Handle mismatched 32/64-bit time_t in SOCK refclock samples
  * Improve source replacement
  * Log important changes made by command requests (chronyc)
  * Refresh address of NTP sources periodically
  * Set DSCP for IPv6 packets
  * Shorten NTS-KE retry interval when network is down
  * Update seccomp filter for musl
  * Warn if loading keys from file with unexpected permissions
  * Warn if source selection fails or falseticker is detected
  * Add selectopts command to modify source-specific selection
    options.
  * Add timestamp sources to serverstats report and make its fields
    64-bit.
  * Add -e option to chronyc to indicate end of response
- Update clknetsim to snapshot ef2a7a9.</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1693569600">- Use make quickcheck instead of make check to avoid &gt;1h build
  times and failures due to timeouts. This was the default before
  3.2 but it changed to make tests more reliable. Here a seed is
  already set to get deterministic execution.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1705320000">- Update to version 4.5:
  * Add support for AES-GCM-SIV in GnuTLS
  * Add support for corrections from PTP transparent clocks
  * Add support for systemd socket activation
  * Fix presend in interleaved mode
  * Fix reloading of modified sources from sourcedir</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1716811200">- Update clknetsim to snapshot 0a11a35.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1717502400">- bsc#1225362, chrony-124-tai.patch: make 124-tai more reliable</changelog>
</package>
<package pkgid="39ffad92c1aaba3e0a9d057d75cd27740b2fd44b7cef04fc588153c013bce82020339dd4ca6c9b661533a44ef94d862213963c43f1952668146615da00080fea" name="chrony" arch="x86_64">
  <version epoch="0" ver="4.5" rel="2.1"/>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1622548800">- Update to 4.1
  * Add support for NTS servers specified by IP address (matching
    Subject Alternative Name in server certificate)
  * Add source-specific configuration of trusted certificates
  * Allow multiple files and directories with trusted certificates
  * Allow multiple pairs of server keys and certificates
  * Add copy option to server/pool directive
  * Increase PPS lock limit to 40% of pulse interval
  * Perform source selection immediately after loading dump files
  * Reload dump files for addresses negotiated by NTS-KE server
  * Update seccomp filter and add less restrictive level
  * Restart ongoing name resolution on online command
  * Fix dump files to not include uncorrected offset
  * Fix initstepslew to accept time from own NTP clients
  * Reset NTP address and port when no longer negotiated by NTS-KE
    server
- Update clknetsim to snapshot f89702d.
- Refresh chrony.keyring from
  https://chrony.tuxfamily.org/gpgkey-8F375C7E8D0EE125A3D3BD51537E2B76F7680DAC.asc
- Ensure the correct pool packages are installed for openSUSE
  and SLE (bsc#1180689).</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1622635200">- Change to using systemd-sysusers
- Remove otherproviders, not needed anymore</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1623585600">- Add now working CONFIG parameter to sysusers generator</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1625140800">- boo#1187906: Consolidate all references to the helper script.
- bsc#1173760: MD5 is not available from mozilla-nss in FIPS mode,
  but needed for calculating refids from IPv6 addresses as part of
  the NTP protocol (rfc5905). As this is a non-cryptographic use of
  MD5 we can use our own implementation without violating FIPS
  rules: chrony-refid-internal-md5.patch .</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1633694400">- boo#1190926: PrivateDevices is too strict, we might need to
  access the rtc and ptp devices.
- Add back support to build chrony on SLE12.
- Drop dependency on asciidoctor. It is only needed for building
  the HTML documentation which we don't package anyway.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1637323200">- SLE bugs that have been fixed in openSUSE up to this point
  without explicit references: bsc#1183783, bsc#1184400,
  bsc#1171806, bsc#1161119, bsc#1159840.
- Obsoleted SLE patches:
  * chrony-fix-open.patch
  * chrony-gettimeofday.patch
  * chrony-ntp-era-split.patch
  * chrony-pidfile.patch
  * chrony-select-timeout.patch
  * chrony-urandom.patch
  * chrony.sysconfig
  * clknetsim-glibc-2.31.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1638878400">- Add chrony-htonl.patch to work around undocumented behaviour of
  htonl() in older glibc versions (SLE-12) on 64 bit big endian
  architectures (s390x).</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1639656000">- Update to 4.2
  * Add support for NTPv4 extension field improving synchronisation
    stability and resolution of root delay and dispersion
    (experimental)
  * Add support for NTP over PTP (experimental)
  * Add support for AES-CMAC and hash functions in GnuTLS
  * Improve server interleaved mode to be more reliable and support
    multiple clients behind NAT
  * Update seccomp filter
  * Fix RTC support with 64-bit time_t on 32-bit Linux
  * Fix seccomp filter to work correctly with bind*device directives
- Obsoleted patches:
  * chrony-refid-internal-md5.patch
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch
- Update clknetsim to snapshot 470b5e9.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1641816000">- boo#1194206: Use /run instead of /var/run throughout.
- bsc#1194229: Fix pool package dependencies, so that SLE actually
  prefers chrony-pool-suse over chrony-pool-empty.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.de&gt;" date="1652356800">- Moved 20-chrony file from user specif directory
  /etc/NetworkManager/dispatcher.d to vendor specific directory
  /usr/lib/NetworkManager/dispatcher.d. So, users changes can
  still be done in /etc and will not be overwritten by an update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1655294400">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1662033600">- Update to 4.3:
  * Add local option to refclock directive to stabilise system
    clock with more stable free-running clock (e.g. TCXO, OCXO).
  * Add maxdelayquant option to server/pool/peer directive to
    replace maxdelaydevratio filter with long-term quantile-based
    filtering.
  * Add selection option to log directive.
  * Allow external PPS in PHC refclock without configurable pin.
  * Don't accept first interleaved response to minimise error in
    delay.
  * Don't use arc4random on Linux to avoid server performance loss.
  * Improve filter option to better handle missing NTP samples.
  * Improve stability with hardware timestamping and PHC refclock.
  * Update seccomp filter
- Update clknetsim to snapshot f00531b.
- Use a more specific conditional for the /usr/etc stuff.</changelog>
  <changelog author="Clemens Famulla-Conrad &lt;cfamullaconrad@suse.com&gt;" date="1668600000">- Install chrony DHCP dispatcher script for Networkmanager
  * chrony.nm-dispatcher.dhcp.patch /var/run to /run</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1691582400">- Update to 4.4:
  * Add support for AES-GCM-SIV with Nettle &gt;= 3.9 to shorten NTS
    cookies to avoid some length-specific blocking of NTP on
    Internet.
  * Add support for multiple refclocks using extpps option on one
    PHC.
  * Add maxpoll option to hwtimestamp directive to improve PHC
    tracking with low packet rates
  * Add hwtstimeout directive to configure timeout for late
    timestamps.
  * Handle late hardware transmit timestamps of NTP requests on
    all sockets.
  * Handle mismatched 32/64-bit time_t in SOCK refclock samples
  * Improve source replacement
  * Log important changes made by command requests (chronyc)
  * Refresh address of NTP sources periodically
  * Set DSCP for IPv6 packets
  * Shorten NTS-KE retry interval when network is down
  * Update seccomp filter for musl
  * Warn if loading keys from file with unexpected permissions
  * Warn if source selection fails or falseticker is detected
  * Add selectopts command to modify source-specific selection
    options.
  * Add timestamp sources to serverstats report and make its fields
    64-bit.
  * Add -e option to chronyc to indicate end of response
- Update clknetsim to snapshot ef2a7a9.</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1693569600">- Use make quickcheck instead of make check to avoid &gt;1h build
  times and failures due to timeouts. This was the default before
  3.2 but it changed to make tests more reliable. Here a seed is
  already set to get deterministic execution.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1705320000">- Update to version 4.5:
  * Add support for AES-GCM-SIV in GnuTLS
  * Add support for corrections from PTP transparent clocks
  * Add support for systemd socket activation
  * Fix presend in interleaved mode
  * Fix reloading of modified sources from sourcedir</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1716811200">- Update clknetsim to snapshot 0a11a35.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1717502400">- bsc#1225362, chrony-124-tai.patch: make 124-tai more reliable</changelog>
</package>
<package pkgid="4b010e553bb55b00e9075cae9e7d652d1eff09392d61f1c07c4ac2b6d06716df1f9ad778b29f414178e688dd35f32e09bf42374cf544a583526dab9ceb3be503" name="chrony-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.5" rel="2.1"/>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1622548800">- Update to 4.1
  * Add support for NTS servers specified by IP address (matching
    Subject Alternative Name in server certificate)
  * Add source-specific configuration of trusted certificates
  * Allow multiple files and directories with trusted certificates
  * Allow multiple pairs of server keys and certificates
  * Add copy option to server/pool directive
  * Increase PPS lock limit to 40% of pulse interval
  * Perform source selection immediately after loading dump files
  * Reload dump files for addresses negotiated by NTS-KE server
  * Update seccomp filter and add less restrictive level
  * Restart ongoing name resolution on online command
  * Fix dump files to not include uncorrected offset
  * Fix initstepslew to accept time from own NTP clients
  * Reset NTP address and port when no longer negotiated by NTS-KE
    server
- Update clknetsim to snapshot f89702d.
- Refresh chrony.keyring from
  https://chrony.tuxfamily.org/gpgkey-8F375C7E8D0EE125A3D3BD51537E2B76F7680DAC.asc
- Ensure the correct pool packages are installed for openSUSE
  and SLE (bsc#1180689).</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1622635200">- Change to using systemd-sysusers
- Remove otherproviders, not needed anymore</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1623585600">- Add now working CONFIG parameter to sysusers generator</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1625140800">- boo#1187906: Consolidate all references to the helper script.
- bsc#1173760: MD5 is not available from mozilla-nss in FIPS mode,
  but needed for calculating refids from IPv6 addresses as part of
  the NTP protocol (rfc5905). As this is a non-cryptographic use of
  MD5 we can use our own implementation without violating FIPS
  rules: chrony-refid-internal-md5.patch .</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1633694400">- boo#1190926: PrivateDevices is too strict, we might need to
  access the rtc and ptp devices.
- Add back support to build chrony on SLE12.
- Drop dependency on asciidoctor. It is only needed for building
  the HTML documentation which we don't package anyway.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1637323200">- SLE bugs that have been fixed in openSUSE up to this point
  without explicit references: bsc#1183783, bsc#1184400,
  bsc#1171806, bsc#1161119, bsc#1159840.
- Obsoleted SLE patches:
  * chrony-fix-open.patch
  * chrony-gettimeofday.patch
  * chrony-ntp-era-split.patch
  * chrony-pidfile.patch
  * chrony-select-timeout.patch
  * chrony-urandom.patch
  * chrony.sysconfig
  * clknetsim-glibc-2.31.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1638878400">- Add chrony-htonl.patch to work around undocumented behaviour of
  htonl() in older glibc versions (SLE-12) on 64 bit big endian
  architectures (s390x).</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1639656000">- Update to 4.2
  * Add support for NTPv4 extension field improving synchronisation
    stability and resolution of root delay and dispersion
    (experimental)
  * Add support for NTP over PTP (experimental)
  * Add support for AES-CMAC and hash functions in GnuTLS
  * Improve server interleaved mode to be more reliable and support
    multiple clients behind NAT
  * Update seccomp filter
  * Fix RTC support with 64-bit time_t on 32-bit Linux
  * Fix seccomp filter to work correctly with bind*device directives
- Obsoleted patches:
  * chrony-refid-internal-md5.patch
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch
- Update clknetsim to snapshot 470b5e9.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1641816000">- boo#1194206: Use /run instead of /var/run throughout.
- bsc#1194229: Fix pool package dependencies, so that SLE actually
  prefers chrony-pool-suse over chrony-pool-empty.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.de&gt;" date="1652356800">- Moved 20-chrony file from user specif directory
  /etc/NetworkManager/dispatcher.d to vendor specific directory
  /usr/lib/NetworkManager/dispatcher.d. So, users changes can
  still be done in /etc and will not be overwritten by an update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1655294400">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1662033600">- Update to 4.3:
  * Add local option to refclock directive to stabilise system
    clock with more stable free-running clock (e.g. TCXO, OCXO).
  * Add maxdelayquant option to server/pool/peer directive to
    replace maxdelaydevratio filter with long-term quantile-based
    filtering.
  * Add selection option to log directive.
  * Allow external PPS in PHC refclock without configurable pin.
  * Don't accept first interleaved response to minimise error in
    delay.
  * Don't use arc4random on Linux to avoid server performance loss.
  * Improve filter option to better handle missing NTP samples.
  * Improve stability with hardware timestamping and PHC refclock.
  * Update seccomp filter
- Update clknetsim to snapshot f00531b.
- Use a more specific conditional for the /usr/etc stuff.</changelog>
  <changelog author="Clemens Famulla-Conrad &lt;cfamullaconrad@suse.com&gt;" date="1668600000">- Install chrony DHCP dispatcher script for Networkmanager
  * chrony.nm-dispatcher.dhcp.patch /var/run to /run</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1691582400">- Update to 4.4:
  * Add support for AES-GCM-SIV with Nettle &gt;= 3.9 to shorten NTS
    cookies to avoid some length-specific blocking of NTP on
    Internet.
  * Add support for multiple refclocks using extpps option on one
    PHC.
  * Add maxpoll option to hwtimestamp directive to improve PHC
    tracking with low packet rates
  * Add hwtstimeout directive to configure timeout for late
    timestamps.
  * Handle late hardware transmit timestamps of NTP requests on
    all sockets.
  * Handle mismatched 32/64-bit time_t in SOCK refclock samples
  * Improve source replacement
  * Log important changes made by command requests (chronyc)
  * Refresh address of NTP sources periodically
  * Set DSCP for IPv6 packets
  * Shorten NTS-KE retry interval when network is down
  * Update seccomp filter for musl
  * Warn if loading keys from file with unexpected permissions
  * Warn if source selection fails or falseticker is detected
  * Add selectopts command to modify source-specific selection
    options.
  * Add timestamp sources to serverstats report and make its fields
    64-bit.
  * Add -e option to chronyc to indicate end of response
- Update clknetsim to snapshot ef2a7a9.</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1693569600">- Use make quickcheck instead of make check to avoid &gt;1h build
  times and failures due to timeouts. This was the default before
  3.2 but it changed to make tests more reliable. Here a seed is
  already set to get deterministic execution.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1705320000">- Update to version 4.5:
  * Add support for AES-GCM-SIV in GnuTLS
  * Add support for corrections from PTP transparent clocks
  * Add support for systemd socket activation
  * Fix presend in interleaved mode
  * Fix reloading of modified sources from sourcedir</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1716811200">- Update clknetsim to snapshot 0a11a35.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1717502400">- bsc#1225362, chrony-124-tai.patch: make 124-tai more reliable</changelog>
</package>
<package pkgid="d3ad476c39713ddd99df3723ff75fbe3de342220144f182ee951ff1fa5631b3cbca30d0ac0d0708bb5e57a3f58495a13fc5b9394ca1558d4ee24cbd487ea32c7" name="chrony-debugsource" arch="x86_64">
  <version epoch="0" ver="4.5" rel="2.1"/>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1622548800">- Update to 4.1
  * Add support for NTS servers specified by IP address (matching
    Subject Alternative Name in server certificate)
  * Add source-specific configuration of trusted certificates
  * Allow multiple files and directories with trusted certificates
  * Allow multiple pairs of server keys and certificates
  * Add copy option to server/pool directive
  * Increase PPS lock limit to 40% of pulse interval
  * Perform source selection immediately after loading dump files
  * Reload dump files for addresses negotiated by NTS-KE server
  * Update seccomp filter and add less restrictive level
  * Restart ongoing name resolution on online command
  * Fix dump files to not include uncorrected offset
  * Fix initstepslew to accept time from own NTP clients
  * Reset NTP address and port when no longer negotiated by NTS-KE
    server
- Update clknetsim to snapshot f89702d.
- Refresh chrony.keyring from
  https://chrony.tuxfamily.org/gpgkey-8F375C7E8D0EE125A3D3BD51537E2B76F7680DAC.asc
- Ensure the correct pool packages are installed for openSUSE
  and SLE (bsc#1180689).</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1622635200">- Change to using systemd-sysusers
- Remove otherproviders, not needed anymore</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1623585600">- Add now working CONFIG parameter to sysusers generator</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1625140800">- boo#1187906: Consolidate all references to the helper script.
- bsc#1173760: MD5 is not available from mozilla-nss in FIPS mode,
  but needed for calculating refids from IPv6 addresses as part of
  the NTP protocol (rfc5905). As this is a non-cryptographic use of
  MD5 we can use our own implementation without violating FIPS
  rules: chrony-refid-internal-md5.patch .</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1633694400">- boo#1190926: PrivateDevices is too strict, we might need to
  access the rtc and ptp devices.
- Add back support to build chrony on SLE12.
- Drop dependency on asciidoctor. It is only needed for building
  the HTML documentation which we don't package anyway.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1637323200">- SLE bugs that have been fixed in openSUSE up to this point
  without explicit references: bsc#1183783, bsc#1184400,
  bsc#1171806, bsc#1161119, bsc#1159840.
- Obsoleted SLE patches:
  * chrony-fix-open.patch
  * chrony-gettimeofday.patch
  * chrony-ntp-era-split.patch
  * chrony-pidfile.patch
  * chrony-select-timeout.patch
  * chrony-urandom.patch
  * chrony.sysconfig
  * clknetsim-glibc-2.31.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1638878400">- Add chrony-htonl.patch to work around undocumented behaviour of
  htonl() in older glibc versions (SLE-12) on 64 bit big endian
  architectures (s390x).</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1639656000">- Update to 4.2
  * Add support for NTPv4 extension field improving synchronisation
    stability and resolution of root delay and dispersion
    (experimental)
  * Add support for NTP over PTP (experimental)
  * Add support for AES-CMAC and hash functions in GnuTLS
  * Improve server interleaved mode to be more reliable and support
    multiple clients behind NAT
  * Update seccomp filter
  * Fix RTC support with 64-bit time_t on 32-bit Linux
  * Fix seccomp filter to work correctly with bind*device directives
- Obsoleted patches:
  * chrony-refid-internal-md5.patch
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch
- Update clknetsim to snapshot 470b5e9.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1641816000">- boo#1194206: Use /run instead of /var/run throughout.
- bsc#1194229: Fix pool package dependencies, so that SLE actually
  prefers chrony-pool-suse over chrony-pool-empty.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.de&gt;" date="1652356800">- Moved 20-chrony file from user specif directory
  /etc/NetworkManager/dispatcher.d to vendor specific directory
  /usr/lib/NetworkManager/dispatcher.d. So, users changes can
  still be done in /etc and will not be overwritten by an update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1655294400">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1662033600">- Update to 4.3:
  * Add local option to refclock directive to stabilise system
    clock with more stable free-running clock (e.g. TCXO, OCXO).
  * Add maxdelayquant option to server/pool/peer directive to
    replace maxdelaydevratio filter with long-term quantile-based
    filtering.
  * Add selection option to log directive.
  * Allow external PPS in PHC refclock without configurable pin.
  * Don't accept first interleaved response to minimise error in
    delay.
  * Don't use arc4random on Linux to avoid server performance loss.
  * Improve filter option to better handle missing NTP samples.
  * Improve stability with hardware timestamping and PHC refclock.
  * Update seccomp filter
- Update clknetsim to snapshot f00531b.
- Use a more specific conditional for the /usr/etc stuff.</changelog>
  <changelog author="Clemens Famulla-Conrad &lt;cfamullaconrad@suse.com&gt;" date="1668600000">- Install chrony DHCP dispatcher script for Networkmanager
  * chrony.nm-dispatcher.dhcp.patch /var/run to /run</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1691582400">- Update to 4.4:
  * Add support for AES-GCM-SIV with Nettle &gt;= 3.9 to shorten NTS
    cookies to avoid some length-specific blocking of NTP on
    Internet.
  * Add support for multiple refclocks using extpps option on one
    PHC.
  * Add maxpoll option to hwtimestamp directive to improve PHC
    tracking with low packet rates
  * Add hwtstimeout directive to configure timeout for late
    timestamps.
  * Handle late hardware transmit timestamps of NTP requests on
    all sockets.
  * Handle mismatched 32/64-bit time_t in SOCK refclock samples
  * Improve source replacement
  * Log important changes made by command requests (chronyc)
  * Refresh address of NTP sources periodically
  * Set DSCP for IPv6 packets
  * Shorten NTS-KE retry interval when network is down
  * Update seccomp filter for musl
  * Warn if loading keys from file with unexpected permissions
  * Warn if source selection fails or falseticker is detected
  * Add selectopts command to modify source-specific selection
    options.
  * Add timestamp sources to serverstats report and make its fields
    64-bit.
  * Add -e option to chronyc to indicate end of response
- Update clknetsim to snapshot ef2a7a9.</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1693569600">- Use make quickcheck instead of make check to avoid &gt;1h build
  times and failures due to timeouts. This was the default before
  3.2 but it changed to make tests more reliable. Here a seed is
  already set to get deterministic execution.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1705320000">- Update to version 4.5:
  * Add support for AES-GCM-SIV in GnuTLS
  * Add support for corrections from PTP transparent clocks
  * Add support for systemd socket activation
  * Fix presend in interleaved mode
  * Fix reloading of modified sources from sourcedir</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1716811200">- Update clknetsim to snapshot 0a11a35.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1717502400">- bsc#1225362, chrony-124-tai.patch: make 124-tai more reliable</changelog>
</package>
<package pkgid="f71b1651d3d784889170b73a0fe4532b93b31010956facba8b66eaf2ec414fcdce1e0067b8c5457cc14202ef8ce5b84932d3ce0f807b92754113d5b883e2167d" name="chrony-pool-empty" arch="noarch">
  <version epoch="0" ver="4.5" rel="2.1"/>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1622548800">- Update to 4.1
  * Add support for NTS servers specified by IP address (matching
    Subject Alternative Name in server certificate)
  * Add source-specific configuration of trusted certificates
  * Allow multiple files and directories with trusted certificates
  * Allow multiple pairs of server keys and certificates
  * Add copy option to server/pool directive
  * Increase PPS lock limit to 40% of pulse interval
  * Perform source selection immediately after loading dump files
  * Reload dump files for addresses negotiated by NTS-KE server
  * Update seccomp filter and add less restrictive level
  * Restart ongoing name resolution on online command
  * Fix dump files to not include uncorrected offset
  * Fix initstepslew to accept time from own NTP clients
  * Reset NTP address and port when no longer negotiated by NTS-KE
    server
- Update clknetsim to snapshot f89702d.
- Refresh chrony.keyring from
  https://chrony.tuxfamily.org/gpgkey-8F375C7E8D0EE125A3D3BD51537E2B76F7680DAC.asc
- Ensure the correct pool packages are installed for openSUSE
  and SLE (bsc#1180689).</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1622635200">- Change to using systemd-sysusers
- Remove otherproviders, not needed anymore</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1623585600">- Add now working CONFIG parameter to sysusers generator</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1625140800">- boo#1187906: Consolidate all references to the helper script.
- bsc#1173760: MD5 is not available from mozilla-nss in FIPS mode,
  but needed for calculating refids from IPv6 addresses as part of
  the NTP protocol (rfc5905). As this is a non-cryptographic use of
  MD5 we can use our own implementation without violating FIPS
  rules: chrony-refid-internal-md5.patch .</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1633694400">- boo#1190926: PrivateDevices is too strict, we might need to
  access the rtc and ptp devices.
- Add back support to build chrony on SLE12.
- Drop dependency on asciidoctor. It is only needed for building
  the HTML documentation which we don't package anyway.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1637323200">- SLE bugs that have been fixed in openSUSE up to this point
  without explicit references: bsc#1183783, bsc#1184400,
  bsc#1171806, bsc#1161119, bsc#1159840.
- Obsoleted SLE patches:
  * chrony-fix-open.patch
  * chrony-gettimeofday.patch
  * chrony-ntp-era-split.patch
  * chrony-pidfile.patch
  * chrony-select-timeout.patch
  * chrony-urandom.patch
  * chrony.sysconfig
  * clknetsim-glibc-2.31.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1638878400">- Add chrony-htonl.patch to work around undocumented behaviour of
  htonl() in older glibc versions (SLE-12) on 64 bit big endian
  architectures (s390x).</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1639656000">- Update to 4.2
  * Add support for NTPv4 extension field improving synchronisation
    stability and resolution of root delay and dispersion
    (experimental)
  * Add support for NTP over PTP (experimental)
  * Add support for AES-CMAC and hash functions in GnuTLS
  * Improve server interleaved mode to be more reliable and support
    multiple clients behind NAT
  * Update seccomp filter
  * Fix RTC support with 64-bit time_t on 32-bit Linux
  * Fix seccomp filter to work correctly with bind*device directives
- Obsoleted patches:
  * chrony-refid-internal-md5.patch
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch
- Update clknetsim to snapshot 470b5e9.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1641816000">- boo#1194206: Use /run instead of /var/run throughout.
- bsc#1194229: Fix pool package dependencies, so that SLE actually
  prefers chrony-pool-suse over chrony-pool-empty.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.de&gt;" date="1652356800">- Moved 20-chrony file from user specif directory
  /etc/NetworkManager/dispatcher.d to vendor specific directory
  /usr/lib/NetworkManager/dispatcher.d. So, users changes can
  still be done in /etc and will not be overwritten by an update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1655294400">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1662033600">- Update to 4.3:
  * Add local option to refclock directive to stabilise system
    clock with more stable free-running clock (e.g. TCXO, OCXO).
  * Add maxdelayquant option to server/pool/peer directive to
    replace maxdelaydevratio filter with long-term quantile-based
    filtering.
  * Add selection option to log directive.
  * Allow external PPS in PHC refclock without configurable pin.
  * Don't accept first interleaved response to minimise error in
    delay.
  * Don't use arc4random on Linux to avoid server performance loss.
  * Improve filter option to better handle missing NTP samples.
  * Improve stability with hardware timestamping and PHC refclock.
  * Update seccomp filter
- Update clknetsim to snapshot f00531b.
- Use a more specific conditional for the /usr/etc stuff.</changelog>
  <changelog author="Clemens Famulla-Conrad &lt;cfamullaconrad@suse.com&gt;" date="1668600000">- Install chrony DHCP dispatcher script for Networkmanager
  * chrony.nm-dispatcher.dhcp.patch /var/run to /run</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1691582400">- Update to 4.4:
  * Add support for AES-GCM-SIV with Nettle &gt;= 3.9 to shorten NTS
    cookies to avoid some length-specific blocking of NTP on
    Internet.
  * Add support for multiple refclocks using extpps option on one
    PHC.
  * Add maxpoll option to hwtimestamp directive to improve PHC
    tracking with low packet rates
  * Add hwtstimeout directive to configure timeout for late
    timestamps.
  * Handle late hardware transmit timestamps of NTP requests on
    all sockets.
  * Handle mismatched 32/64-bit time_t in SOCK refclock samples
  * Improve source replacement
  * Log important changes made by command requests (chronyc)
  * Refresh address of NTP sources periodically
  * Set DSCP for IPv6 packets
  * Shorten NTS-KE retry interval when network is down
  * Update seccomp filter for musl
  * Warn if loading keys from file with unexpected permissions
  * Warn if source selection fails or falseticker is detected
  * Add selectopts command to modify source-specific selection
    options.
  * Add timestamp sources to serverstats report and make its fields
    64-bit.
  * Add -e option to chronyc to indicate end of response
- Update clknetsim to snapshot ef2a7a9.</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1693569600">- Use make quickcheck instead of make check to avoid &gt;1h build
  times and failures due to timeouts. This was the default before
  3.2 but it changed to make tests more reliable. Here a seed is
  already set to get deterministic execution.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1705320000">- Update to version 4.5:
  * Add support for AES-GCM-SIV in GnuTLS
  * Add support for corrections from PTP transparent clocks
  * Add support for systemd socket activation
  * Fix presend in interleaved mode
  * Fix reloading of modified sources from sourcedir</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1716811200">- Update clknetsim to snapshot 0a11a35.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1717502400">- bsc#1225362, chrony-124-tai.patch: make 124-tai more reliable</changelog>
</package>
<package pkgid="278cd524827fcc51176185b6eb00de4fee2a16b3d61e98b4ae2facfe31e9bcf9545d1e25c040dc8a54e8e3c8b2ded20ce1fbc10248d418696006a9848fc4a15e" name="chrony-pool-openSUSE" arch="noarch">
  <version epoch="0" ver="4.5" rel="2.1"/>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1622548800">- Update to 4.1
  * Add support for NTS servers specified by IP address (matching
    Subject Alternative Name in server certificate)
  * Add source-specific configuration of trusted certificates
  * Allow multiple files and directories with trusted certificates
  * Allow multiple pairs of server keys and certificates
  * Add copy option to server/pool directive
  * Increase PPS lock limit to 40% of pulse interval
  * Perform source selection immediately after loading dump files
  * Reload dump files for addresses negotiated by NTS-KE server
  * Update seccomp filter and add less restrictive level
  * Restart ongoing name resolution on online command
  * Fix dump files to not include uncorrected offset
  * Fix initstepslew to accept time from own NTP clients
  * Reset NTP address and port when no longer negotiated by NTS-KE
    server
- Update clknetsim to snapshot f89702d.
- Refresh chrony.keyring from
  https://chrony.tuxfamily.org/gpgkey-8F375C7E8D0EE125A3D3BD51537E2B76F7680DAC.asc
- Ensure the correct pool packages are installed for openSUSE
  and SLE (bsc#1180689).</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1622635200">- Change to using systemd-sysusers
- Remove otherproviders, not needed anymore</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1623585600">- Add now working CONFIG parameter to sysusers generator</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1625140800">- boo#1187906: Consolidate all references to the helper script.
- bsc#1173760: MD5 is not available from mozilla-nss in FIPS mode,
  but needed for calculating refids from IPv6 addresses as part of
  the NTP protocol (rfc5905). As this is a non-cryptographic use of
  MD5 we can use our own implementation without violating FIPS
  rules: chrony-refid-internal-md5.patch .</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1633694400">- boo#1190926: PrivateDevices is too strict, we might need to
  access the rtc and ptp devices.
- Add back support to build chrony on SLE12.
- Drop dependency on asciidoctor. It is only needed for building
  the HTML documentation which we don't package anyway.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1637323200">- SLE bugs that have been fixed in openSUSE up to this point
  without explicit references: bsc#1183783, bsc#1184400,
  bsc#1171806, bsc#1161119, bsc#1159840.
- Obsoleted SLE patches:
  * chrony-fix-open.patch
  * chrony-gettimeofday.patch
  * chrony-ntp-era-split.patch
  * chrony-pidfile.patch
  * chrony-select-timeout.patch
  * chrony-urandom.patch
  * chrony.sysconfig
  * clknetsim-glibc-2.31.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1638878400">- Add chrony-htonl.patch to work around undocumented behaviour of
  htonl() in older glibc versions (SLE-12) on 64 bit big endian
  architectures (s390x).</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1639656000">- Update to 4.2
  * Add support for NTPv4 extension field improving synchronisation
    stability and resolution of root delay and dispersion
    (experimental)
  * Add support for NTP over PTP (experimental)
  * Add support for AES-CMAC and hash functions in GnuTLS
  * Improve server interleaved mode to be more reliable and support
    multiple clients behind NAT
  * Update seccomp filter
  * Fix RTC support with 64-bit time_t on 32-bit Linux
  * Fix seccomp filter to work correctly with bind*device directives
- Obsoleted patches:
  * chrony-refid-internal-md5.patch
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch
- Update clknetsim to snapshot 470b5e9.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1641816000">- boo#1194206: Use /run instead of /var/run throughout.
- bsc#1194229: Fix pool package dependencies, so that SLE actually
  prefers chrony-pool-suse over chrony-pool-empty.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.de&gt;" date="1652356800">- Moved 20-chrony file from user specif directory
  /etc/NetworkManager/dispatcher.d to vendor specific directory
  /usr/lib/NetworkManager/dispatcher.d. So, users changes can
  still be done in /etc and will not be overwritten by an update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1655294400">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1662033600">- Update to 4.3:
  * Add local option to refclock directive to stabilise system
    clock with more stable free-running clock (e.g. TCXO, OCXO).
  * Add maxdelayquant option to server/pool/peer directive to
    replace maxdelaydevratio filter with long-term quantile-based
    filtering.
  * Add selection option to log directive.
  * Allow external PPS in PHC refclock without configurable pin.
  * Don't accept first interleaved response to minimise error in
    delay.
  * Don't use arc4random on Linux to avoid server performance loss.
  * Improve filter option to better handle missing NTP samples.
  * Improve stability with hardware timestamping and PHC refclock.
  * Update seccomp filter
- Update clknetsim to snapshot f00531b.
- Use a more specific conditional for the /usr/etc stuff.</changelog>
  <changelog author="Clemens Famulla-Conrad &lt;cfamullaconrad@suse.com&gt;" date="1668600000">- Install chrony DHCP dispatcher script for Networkmanager
  * chrony.nm-dispatcher.dhcp.patch /var/run to /run</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1691582400">- Update to 4.4:
  * Add support for AES-GCM-SIV with Nettle &gt;= 3.9 to shorten NTS
    cookies to avoid some length-specific blocking of NTP on
    Internet.
  * Add support for multiple refclocks using extpps option on one
    PHC.
  * Add maxpoll option to hwtimestamp directive to improve PHC
    tracking with low packet rates
  * Add hwtstimeout directive to configure timeout for late
    timestamps.
  * Handle late hardware transmit timestamps of NTP requests on
    all sockets.
  * Handle mismatched 32/64-bit time_t in SOCK refclock samples
  * Improve source replacement
  * Log important changes made by command requests (chronyc)
  * Refresh address of NTP sources periodically
  * Set DSCP for IPv6 packets
  * Shorten NTS-KE retry interval when network is down
  * Update seccomp filter for musl
  * Warn if loading keys from file with unexpected permissions
  * Warn if source selection fails or falseticker is detected
  * Add selectopts command to modify source-specific selection
    options.
  * Add timestamp sources to serverstats report and make its fields
    64-bit.
  * Add -e option to chronyc to indicate end of response
- Update clknetsim to snapshot ef2a7a9.</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1693569600">- Use make quickcheck instead of make check to avoid &gt;1h build
  times and failures due to timeouts. This was the default before
  3.2 but it changed to make tests more reliable. Here a seed is
  already set to get deterministic execution.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1705320000">- Update to version 4.5:
  * Add support for AES-GCM-SIV in GnuTLS
  * Add support for corrections from PTP transparent clocks
  * Add support for systemd socket activation
  * Fix presend in interleaved mode
  * Fix reloading of modified sources from sourcedir</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1716811200">- Update clknetsim to snapshot 0a11a35.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1717502400">- bsc#1225362, chrony-124-tai.patch: make 124-tai more reliable</changelog>
</package>
<package pkgid="6f301cf5c2bd8aefadc50f02cd1036b317f20f8a126482f86e8f0640f5d2efd2388020905dfb181ae41d599b55789ab53042e802b9b2eb0417a35da07f4cd2b0" name="chrony-pool-suse" arch="noarch">
  <version epoch="0" ver="4.5" rel="2.1"/>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1622548800">- Update to 4.1
  * Add support for NTS servers specified by IP address (matching
    Subject Alternative Name in server certificate)
  * Add source-specific configuration of trusted certificates
  * Allow multiple files and directories with trusted certificates
  * Allow multiple pairs of server keys and certificates
  * Add copy option to server/pool directive
  * Increase PPS lock limit to 40% of pulse interval
  * Perform source selection immediately after loading dump files
  * Reload dump files for addresses negotiated by NTS-KE server
  * Update seccomp filter and add less restrictive level
  * Restart ongoing name resolution on online command
  * Fix dump files to not include uncorrected offset
  * Fix initstepslew to accept time from own NTP clients
  * Reset NTP address and port when no longer negotiated by NTS-KE
    server
- Update clknetsim to snapshot f89702d.
- Refresh chrony.keyring from
  https://chrony.tuxfamily.org/gpgkey-8F375C7E8D0EE125A3D3BD51537E2B76F7680DAC.asc
- Ensure the correct pool packages are installed for openSUSE
  and SLE (bsc#1180689).</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1622635200">- Change to using systemd-sysusers
- Remove otherproviders, not needed anymore</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1623585600">- Add now working CONFIG parameter to sysusers generator</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1625140800">- boo#1187906: Consolidate all references to the helper script.
- bsc#1173760: MD5 is not available from mozilla-nss in FIPS mode,
  but needed for calculating refids from IPv6 addresses as part of
  the NTP protocol (rfc5905). As this is a non-cryptographic use of
  MD5 we can use our own implementation without violating FIPS
  rules: chrony-refid-internal-md5.patch .</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1633694400">- boo#1190926: PrivateDevices is too strict, we might need to
  access the rtc and ptp devices.
- Add back support to build chrony on SLE12.
- Drop dependency on asciidoctor. It is only needed for building
  the HTML documentation which we don't package anyway.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1637323200">- SLE bugs that have been fixed in openSUSE up to this point
  without explicit references: bsc#1183783, bsc#1184400,
  bsc#1171806, bsc#1161119, bsc#1159840.
- Obsoleted SLE patches:
  * chrony-fix-open.patch
  * chrony-gettimeofday.patch
  * chrony-ntp-era-split.patch
  * chrony-pidfile.patch
  * chrony-select-timeout.patch
  * chrony-urandom.patch
  * chrony.sysconfig
  * clknetsim-glibc-2.31.patch</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1638878400">- Add chrony-htonl.patch to work around undocumented behaviour of
  htonl() in older glibc versions (SLE-12) on 64 bit big endian
  architectures (s390x).</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1639656000">- Update to 4.2
  * Add support for NTPv4 extension field improving synchronisation
    stability and resolution of root delay and dispersion
    (experimental)
  * Add support for NTP over PTP (experimental)
  * Add support for AES-CMAC and hash functions in GnuTLS
  * Improve server interleaved mode to be more reliable and support
    multiple clients behind NAT
  * Update seccomp filter
  * Fix RTC support with 64-bit time_t on 32-bit Linux
  * Fix seccomp filter to work correctly with bind*device directives
- Obsoleted patches:
  * chrony-refid-internal-md5.patch
  * harden_chrony-wait.service.patch
  * harden_chronyd.service.patch
- Update clknetsim to snapshot 470b5e9.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1641816000">- boo#1194206: Use /run instead of /var/run throughout.
- bsc#1194229: Fix pool package dependencies, so that SLE actually
  prefers chrony-pool-suse over chrony-pool-empty.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.de&gt;" date="1652356800">- Moved 20-chrony file from user specif directory
  /etc/NetworkManager/dispatcher.d to vendor specific directory
  /usr/lib/NetworkManager/dispatcher.d. So, users changes can
  still be done in /etc and will not be overwritten by an update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1655294400">- Moved logrotate files from user specific directory /etc/logrotate.d
  to vendor specific directory /usr/etc/logrotate.d.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1662033600">- Update to 4.3:
  * Add local option to refclock directive to stabilise system
    clock with more stable free-running clock (e.g. TCXO, OCXO).
  * Add maxdelayquant option to server/pool/peer directive to
    replace maxdelaydevratio filter with long-term quantile-based
    filtering.
  * Add selection option to log directive.
  * Allow external PPS in PHC refclock without configurable pin.
  * Don't accept first interleaved response to minimise error in
    delay.
  * Don't use arc4random on Linux to avoid server performance loss.
  * Improve filter option to better handle missing NTP samples.
  * Improve stability with hardware timestamping and PHC refclock.
  * Update seccomp filter
- Update clknetsim to snapshot f00531b.
- Use a more specific conditional for the /usr/etc stuff.</changelog>
  <changelog author="Clemens Famulla-Conrad &lt;cfamullaconrad@suse.com&gt;" date="1668600000">- Install chrony DHCP dispatcher script for Networkmanager
  * chrony.nm-dispatcher.dhcp.patch /var/run to /run</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1691582400">- Update to 4.4:
  * Add support for AES-GCM-SIV with Nettle &gt;= 3.9 to shorten NTS
    cookies to avoid some length-specific blocking of NTP on
    Internet.
  * Add support for multiple refclocks using extpps option on one
    PHC.
  * Add maxpoll option to hwtimestamp directive to improve PHC
    tracking with low packet rates
  * Add hwtstimeout directive to configure timeout for late
    timestamps.
  * Handle late hardware transmit timestamps of NTP requests on
    all sockets.
  * Handle mismatched 32/64-bit time_t in SOCK refclock samples
  * Improve source replacement
  * Log important changes made by command requests (chronyc)
  * Refresh address of NTP sources periodically
  * Set DSCP for IPv6 packets
  * Shorten NTS-KE retry interval when network is down
  * Update seccomp filter for musl
  * Warn if loading keys from file with unexpected permissions
  * Warn if source selection fails or falseticker is detected
  * Add selectopts command to modify source-specific selection
    options.
  * Add timestamp sources to serverstats report and make its fields
    64-bit.
  * Add -e option to chronyc to indicate end of response
- Update clknetsim to snapshot ef2a7a9.</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1693569600">- Use make quickcheck instead of make check to avoid &gt;1h build
  times and failures due to timeouts. This was the default before
  3.2 but it changed to make tests more reliable. Here a seed is
  already set to get deterministic execution.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1705320000">- Update to version 4.5:
  * Add support for AES-GCM-SIV in GnuTLS
  * Add support for corrections from PTP transparent clocks
  * Add support for systemd socket activation
  * Fix presend in interleaved mode
  * Fix reloading of modified sources from sourcedir</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1716811200">- Update clknetsim to snapshot 0a11a35.</changelog>
  <changelog author="Reinhard Max &lt;max@suse.com&gt;" date="1717502400">- bsc#1225362, chrony-124-tai.patch: make 124-tai more reliable</changelog>
</package>
<package pkgid="436aacc725e606f45b8ef8b2ace1cb5a41d8c69245edca38e9ef69b4593e28ad7ed30bd1f28e25d02362cc3a74c7e51d32f58bde468774a377d82471611e79e6" name="cifs-utils" arch="src">
  <version epoch="0" ver="7.0" rel="4.1"/>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1565870400">- Update to cifs-utils 6.9; (bsc#1132087); (bsc#1136031).
  * adds fixes for Azure
  * new smbinfo utility
  * remove cifs-utils-6.8.tar.bz2
  * remove cifs-utils-6.8.tar.bz2.asc
  * add cifs-utils-6.9.tar.bz2
  * add cifs-utils-6.9.tar.bz2.asc
  * add 0001-smbinfo-Improve-help-usage-and-add-h-option.patch
  * add 0002-smbinfo-Add-bash-completion-support-for-smbinfo.patch
  * add 0003-getcifsacl-Add-support-to-accept-more-paths.patch
  * add 0004-getcifsacl-Fix-usage-message-to-include-multiple-fil.patch
  * add 0005-smbinfo-add-GETCOMPRESSION-support.patch
  * add 0006-getcifsacl-Add-support-for-R-recursive-option.patch
  * add 0007-smbinfo-add-bash-completion-support-for-getcompressi.patch
  * add 0008-mount.cifs.c-fix-memory-leaks-in-main-func.patch
  * add 0009-Zero-fill-the-allocated-memory-for-new-struct-cifs_n.patch
  * add 0010-Zero-fill-the-allocated-memory-for-a-new-ACE.patch
- Remove backports that are already in 6.9; (fate#325270); (bsc#1130528);
  * remove 0001-docs-cleanup-rst-formating.patch
  * remove 0002-mount.cifs.rst-document-new-no-handlecache-mount-opt.patch
  * remove 0003-manpage-update-mount.cifs-manpage-with-info-about-rd.patch
  * remove 0004-checkopts-add-python-script-to-cross-check-mount-opt.patch
  * remove 0005-mount.cifs.rst-document-missing-options-correct-wron.patch
  * remove 0006-cifs-utils-support-rst2man-3.patch
  * remove 0007-checkopts-report-duplicated-options-in-man-page.patch
  * remove 0008-mount.cifs.rst-more-cleanups.patch
  * remove 0009-mount.cifs.rst-document-vers-3-mount-option.patch
  * remove 0010-mount.cifs.rst-document-vers-3.02-mount-option.patch
  * remove allow-dns-resolver-key-to-expire.patch
  * remove suse-document-new-vers-default-SMB2.1.patch
- Remove dependency workaround regarding python2/python3</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1568030400">- Fix double-free in mount.cifs; (bsc#1149164).
  * add 0011-fix-doublefree.patch</changelog>
  <changelog author="palcantara@suse.de" date="1570017600">- Fix invalid free in mount.cifs; (bsc#1152930).
  * add 0012-mount.cifs-Fix-invalid-free.patch</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1586347200">- rst2man has been moved to python3-docutils in SLE12+, update
  BuildRequires check to reflect that</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1597060800">- CVE-2020-14342: Shell command injection vulnerability in mount.cifs;
  (bsc#1174477); (bso#14442); CVE-2020-14342.
  * add 0013-CVE-2020-14342-mount.cifs-fix-shell-command-injectio.patch</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1597147200">- Make cifs-idmap plugin (idmapwb.so) use update-alternatives
  mechanism to be able to switch between cifs-utils and sssd;
  (bsc#1182682).</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1605614400">- prepare usrmerge (boo#1029961)</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1607688000">- Update to cifs-utils 6.11
  * remove cifs-utils-6.9.tar.bz2
  * remove cifs-utils-6.9.tar.bz2.asc
  * add    cifs-utils-6.11.tar.bz2
  * add    cifs-utils-6.11.tar.bz2.asc
- Remove backports already in 6.11
  * remove 0001-smbinfo-Improve-help-usage-and-add-h-option.patch
  * remove 0002-smbinfo-Add-bash-completion-support-for-smbinfo.patch
  * remove 0003-getcifsacl-Add-support-to-accept-more-paths.patch
  * remove 0004-getcifsacl-Fix-usage-message-to-include-multiple-fil.patch
  * remove 0005-smbinfo-add-GETCOMPRESSION-support.patch
  * remove 0006-getcifsacl-Add-support-for-R-recursive-option.patch
  * remove 0007-smbinfo-add-bash-completion-support-for-getcompressi.patch
  * remove 0008-mount.cifs.c-fix-memory-leaks-in-main-func.patch
  * remove 0009-Zero-fill-the-allocated-memory-for-new-struct-cifs_n.patch
  * remove 0010-Zero-fill-the-allocated-memory-for-a-new-ACE.patch
  * remove 0011-fix-doublefree.patch
  * remove 0012-mount.cifs-Fix-invalid-free.patch
  * remove 0013-CVE-2020-14342-mount.cifs-fix-shell-command-injectio.patch
- Add fixes for autoconf and make install issues
  * add    fix-sbin-install-error.patch
  * add    0001-cifs-utils-Respect-DESTDIR-when-installing-smb3-stuf.patch
  * add    0002-cifs-utils-fix-probabilistic-compiling-error.patch
- Hardcode python3 interpreter in shebang of smb2-quota instead of
  /usr/bin/env to let rpm runtime dependency detect it.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1610625600">- use new %_pamdir macro to avoid hardcoding pam module path</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1614081600">- Update to cifs-utils 6.12
  * remove cifs-utils-6.11.tar.bz2
  * remove cifs-utils-6.11.tar.bz2.asc
  * add    cifs-utils-6.12.tar.bz2
  * add    cifs-utils-6.12.tar.bz2.asc
- Remove backports already in 6.12
  * remove 0001-cifs-utils-Respect-DESTDIR-when-installing-smb3-stuf.patch
  * remove 0002-cifs-utils-fix-probabilistic-compiling-error.patch
- Refresh Makefile.am install fix
  * modify fix-sbin-install-error.patch
- Hardcode python3 interpreter in shebang of smbinfo instead of
  /usr/bin/env to let rpm runtime dependency detect it.</changelog>
  <changelog author="palcantara@suse.de" date="1615291200">- CVE-2021-20208: cifs-utils: cifs.upcall kerberos auth leak in
  container; (bsc#1183239); CVE-2021-20208.
  * add 0001-cifs.upcall-try-to-use-container-ipc-uts-net-pid-mnt.patch</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1619179200">- cifs.upcall: fix regression in kerberos mount; (bsc#1184815).
  * add 0001-cifs.upcall-fix-regression-in-kerberos-mount.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1620993600">- Update to cifs-utils 6.13
  * Fixes CVE-2021-20208, cifs.upcall kerberos auth leak in container
  * remove cifs-utils-6.12.tar.bz2
  * remove cifs-utils-6.12.tar.bz2.asc
  * add    cifs-utils-6.13.tar.bz2
  * add    cifs-utils-6.13.tar.bz2.asc
- Drop upstream fixed patches:
  * 0001-cifs.upcall-try-to-use-container-ipc-uts-net-pid-mnt.patch</changelog>
  <changelog author="Enzo Matsumiya &lt;ematsumiya@suse.de&gt;" date="1642420800">- Update to cifs-utils 6.14
  * smbinfo is enhanced with capability to display alternate data streams
  * setcifsacl is improved to optionally reorder ACEs in preferred order
  * cifs.upcall regression in kerberos mount is fixed
  * remove cifs-utils-6.13.tar.bz2
  * remove cifs-utils-6.13.tar.bz2.asc
  * add    cifs-utils-6.14.tar.bz2
  * add    cifs-utils-6.14.tar.bz2.asc
- Drop upstream fixed patches:
  * 0001-cifs.upcall-fix-regression-in-kerberos-mount.patch</changelog>
  <changelog author="Enzo Matsumiya &lt;ematsumiya@suse.de&gt;" date="1642420801">- Update cifs-utils.spec:
  * Remove unused
    !BuildIgnore: samba-client
    BuildRequires: libwbclient-devel</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1652788800">- Update to version 6.15
  * CVE-2022-27239: mount.cifs: fix length check for ip option parsing
    Previous check was true whatever the length of the input string was,
    leading to a buffer overflow in the subsequent strcpy call.
  * mount.cifs: fix verbose messages on option parsing</changelog>
  <changelog author="palcantara@suse.de" date="1666008000">- Update cifs-utils to 7.0
  * cifs-utils: don't return uninitialized value in cifs_gss_get_req
  * cifs-utils: make GSSAPI usage compatible with Heimdal
  * cifs-utils: work around missing krb5_free_string in Heimdal
  * fix warnings for -Waddress-of-packed-member
  * setcifsacl: fix memory allocation for struct cifs_ace
  * setcifsacl: fix comparison of actions reported by covscan
  * cifs.upcall: remove unused variable and fix syslog message
  * cifs.upcall: Switch to RFC principal type naming
  * man-pages: Update cifs.upcall to mention GSS_USE_PROXY
  * cifs.upcall: fix compiler warning
  * cifs.upcall: add gssproxy support
  * remove cifs-utils-6.15.tar.bz2
  * remove cifs-utils-6.15.tar.bz2.asc
  * add cifs-utils-7.0.tar.bz2
  * add cifs-utils-7.0.tar.bz2.asc</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1672833600">- Replace transitional %usrmerged macro with regular version check (boo#1206798)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 (bsc#1212476)</changelog>
</package>
<package pkgid="dc15f5afaa61af50d343aad664530c09b8e70040cd0c0d15c52c1e53550577b43dcc4b333851b3ca78cbaa7f16bae1f50052b03334c1675d76a7051ffab38ac0" name="cifs-utils" arch="x86_64">
  <version epoch="0" ver="7.0" rel="4.1"/>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1610625600">- use new %_pamdir macro to avoid hardcoding pam module path</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1614081600">- Update to cifs-utils 6.12
  * remove cifs-utils-6.11.tar.bz2
  * remove cifs-utils-6.11.tar.bz2.asc
  * add    cifs-utils-6.12.tar.bz2
  * add    cifs-utils-6.12.tar.bz2.asc
- Remove backports already in 6.12
  * remove 0001-cifs-utils-Respect-DESTDIR-when-installing-smb3-stuf.patch
  * remove 0002-cifs-utils-fix-probabilistic-compiling-error.patch
- Refresh Makefile.am install fix
  * modify fix-sbin-install-error.patch
- Hardcode python3 interpreter in shebang of smbinfo instead of
  /usr/bin/env to let rpm runtime dependency detect it.</changelog>
  <changelog author="palcantara@suse.de" date="1615291200">- CVE-2021-20208: cifs-utils: cifs.upcall kerberos auth leak in
  container; (bsc#1183239); CVE-2021-20208.
  * add 0001-cifs.upcall-try-to-use-container-ipc-uts-net-pid-mnt.patch</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1619179200">- cifs.upcall: fix regression in kerberos mount; (bsc#1184815).
  * add 0001-cifs.upcall-fix-regression-in-kerberos-mount.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1620993600">- Update to cifs-utils 6.13
  * Fixes CVE-2021-20208, cifs.upcall kerberos auth leak in container
  * remove cifs-utils-6.12.tar.bz2
  * remove cifs-utils-6.12.tar.bz2.asc
  * add    cifs-utils-6.13.tar.bz2
  * add    cifs-utils-6.13.tar.bz2.asc
- Drop upstream fixed patches:
  * 0001-cifs.upcall-try-to-use-container-ipc-uts-net-pid-mnt.patch</changelog>
  <changelog author="Enzo Matsumiya &lt;ematsumiya@suse.de&gt;" date="1642420800">- Update to cifs-utils 6.14
  * smbinfo is enhanced with capability to display alternate data streams
  * setcifsacl is improved to optionally reorder ACEs in preferred order
  * cifs.upcall regression in kerberos mount is fixed
  * remove cifs-utils-6.13.tar.bz2
  * remove cifs-utils-6.13.tar.bz2.asc
  * add    cifs-utils-6.14.tar.bz2
  * add    cifs-utils-6.14.tar.bz2.asc
- Drop upstream fixed patches:
  * 0001-cifs.upcall-fix-regression-in-kerberos-mount.patch</changelog>
  <changelog author="Enzo Matsumiya &lt;ematsumiya@suse.de&gt;" date="1642420801">- Update cifs-utils.spec:
  * Remove unused
    !BuildIgnore: samba-client
    BuildRequires: libwbclient-devel</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1652788800">- Update to version 6.15
  * CVE-2022-27239: mount.cifs: fix length check for ip option parsing
    Previous check was true whatever the length of the input string was,
    leading to a buffer overflow in the subsequent strcpy call.
  * mount.cifs: fix verbose messages on option parsing</changelog>
  <changelog author="palcantara@suse.de" date="1666008000">- Update cifs-utils to 7.0
  * cifs-utils: don't return uninitialized value in cifs_gss_get_req
  * cifs-utils: make GSSAPI usage compatible with Heimdal
  * cifs-utils: work around missing krb5_free_string in Heimdal
  * fix warnings for -Waddress-of-packed-member
  * setcifsacl: fix memory allocation for struct cifs_ace
  * setcifsacl: fix comparison of actions reported by covscan
  * cifs.upcall: remove unused variable and fix syslog message
  * cifs.upcall: Switch to RFC principal type naming
  * man-pages: Update cifs.upcall to mention GSS_USE_PROXY
  * cifs.upcall: fix compiler warning
  * cifs.upcall: add gssproxy support
  * remove cifs-utils-6.15.tar.bz2
  * remove cifs-utils-6.15.tar.bz2.asc
  * add cifs-utils-7.0.tar.bz2
  * add cifs-utils-7.0.tar.bz2.asc</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1672833600">- Replace transitional %usrmerged macro with regular version check (boo#1206798)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 (bsc#1212476)</changelog>
</package>
<package pkgid="b0e0fb3ecadbcead5583329299a3df81758bf917ee5e7599c127f7dcf93d1b53f4025a4dc3d6c0b11c70c52dbd7f623b4ccb1ee97e017a036776d3a81f950cf6" name="cifs-utils-debuginfo" arch="x86_64">
  <version epoch="0" ver="7.0" rel="4.1"/>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1610625600">- use new %_pamdir macro to avoid hardcoding pam module path</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1614081600">- Update to cifs-utils 6.12
  * remove cifs-utils-6.11.tar.bz2
  * remove cifs-utils-6.11.tar.bz2.asc
  * add    cifs-utils-6.12.tar.bz2
  * add    cifs-utils-6.12.tar.bz2.asc
- Remove backports already in 6.12
  * remove 0001-cifs-utils-Respect-DESTDIR-when-installing-smb3-stuf.patch
  * remove 0002-cifs-utils-fix-probabilistic-compiling-error.patch
- Refresh Makefile.am install fix
  * modify fix-sbin-install-error.patch
- Hardcode python3 interpreter in shebang of smbinfo instead of
  /usr/bin/env to let rpm runtime dependency detect it.</changelog>
  <changelog author="palcantara@suse.de" date="1615291200">- CVE-2021-20208: cifs-utils: cifs.upcall kerberos auth leak in
  container; (bsc#1183239); CVE-2021-20208.
  * add 0001-cifs.upcall-try-to-use-container-ipc-uts-net-pid-mnt.patch</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1619179200">- cifs.upcall: fix regression in kerberos mount; (bsc#1184815).
  * add 0001-cifs.upcall-fix-regression-in-kerberos-mount.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1620993600">- Update to cifs-utils 6.13
  * Fixes CVE-2021-20208, cifs.upcall kerberos auth leak in container
  * remove cifs-utils-6.12.tar.bz2
  * remove cifs-utils-6.12.tar.bz2.asc
  * add    cifs-utils-6.13.tar.bz2
  * add    cifs-utils-6.13.tar.bz2.asc
- Drop upstream fixed patches:
  * 0001-cifs.upcall-try-to-use-container-ipc-uts-net-pid-mnt.patch</changelog>
  <changelog author="Enzo Matsumiya &lt;ematsumiya@suse.de&gt;" date="1642420800">- Update to cifs-utils 6.14
  * smbinfo is enhanced with capability to display alternate data streams
  * setcifsacl is improved to optionally reorder ACEs in preferred order
  * cifs.upcall regression in kerberos mount is fixed
  * remove cifs-utils-6.13.tar.bz2
  * remove cifs-utils-6.13.tar.bz2.asc
  * add    cifs-utils-6.14.tar.bz2
  * add    cifs-utils-6.14.tar.bz2.asc
- Drop upstream fixed patches:
  * 0001-cifs.upcall-fix-regression-in-kerberos-mount.patch</changelog>
  <changelog author="Enzo Matsumiya &lt;ematsumiya@suse.de&gt;" date="1642420801">- Update cifs-utils.spec:
  * Remove unused
    !BuildIgnore: samba-client
    BuildRequires: libwbclient-devel</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1652788800">- Update to version 6.15
  * CVE-2022-27239: mount.cifs: fix length check for ip option parsing
    Previous check was true whatever the length of the input string was,
    leading to a buffer overflow in the subsequent strcpy call.
  * mount.cifs: fix verbose messages on option parsing</changelog>
  <changelog author="palcantara@suse.de" date="1666008000">- Update cifs-utils to 7.0
  * cifs-utils: don't return uninitialized value in cifs_gss_get_req
  * cifs-utils: make GSSAPI usage compatible with Heimdal
  * cifs-utils: work around missing krb5_free_string in Heimdal
  * fix warnings for -Waddress-of-packed-member
  * setcifsacl: fix memory allocation for struct cifs_ace
  * setcifsacl: fix comparison of actions reported by covscan
  * cifs.upcall: remove unused variable and fix syslog message
  * cifs.upcall: Switch to RFC principal type naming
  * man-pages: Update cifs.upcall to mention GSS_USE_PROXY
  * cifs.upcall: fix compiler warning
  * cifs.upcall: add gssproxy support
  * remove cifs-utils-6.15.tar.bz2
  * remove cifs-utils-6.15.tar.bz2.asc
  * add cifs-utils-7.0.tar.bz2
  * add cifs-utils-7.0.tar.bz2.asc</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1672833600">- Replace transitional %usrmerged macro with regular version check (boo#1206798)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 (bsc#1212476)</changelog>
</package>
<package pkgid="e6c5bbadba5a162f676f09959e16d1517c2ffb6a6ce75afaa8fcb105d0db4f621dbb8556ef31f209cefdc5eff51fc4ce0ce60067d90d9782dc481ffd0335f19c" name="cifs-utils-debugsource" arch="x86_64">
  <version epoch="0" ver="7.0" rel="4.1"/>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1610625600">- use new %_pamdir macro to avoid hardcoding pam module path</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1614081600">- Update to cifs-utils 6.12
  * remove cifs-utils-6.11.tar.bz2
  * remove cifs-utils-6.11.tar.bz2.asc
  * add    cifs-utils-6.12.tar.bz2
  * add    cifs-utils-6.12.tar.bz2.asc
- Remove backports already in 6.12
  * remove 0001-cifs-utils-Respect-DESTDIR-when-installing-smb3-stuf.patch
  * remove 0002-cifs-utils-fix-probabilistic-compiling-error.patch
- Refresh Makefile.am install fix
  * modify fix-sbin-install-error.patch
- Hardcode python3 interpreter in shebang of smbinfo instead of
  /usr/bin/env to let rpm runtime dependency detect it.</changelog>
  <changelog author="palcantara@suse.de" date="1615291200">- CVE-2021-20208: cifs-utils: cifs.upcall kerberos auth leak in
  container; (bsc#1183239); CVE-2021-20208.
  * add 0001-cifs.upcall-try-to-use-container-ipc-uts-net-pid-mnt.patch</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1619179200">- cifs.upcall: fix regression in kerberos mount; (bsc#1184815).
  * add 0001-cifs.upcall-fix-regression-in-kerberos-mount.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1620993600">- Update to cifs-utils 6.13
  * Fixes CVE-2021-20208, cifs.upcall kerberos auth leak in container
  * remove cifs-utils-6.12.tar.bz2
  * remove cifs-utils-6.12.tar.bz2.asc
  * add    cifs-utils-6.13.tar.bz2
  * add    cifs-utils-6.13.tar.bz2.asc
- Drop upstream fixed patches:
  * 0001-cifs.upcall-try-to-use-container-ipc-uts-net-pid-mnt.patch</changelog>
  <changelog author="Enzo Matsumiya &lt;ematsumiya@suse.de&gt;" date="1642420800">- Update to cifs-utils 6.14
  * smbinfo is enhanced with capability to display alternate data streams
  * setcifsacl is improved to optionally reorder ACEs in preferred order
  * cifs.upcall regression in kerberos mount is fixed
  * remove cifs-utils-6.13.tar.bz2
  * remove cifs-utils-6.13.tar.bz2.asc
  * add    cifs-utils-6.14.tar.bz2
  * add    cifs-utils-6.14.tar.bz2.asc
- Drop upstream fixed patches:
  * 0001-cifs.upcall-fix-regression-in-kerberos-mount.patch</changelog>
  <changelog author="Enzo Matsumiya &lt;ematsumiya@suse.de&gt;" date="1642420801">- Update cifs-utils.spec:
  * Remove unused
    !BuildIgnore: samba-client
    BuildRequires: libwbclient-devel</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1652788800">- Update to version 6.15
  * CVE-2022-27239: mount.cifs: fix length check for ip option parsing
    Previous check was true whatever the length of the input string was,
    leading to a buffer overflow in the subsequent strcpy call.
  * mount.cifs: fix verbose messages on option parsing</changelog>
  <changelog author="palcantara@suse.de" date="1666008000">- Update cifs-utils to 7.0
  * cifs-utils: don't return uninitialized value in cifs_gss_get_req
  * cifs-utils: make GSSAPI usage compatible with Heimdal
  * cifs-utils: work around missing krb5_free_string in Heimdal
  * fix warnings for -Waddress-of-packed-member
  * setcifsacl: fix memory allocation for struct cifs_ace
  * setcifsacl: fix comparison of actions reported by covscan
  * cifs.upcall: remove unused variable and fix syslog message
  * cifs.upcall: Switch to RFC principal type naming
  * man-pages: Update cifs.upcall to mention GSS_USE_PROXY
  * cifs.upcall: fix compiler warning
  * cifs.upcall: add gssproxy support
  * remove cifs-utils-6.15.tar.bz2
  * remove cifs-utils-6.15.tar.bz2.asc
  * add cifs-utils-7.0.tar.bz2
  * add cifs-utils-7.0.tar.bz2.asc</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1672833600">- Replace transitional %usrmerged macro with regular version check (boo#1206798)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 (bsc#1212476)</changelog>
</package>
<package pkgid="e03786a3794c8e7209062de8f1ae36534468226236ebeda01856a7c2d0a9f22a73d21af34aa06d567cabb7f4addd2cf536839f1b030a2fe1453e99bf7a24c8f2" name="cifs-utils-devel" arch="x86_64">
  <version epoch="0" ver="7.0" rel="4.1"/>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1610625600">- use new %_pamdir macro to avoid hardcoding pam module path</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1614081600">- Update to cifs-utils 6.12
  * remove cifs-utils-6.11.tar.bz2
  * remove cifs-utils-6.11.tar.bz2.asc
  * add    cifs-utils-6.12.tar.bz2
  * add    cifs-utils-6.12.tar.bz2.asc
- Remove backports already in 6.12
  * remove 0001-cifs-utils-Respect-DESTDIR-when-installing-smb3-stuf.patch
  * remove 0002-cifs-utils-fix-probabilistic-compiling-error.patch
- Refresh Makefile.am install fix
  * modify fix-sbin-install-error.patch
- Hardcode python3 interpreter in shebang of smbinfo instead of
  /usr/bin/env to let rpm runtime dependency detect it.</changelog>
  <changelog author="palcantara@suse.de" date="1615291200">- CVE-2021-20208: cifs-utils: cifs.upcall kerberos auth leak in
  container; (bsc#1183239); CVE-2021-20208.
  * add 0001-cifs.upcall-try-to-use-container-ipc-uts-net-pid-mnt.patch</changelog>
  <changelog author="Aurelien Aptel &lt;aaptel@suse.com&gt;" date="1619179200">- cifs.upcall: fix regression in kerberos mount; (bsc#1184815).
  * add 0001-cifs.upcall-fix-regression-in-kerberos-mount.patch</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1620993600">- Update to cifs-utils 6.13
  * Fixes CVE-2021-20208, cifs.upcall kerberos auth leak in container
  * remove cifs-utils-6.12.tar.bz2
  * remove cifs-utils-6.12.tar.bz2.asc
  * add    cifs-utils-6.13.tar.bz2
  * add    cifs-utils-6.13.tar.bz2.asc
- Drop upstream fixed patches:
  * 0001-cifs.upcall-try-to-use-container-ipc-uts-net-pid-mnt.patch</changelog>
  <changelog author="Enzo Matsumiya &lt;ematsumiya@suse.de&gt;" date="1642420800">- Update to cifs-utils 6.14
  * smbinfo is enhanced with capability to display alternate data streams
  * setcifsacl is improved to optionally reorder ACEs in preferred order
  * cifs.upcall regression in kerberos mount is fixed
  * remove cifs-utils-6.13.tar.bz2
  * remove cifs-utils-6.13.tar.bz2.asc
  * add    cifs-utils-6.14.tar.bz2
  * add    cifs-utils-6.14.tar.bz2.asc
- Drop upstream fixed patches:
  * 0001-cifs.upcall-fix-regression-in-kerberos-mount.patch</changelog>
  <changelog author="Enzo Matsumiya &lt;ematsumiya@suse.de&gt;" date="1642420801">- Update cifs-utils.spec:
  * Remove unused
    !BuildIgnore: samba-client
    BuildRequires: libwbclient-devel</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1652788800">- Update to version 6.15
  * CVE-2022-27239: mount.cifs: fix length check for ip option parsing
    Previous check was true whatever the length of the input string was,
    leading to a buffer overflow in the subsequent strcpy call.
  * mount.cifs: fix verbose messages on option parsing</changelog>
  <changelog author="palcantara@suse.de" date="1666008000">- Update cifs-utils to 7.0
  * cifs-utils: don't return uninitialized value in cifs_gss_get_req
  * cifs-utils: make GSSAPI usage compatible with Heimdal
  * cifs-utils: work around missing krb5_free_string in Heimdal
  * fix warnings for -Waddress-of-packed-member
  * setcifsacl: fix memory allocation for struct cifs_ace
  * setcifsacl: fix comparison of actions reported by covscan
  * cifs.upcall: remove unused variable and fix syslog message
  * cifs.upcall: Switch to RFC principal type naming
  * man-pages: Update cifs.upcall to mention GSS_USE_PROXY
  * cifs.upcall: fix compiler warning
  * cifs.upcall: add gssproxy support
  * remove cifs-utils-6.15.tar.bz2
  * remove cifs-utils-6.15.tar.bz2.asc
  * add cifs-utils-7.0.tar.bz2
  * add cifs-utils-7.0.tar.bz2.asc</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1672833600">- Replace transitional %usrmerged macro with regular version check (boo#1206798)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718280000">- remove dependency on /usr/bin/python3 (bsc#1212476)</changelog>
</package>
<package pkgid="e621039dd58807aa396be428af7baf29b77c85a92aac3d8f89eb2a5a8c5b5368fffcaf6f25b5c7a78963a00f1d627df4f21c12468b2a5e344f28f863201cdb7e" name="clipit" arch="src">
  <version epoch="0" ver="1.4.5" rel="1.1"/>
  <changelog author="damianatorrpm@gmail.com" date="1309694400">- Initial packaging, version 1.4.2-1.</changelog>
  <changelog author="zaitor@opensuse.org" date="1408881600">- Drop unneeded gnome-icon-theme BuildRequires.
- Fix license tag to comply with opensuse guidelines.
- Add changes file.</changelog>
  <changelog author="mailaender@opensuse.org" date="1455364800">- Use https://en.opensuse.org/SourceUrls
- Only recommend xdotool (optional: for automatic paste)</changelog>
  <changelog author="ro@suse.de" date="1571832000">- Fix build-requires for factory/tumbleweed rsvg-convert tool is
  now in rsvg-convert package.</changelog>
  <changelog author="jun wang &lt;jgwang@suse.com&gt;" date="1712664000">- Update to version 1.4.5
  * All changes from github:
    https://github.com/CristianHenzel/ClipIt/compare/1.4.2...v1.4.5
- Add autoconf automake BuildRequires: new dependencies, needed to
  bootstrap configure.
- Run autoreconf, as the tarballs are no longer bootstrapped.
- Build using GTK3:
  + Replace pkgconfig(gtk+-2.0) BuildRequires with
    pkgconfig(gtk+-3.0).
  + Pass --with-gtk3 to configure.</changelog>
</package>
<package pkgid="397fe29b991113bfa1b71f30898edb7a87dacd194ebde4575431bab82aa8f47e15a7f4a1354b9e5dc125e0acbc41ce2efff8ba0880e5c67d021f5337f777d8ff" name="clipit" arch="x86_64">
  <version epoch="0" ver="1.4.5" rel="1.1"/>
  <changelog author="damianatorrpm@gmail.com" date="1309694400">- Initial packaging, version 1.4.2-1.</changelog>
  <changelog author="zaitor@opensuse.org" date="1408881600">- Drop unneeded gnome-icon-theme BuildRequires.
- Fix license tag to comply with opensuse guidelines.
- Add changes file.</changelog>
  <changelog author="mailaender@opensuse.org" date="1455364800">- Use https://en.opensuse.org/SourceUrls
- Only recommend xdotool (optional: for automatic paste)</changelog>
  <changelog author="ro@suse.de" date="1571832000">- Fix build-requires for factory/tumbleweed rsvg-convert tool is
  now in rsvg-convert package.</changelog>
  <changelog author="jun wang &lt;jgwang@suse.com&gt;" date="1712664000">- Update to version 1.4.5
  * All changes from github:
    https://github.com/CristianHenzel/ClipIt/compare/1.4.2...v1.4.5
- Add autoconf automake BuildRequires: new dependencies, needed to
  bootstrap configure.
- Run autoreconf, as the tarballs are no longer bootstrapped.
- Build using GTK3:
  + Replace pkgconfig(gtk+-2.0) BuildRequires with
    pkgconfig(gtk+-3.0).
  + Pass --with-gtk3 to configure.</changelog>
</package>
<package pkgid="66539babe40fa6723813533f0ffc9673433f042ff9ecd0baf746a65277df60d74bc11e6c66b105ece254c1cb9ca05d312bcdc614ef55dbcb6197166759dae4a8" name="clipit-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.4.5" rel="1.1"/>
  <changelog author="damianatorrpm@gmail.com" date="1309694400">- Initial packaging, version 1.4.2-1.</changelog>
  <changelog author="zaitor@opensuse.org" date="1408881600">- Drop unneeded gnome-icon-theme BuildRequires.
- Fix license tag to comply with opensuse guidelines.
- Add changes file.</changelog>
  <changelog author="mailaender@opensuse.org" date="1455364800">- Use https://en.opensuse.org/SourceUrls
- Only recommend xdotool (optional: for automatic paste)</changelog>
  <changelog author="ro@suse.de" date="1571832000">- Fix build-requires for factory/tumbleweed rsvg-convert tool is
  now in rsvg-convert package.</changelog>
  <changelog author="jun wang &lt;jgwang@suse.com&gt;" date="1712664000">- Update to version 1.4.5
  * All changes from github:
    https://github.com/CristianHenzel/ClipIt/compare/1.4.2...v1.4.5
- Add autoconf automake BuildRequires: new dependencies, needed to
  bootstrap configure.
- Run autoreconf, as the tarballs are no longer bootstrapped.
- Build using GTK3:
  + Replace pkgconfig(gtk+-2.0) BuildRequires with
    pkgconfig(gtk+-3.0).
  + Pass --with-gtk3 to configure.</changelog>
</package>
<package pkgid="722ecce868cbe51ce74cb736a9d0c81893f09d6e40f503d4b02f98acf4e77d7ea9e5978571ab3a4e48ac782b2e8fb444754bf0845442978a3b00b2a8f03b9b29" name="clipit-debugsource" arch="x86_64">
  <version epoch="0" ver="1.4.5" rel="1.1"/>
  <changelog author="damianatorrpm@gmail.com" date="1309694400">- Initial packaging, version 1.4.2-1.</changelog>
  <changelog author="zaitor@opensuse.org" date="1408881600">- Drop unneeded gnome-icon-theme BuildRequires.
- Fix license tag to comply with opensuse guidelines.
- Add changes file.</changelog>
  <changelog author="mailaender@opensuse.org" date="1455364800">- Use https://en.opensuse.org/SourceUrls
- Only recommend xdotool (optional: for automatic paste)</changelog>
  <changelog author="ro@suse.de" date="1571832000">- Fix build-requires for factory/tumbleweed rsvg-convert tool is
  now in rsvg-convert package.</changelog>
  <changelog author="jun wang &lt;jgwang@suse.com&gt;" date="1712664000">- Update to version 1.4.5
  * All changes from github:
    https://github.com/CristianHenzel/ClipIt/compare/1.4.2...v1.4.5
- Add autoconf automake BuildRequires: new dependencies, needed to
  bootstrap configure.
- Run autoreconf, as the tarballs are no longer bootstrapped.
- Build using GTK3:
  + Replace pkgconfig(gtk+-2.0) BuildRequires with
    pkgconfig(gtk+-3.0).
  + Pass --with-gtk3 to configure.</changelog>
</package>
<package pkgid="5f452f583430a06cfd311a3b7eb08b2c0a2b0feae85069f25e523da0cdf9dc9751d7236e954c4082708f5cac6f002d2d3571eb84b2db7ba67c5c98648827911d" name="clknetsim" arch="src">
  <version epoch="0" ver="0+git.20240424" rel="1.1"/>
  <changelog author="mpluskal@suse.com" date="1459944000">- Initial package
  * add clknetsim-cflags.patch</changelog>
  <changelog author="mpluskal@suse.com" date="1459944001">- Update to version 0~git.20160324:
  + bash: don't set logconfig for ntpd
  + fuzz: honor CLKNETSIM_RANDOM_SEED variable
  + fuzz: add more modes
  + fuzz: improve handling of some requests
  + add readonly adjtime()
  + don't drop packets in sleep-only select()
  + intercept fopen() on /dev/urandom
  + fix cancelling of leap second
  + always initialize client random() seed
  + add IP_PKTINFO socket option</changelog>
  <changelog author="mpluskal@suse.com" date="1460808000">- Update to version 0+git.20160407:
  * accept environment variables in make</changelog>
  <changelog author="mpluskal@suse.com" date="1462622400">- Update to version 0+git.20160419:
  * fix building with FORTIFY_SOURCE
  * fix compiler warning</changelog>
  <changelog author="rmaliska@suse.com" date="1467374400">- Update to version 0+git.20160613:
  * intercept fopen() on /dev/urandom
  * fix cancelling of leap second
  * always initialize client random() seed
  * add IP_PKTINFO socket option
  * accept environment variables in make
  * fix building with FORTIFY_SOURCE
  * fix compiler warning
  * support multiple SHM refclocks
  * fix recv functions with new glibc headers
  * interleave refclock offsets with multiple SHM refclocks</changelog>
  <changelog author="mpluskal@suse.com" date="1478174400">- Update to version 0+git.20161031:
  * support multiple SHM refclocks
  * fix recv functions with new glibc headers
  * interleave refclock offsets with multiple SHM refclocks
  * fix packet stats with reordered packets
  * add recvmmsg()
  * bash: extend generate_config3 to allow asymmetric delay
  * start refclock generator when SHM is attached
  * allow multiple control messages in recvmsg()
  * set ipi_addr in struct in_pktinfo
  * use correct subnet for address in struct in_pktinfo</changelog>
  <changelog author="mpluskal@suse.com" date="1479988800">- Update to version 0+git.20161118:
  * fix compilation with older glibc headers</changelog>
  <changelog author="mpluskal@suse.com" date="1518609600">- Update to version 0+git.20170921:
  * set ifindex in IP_PKTINFO control message
  * add ioctl(PTP_SYS_OFFSET_PRECISE)
  * fix rx_filters in ioctl(SIOCETHTOOL)
  * initialize unused timestamps in timestamping message
  * improve support for timestamping options
  * fix client random seed initialization
  * set and adjust TAI-UTC offset
  * add getrandom()
  * fix compiler warning
  * bash: allow configuration of temp directory
  * fix crash with new OpenSSL
  * add support for SW timestamping in chrony
  * add fileno()</changelog>
  <changelog author="mpluskal@suse.com" date="1532088000">- Update to version 0+git.20180618:
  * fix nanosleep() to handle interrupts
  * add support for delayed reading of transmit timestamp
  * add support for nsm from linuxptp</changelog>
  <changelog author="olaf@aepfle.de" date="1600171200">- Update to version 0+git.20200817</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1687867200">- Update to version 0+git.20230612:
  * add __realpath_chk()
  * add RTC support
  * handle read() on timer fd
  * permit TFD_NONBLOCK flag on timerfd_create() call
  * fix debug message format
  * allow sending packets to nonexisting nodes and subnets
  * add client option to dump network traffic to pcap
  * fill more fields in generated ethernet frames
  * provide PHC index as device minor in stat
  * avoid init recursion via dlsym()
  * add delay and jitter to PTP_SYS_OFFSET readings
  * provide frequency error to clients
  * add ioctl(PTP_SYS_OFFSET_EXTENDED)
  * allow sending to port 0
  * fix sequence number in duplicated PPS samples
  * handle NUMERIC* flags in getnameinfo()
  * add __syslog_chkieee128()
  * drop assertion for number of open sockets
  * don't allow connecting to broadcast and network address
  * add __recv_chk()
  * limit maximum time which can be set
  * advance time in none fuzz mode
  * handle unknown addresses in fuzz mode
  * add refclocks based on node clocks
  * add option to swap PHC devices
  * bash: remove default options for phc2sys
  * include linux/limits.h for PATH_MAX
  * add realpath()
  * accept SO_TIMESTAMPING with new so_timestamping struct
  * init symbols in stat()
  * disable debuginfod for valgrind
  * add support for strace
  * bash: allow custom client library preload
  * fix undefined behavior in clock IDs
  * update comments
  * fix clock_gettime() for some clocks
  * add support for Unix domain sockets
  * avoid searching for nonexisting fstat
  * fix __fxstat to call correct function
  * add workaround for redirected adjtimex and fopen
  * use __fxstat if available
  * fix crash with missing refclock configuration
  * add fstat() and __fxstat()
  * init symbols in open()
  * allow trailing dot in getaddrinfo()
  * fix getaddrinfo() to not read outside buffer
  * split initialization
  * add __fread_chk()
  * bash: redirect and check valgrind output
  * bash: rename wrapper variables
  * avoid uninitialized data in adjtimex request
  * add support for valgrind
  * add PPS support</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1694520000">- Update to version 0+git.20230905:
  * fix compatibility with old make
  * save message in select() if fd is not polled
  * don't read /usr/include/sys/time.h directly</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1702900800">- Update to version 0+git.20231005:
  * fuzz: provide refclock offsets
  * add client option for link speed
  * add PTP one-step E2E transparent clock</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1717761600">- Update to version 0+git.20240424:
  * fix parsing of 64-bit CLKNETSIM_START_DATE on 32-bit systems
  * add support for 64-bit-time_t variants of fstat/stat
  * bash: remove linker error from logs with valgrind
  * ignore PTP transportSpecific field in transparent clock</changelog>
</package>
<package pkgid="f0ba67f526245582b215515a2d1d323aa05c4eaeb6c4d12587705acfd47b5d30b315709f71df5d0280becd331fd995d04dec368f92e0e6e24535fd7e3e41f57f" name="clknetsim" arch="x86_64">
  <version epoch="0" ver="0+git.20240424" rel="1.1"/>
  <changelog author="rmaliska@suse.com" date="1467374400">- Update to version 0+git.20160613:
  * intercept fopen() on /dev/urandom
  * fix cancelling of leap second
  * always initialize client random() seed
  * add IP_PKTINFO socket option
  * accept environment variables in make
  * fix building with FORTIFY_SOURCE
  * fix compiler warning
  * support multiple SHM refclocks
  * fix recv functions with new glibc headers
  * interleave refclock offsets with multiple SHM refclocks</changelog>
  <changelog author="mpluskal@suse.com" date="1478174400">- Update to version 0+git.20161031:
  * support multiple SHM refclocks
  * fix recv functions with new glibc headers
  * interleave refclock offsets with multiple SHM refclocks
  * fix packet stats with reordered packets
  * add recvmmsg()
  * bash: extend generate_config3 to allow asymmetric delay
  * start refclock generator when SHM is attached
  * allow multiple control messages in recvmsg()
  * set ipi_addr in struct in_pktinfo
  * use correct subnet for address in struct in_pktinfo</changelog>
  <changelog author="mpluskal@suse.com" date="1479988800">- Update to version 0+git.20161118:
  * fix compilation with older glibc headers</changelog>
  <changelog author="mpluskal@suse.com" date="1518609600">- Update to version 0+git.20170921:
  * set ifindex in IP_PKTINFO control message
  * add ioctl(PTP_SYS_OFFSET_PRECISE)
  * fix rx_filters in ioctl(SIOCETHTOOL)
  * initialize unused timestamps in timestamping message
  * improve support for timestamping options
  * fix client random seed initialization
  * set and adjust TAI-UTC offset
  * add getrandom()
  * fix compiler warning
  * bash: allow configuration of temp directory
  * fix crash with new OpenSSL
  * add support for SW timestamping in chrony
  * add fileno()</changelog>
  <changelog author="mpluskal@suse.com" date="1532088000">- Update to version 0+git.20180618:
  * fix nanosleep() to handle interrupts
  * add support for delayed reading of transmit timestamp
  * add support for nsm from linuxptp</changelog>
  <changelog author="olaf@aepfle.de" date="1600171200">- Update to version 0+git.20200817</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1687867200">- Update to version 0+git.20230612:
  * add __realpath_chk()
  * add RTC support
  * handle read() on timer fd
  * permit TFD_NONBLOCK flag on timerfd_create() call
  * fix debug message format
  * allow sending packets to nonexisting nodes and subnets
  * add client option to dump network traffic to pcap
  * fill more fields in generated ethernet frames
  * provide PHC index as device minor in stat
  * avoid init recursion via dlsym()
  * add delay and jitter to PTP_SYS_OFFSET readings
  * provide frequency error to clients
  * add ioctl(PTP_SYS_OFFSET_EXTENDED)
  * allow sending to port 0
  * fix sequence number in duplicated PPS samples
  * handle NUMERIC* flags in getnameinfo()
  * add __syslog_chkieee128()
  * drop assertion for number of open sockets
  * don't allow connecting to broadcast and network address
  * add __recv_chk()
  * limit maximum time which can be set
  * advance time in none fuzz mode
  * handle unknown addresses in fuzz mode
  * add refclocks based on node clocks
  * add option to swap PHC devices
  * bash: remove default options for phc2sys
  * include linux/limits.h for PATH_MAX
  * add realpath()
  * accept SO_TIMESTAMPING with new so_timestamping struct
  * init symbols in stat()
  * disable debuginfod for valgrind
  * add support for strace
  * bash: allow custom client library preload
  * fix undefined behavior in clock IDs
  * update comments
  * fix clock_gettime() for some clocks
  * add support for Unix domain sockets
  * avoid searching for nonexisting fstat
  * fix __fxstat to call correct function
  * add workaround for redirected adjtimex and fopen
  * use __fxstat if available
  * fix crash with missing refclock configuration
  * add fstat() and __fxstat()
  * init symbols in open()
  * allow trailing dot in getaddrinfo()
  * fix getaddrinfo() to not read outside buffer
  * split initialization
  * add __fread_chk()
  * bash: redirect and check valgrind output
  * bash: rename wrapper variables
  * avoid uninitialized data in adjtimex request
  * add support for valgrind
  * add PPS support</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1694520000">- Update to version 0+git.20230905:
  * fix compatibility with old make
  * save message in select() if fd is not polled
  * don't read /usr/include/sys/time.h directly</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1702900800">- Update to version 0+git.20231005:
  * fuzz: provide refclock offsets
  * add client option for link speed
  * add PTP one-step E2E transparent clock</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1717761600">- Update to version 0+git.20240424:
  * fix parsing of 64-bit CLKNETSIM_START_DATE on 32-bit systems
  * add support for 64-bit-time_t variants of fstat/stat
  * bash: remove linker error from logs with valgrind
  * ignore PTP transportSpecific field in transparent clock</changelog>
</package>
<package pkgid="a5a7021110d34a618664210523ef8dacf8c835765617642ca62c9d262b6691538e508ce432ee0c3bb1ffd988561031de3b1e28b66f2786cb3be2ba27c8e1c8f6" name="clknetsim-debuginfo" arch="x86_64">
  <version epoch="0" ver="0+git.20240424" rel="1.1"/>
  <changelog author="rmaliska@suse.com" date="1467374400">- Update to version 0+git.20160613:
  * intercept fopen() on /dev/urandom
  * fix cancelling of leap second
  * always initialize client random() seed
  * add IP_PKTINFO socket option
  * accept environment variables in make
  * fix building with FORTIFY_SOURCE
  * fix compiler warning
  * support multiple SHM refclocks
  * fix recv functions with new glibc headers
  * interleave refclock offsets with multiple SHM refclocks</changelog>
  <changelog author="mpluskal@suse.com" date="1478174400">- Update to version 0+git.20161031:
  * support multiple SHM refclocks
  * fix recv functions with new glibc headers
  * interleave refclock offsets with multiple SHM refclocks
  * fix packet stats with reordered packets
  * add recvmmsg()
  * bash: extend generate_config3 to allow asymmetric delay
  * start refclock generator when SHM is attached
  * allow multiple control messages in recvmsg()
  * set ipi_addr in struct in_pktinfo
  * use correct subnet for address in struct in_pktinfo</changelog>
  <changelog author="mpluskal@suse.com" date="1479988800">- Update to version 0+git.20161118:
  * fix compilation with older glibc headers</changelog>
  <changelog author="mpluskal@suse.com" date="1518609600">- Update to version 0+git.20170921:
  * set ifindex in IP_PKTINFO control message
  * add ioctl(PTP_SYS_OFFSET_PRECISE)
  * fix rx_filters in ioctl(SIOCETHTOOL)
  * initialize unused timestamps in timestamping message
  * improve support for timestamping options
  * fix client random seed initialization
  * set and adjust TAI-UTC offset
  * add getrandom()
  * fix compiler warning
  * bash: allow configuration of temp directory
  * fix crash with new OpenSSL
  * add support for SW timestamping in chrony
  * add fileno()</changelog>
  <changelog author="mpluskal@suse.com" date="1532088000">- Update to version 0+git.20180618:
  * fix nanosleep() to handle interrupts
  * add support for delayed reading of transmit timestamp
  * add support for nsm from linuxptp</changelog>
  <changelog author="olaf@aepfle.de" date="1600171200">- Update to version 0+git.20200817</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1687867200">- Update to version 0+git.20230612:
  * add __realpath_chk()
  * add RTC support
  * handle read() on timer fd
  * permit TFD_NONBLOCK flag on timerfd_create() call
  * fix debug message format
  * allow sending packets to nonexisting nodes and subnets
  * add client option to dump network traffic to pcap
  * fill more fields in generated ethernet frames
  * provide PHC index as device minor in stat
  * avoid init recursion via dlsym()
  * add delay and jitter to PTP_SYS_OFFSET readings
  * provide frequency error to clients
  * add ioctl(PTP_SYS_OFFSET_EXTENDED)
  * allow sending to port 0
  * fix sequence number in duplicated PPS samples
  * handle NUMERIC* flags in getnameinfo()
  * add __syslog_chkieee128()
  * drop assertion for number of open sockets
  * don't allow connecting to broadcast and network address
  * add __recv_chk()
  * limit maximum time which can be set
  * advance time in none fuzz mode
  * handle unknown addresses in fuzz mode
  * add refclocks based on node clocks
  * add option to swap PHC devices
  * bash: remove default options for phc2sys
  * include linux/limits.h for PATH_MAX
  * add realpath()
  * accept SO_TIMESTAMPING with new so_timestamping struct
  * init symbols in stat()
  * disable debuginfod for valgrind
  * add support for strace
  * bash: allow custom client library preload
  * fix undefined behavior in clock IDs
  * update comments
  * fix clock_gettime() for some clocks
  * add support for Unix domain sockets
  * avoid searching for nonexisting fstat
  * fix __fxstat to call correct function
  * add workaround for redirected adjtimex and fopen
  * use __fxstat if available
  * fix crash with missing refclock configuration
  * add fstat() and __fxstat()
  * init symbols in open()
  * allow trailing dot in getaddrinfo()
  * fix getaddrinfo() to not read outside buffer
  * split initialization
  * add __fread_chk()
  * bash: redirect and check valgrind output
  * bash: rename wrapper variables
  * avoid uninitialized data in adjtimex request
  * add support for valgrind
  * add PPS support</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1694520000">- Update to version 0+git.20230905:
  * fix compatibility with old make
  * save message in select() if fd is not polled
  * don't read /usr/include/sys/time.h directly</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1702900800">- Update to version 0+git.20231005:
  * fuzz: provide refclock offsets
  * add client option for link speed
  * add PTP one-step E2E transparent clock</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1717761600">- Update to version 0+git.20240424:
  * fix parsing of 64-bit CLKNETSIM_START_DATE on 32-bit systems
  * add support for 64-bit-time_t variants of fstat/stat
  * bash: remove linker error from logs with valgrind
  * ignore PTP transportSpecific field in transparent clock</changelog>
</package>
<package pkgid="34f8eaa122398cc26f3996a335ca0439b39a39b713cfc66461266edbc667ba22ee90db50925807d67a11a3d71f67b284131a55918119acae74071d6c8a1bdc38" name="clknetsim-debugsource" arch="x86_64">
  <version epoch="0" ver="0+git.20240424" rel="1.1"/>
  <changelog author="rmaliska@suse.com" date="1467374400">- Update to version 0+git.20160613:
  * intercept fopen() on /dev/urandom
  * fix cancelling of leap second
  * always initialize client random() seed
  * add IP_PKTINFO socket option
  * accept environment variables in make
  * fix building with FORTIFY_SOURCE
  * fix compiler warning
  * support multiple SHM refclocks
  * fix recv functions with new glibc headers
  * interleave refclock offsets with multiple SHM refclocks</changelog>
  <changelog author="mpluskal@suse.com" date="1478174400">- Update to version 0+git.20161031:
  * support multiple SHM refclocks
  * fix recv functions with new glibc headers
  * interleave refclock offsets with multiple SHM refclocks
  * fix packet stats with reordered packets
  * add recvmmsg()
  * bash: extend generate_config3 to allow asymmetric delay
  * start refclock generator when SHM is attached
  * allow multiple control messages in recvmsg()
  * set ipi_addr in struct in_pktinfo
  * use correct subnet for address in struct in_pktinfo</changelog>
  <changelog author="mpluskal@suse.com" date="1479988800">- Update to version 0+git.20161118:
  * fix compilation with older glibc headers</changelog>
  <changelog author="mpluskal@suse.com" date="1518609600">- Update to version 0+git.20170921:
  * set ifindex in IP_PKTINFO control message
  * add ioctl(PTP_SYS_OFFSET_PRECISE)
  * fix rx_filters in ioctl(SIOCETHTOOL)
  * initialize unused timestamps in timestamping message
  * improve support for timestamping options
  * fix client random seed initialization
  * set and adjust TAI-UTC offset
  * add getrandom()
  * fix compiler warning
  * bash: allow configuration of temp directory
  * fix crash with new OpenSSL
  * add support for SW timestamping in chrony
  * add fileno()</changelog>
  <changelog author="mpluskal@suse.com" date="1532088000">- Update to version 0+git.20180618:
  * fix nanosleep() to handle interrupts
  * add support for delayed reading of transmit timestamp
  * add support for nsm from linuxptp</changelog>
  <changelog author="olaf@aepfle.de" date="1600171200">- Update to version 0+git.20200817</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1687867200">- Update to version 0+git.20230612:
  * add __realpath_chk()
  * add RTC support
  * handle read() on timer fd
  * permit TFD_NONBLOCK flag on timerfd_create() call
  * fix debug message format
  * allow sending packets to nonexisting nodes and subnets
  * add client option to dump network traffic to pcap
  * fill more fields in generated ethernet frames
  * provide PHC index as device minor in stat
  * avoid init recursion via dlsym()
  * add delay and jitter to PTP_SYS_OFFSET readings
  * provide frequency error to clients
  * add ioctl(PTP_SYS_OFFSET_EXTENDED)
  * allow sending to port 0
  * fix sequence number in duplicated PPS samples
  * handle NUMERIC* flags in getnameinfo()
  * add __syslog_chkieee128()
  * drop assertion for number of open sockets
  * don't allow connecting to broadcast and network address
  * add __recv_chk()
  * limit maximum time which can be set
  * advance time in none fuzz mode
  * handle unknown addresses in fuzz mode
  * add refclocks based on node clocks
  * add option to swap PHC devices
  * bash: remove default options for phc2sys
  * include linux/limits.h for PATH_MAX
  * add realpath()
  * accept SO_TIMESTAMPING with new so_timestamping struct
  * init symbols in stat()
  * disable debuginfod for valgrind
  * add support for strace
  * bash: allow custom client library preload
  * fix undefined behavior in clock IDs
  * update comments
  * fix clock_gettime() for some clocks
  * add support for Unix domain sockets
  * avoid searching for nonexisting fstat
  * fix __fxstat to call correct function
  * add workaround for redirected adjtimex and fopen
  * use __fxstat if available
  * fix crash with missing refclock configuration
  * add fstat() and __fxstat()
  * init symbols in open()
  * allow trailing dot in getaddrinfo()
  * fix getaddrinfo() to not read outside buffer
  * split initialization
  * add __fread_chk()
  * bash: redirect and check valgrind output
  * bash: rename wrapper variables
  * avoid uninitialized data in adjtimex request
  * add support for valgrind
  * add PPS support</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1694520000">- Update to version 0+git.20230905:
  * fix compatibility with old make
  * save message in select() if fd is not polled
  * don't read /usr/include/sys/time.h directly</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1702900800">- Update to version 0+git.20231005:
  * fuzz: provide refclock offsets
  * add client option for link speed
  * add PTP one-step E2E transparent clock</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1717761600">- Update to version 0+git.20240424:
  * fix parsing of 64-bit CLKNETSIM_START_DATE on 32-bit systems
  * add support for 64-bit-time_t variants of fstat/stat
  * bash: remove linker error from logs with valgrind
  * ignore PTP transportSpecific field in transparent clock</changelog>
</package>
<package pkgid="e8e12b2266cc894a19950410d486035e4706a6de9bd7f5a231240e52689c7ae9858b8fa48a260f64214254e70368eeb6ce72dac9640e2b0a182f1c4cfbaadd4a" name="cloud-init" arch="src">
  <version epoch="0" ver="23.3" rel="12.0.2.2.sr20240605"/>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1675425600">- Add cloud-init-transact-up.patch to support transactional-updates</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1677153600">- Update to version 23.1
  + Remove patches included upstream:
  - cloud-init-btrfs-queue-resize.patch
  - cloud-init-micro-is-suse.patch
  - cloud-init-suse-afternm.patch
  - cloud-init-prefer-nm.patch
  - cloud-init-transact-up.patch
  + Forward port
  - cloud-init-write-routes.patch
  + Added
  - cloud-init-fix-ca-test.patch
  + Support transactional-updates for SUSE based distros (#1997)
    [Robert Schweikert]
  + Set ownership for new folders in Write Files Module (#1980)
    [Jack] (LP: #1990513)
  + add OpenCloudOS and TencentOS support (#1964) [wynnfeng]
  + lxd: Retry if the server isn't ready (#2025)
  + test: switch pycloudlib source to pypi (#2024)
  + test: Fix integration test deprecation message (#2023)
  + Recognize opensuse-microos, dev tooling fixes [Robert Schweikert]
  + sources/azure: refactor imds handler into own module (#1977)
    [Chris Patterson]
  + docs: deprecation generation support [1/2] (#2013)
  + add function is_virtual to distro/FreeBSD (#1957) [Mina Galić]
  + cc_ssh: support multiple hostcertificates (#2018) (LP: #1999164)
  + Fix minor schema validation regression and fixup typing (#2017)
  + doc: Reword user data debug section (#2019)
  + Overhaul/rewrite of certificate handling as follows: (#1962)
    [dermotbradley] (LP: #1931174)
  + disk_setup: use byte string when purging the partition table (#2012)
    [Stefan Prietl]
  + cli: schema also validate vendordata*.
  + ci: sort and add checks for cla signers file [Stefan Prietl]
  + Add "ederst" as contributor (#2010) [Stefan Prietl]
  + readme: add reference to packages dir (#2001)
  + docs: update downstream package list (#2002)
  + docs: add google search verification (#2000) [s-makin]
  + docs: fix 404 render use default notfound_urls_prefix in RTD conf (#2004)
  + Fix OpenStack datasource detection on bare metal (#1923)
    [Alexander Birkner] (LP: #1815990)
  + docs: add themed RTD 404 page and pointer to readthedocs-hosted (#1993)
  + schema: fix gpt labels, use type string for GUID (#1995)
  + cc_disk_setup: code cleanup (#1996)
  + netplan: keep custom strict perms when 50-cloud-init.yaml exists
  + cloud-id: better handling of change in datasource files
    [d1r3ct0r] (LP: #1998998)
  + tests: Remove restart check from test
  + Ignore duplicate macs from mscc_felix and fsl_enetc (LP: #1997922)
  + Warn on empty network key (#1990)
  + Fix Vultr cloud_interfaces usage (#1986) [eb3095]
  + cc_puppet: Update puppet service name (#1970) [d1r3ct0r] (LP: #2002969)
  + docs: Clarify networking docs (#1987)
  + lint: remove httpretty (#1985) [sxt1001]
  + cc_set_passwords: Prevent traceback when restarting ssh (#1981)
  + tests: fix lp1912844 (#1978)
  + tests: Skip ansible test on bionic (#1984)
  + Wait for NetworkManager (#1983) [Robert Schweikert]
  + docs: minor polishing (#1979) [s-makin]
  + CI: migrate integration-test to GH actions (#1969)
  + Fix permission of SSH host keys (#1971) [Ron Gebauer]
  + Fix default route rendering on v2 ipv6 (#1973) (LP: #2003562)
  + doc: fix path in net_convert command (#1975)
  + docs: update net_convert docs (#1974)
  + doc: fix dead link
  + cc_set_hostname: ignore /var/lib/cloud/data/set-hostname if it's empty
    (#1967) [Emanuele Giuseppe Esposito]
  + distros/rhel.py: _read_hostname() missing strip on "hostname" (#1941)
    [Mark Mielke]
  + integration tests: add  IBM VPC support (SC-1352) (#1915)
  + machine-id: set to uninitialized to trigger regeneration on clones
    (LP: #1999680)
  + sources/azure: retry on connection error when fetching metdata (#1968)
    [Chris Patterson]
  + Ensure ssh state accurately obtained (#1966)
  + bddeb: drop dh-systemd dependency on newer deb-based releases [d1r3ct0r]
  + doc: fix `config formats` link in cloudsigma.rst (#1960)
  + Fix wrong subp syntax in cc_set_passwords.py (#1961)
  + docs: update the PR template link to readthedocs (#1958) [d1r3ct0r]
  + ci: switch unittests to gh actions (#1956)
  + Add mount_default_fields for PhotonOS. (#1952) [Shreenidhi Shedi]
  + sources/azure: minor refactor for metadata source detection logic
    (#1936) [Chris Patterson]
  + add "CalvoM" as contributor (#1955) [d1r3ct0r]
  + ci: doc to gh actions (#1951)
  + lxd: handle 404 from missing devices route for LXD 4.0 (LP: #2001737)
  + docs: Diataxis overhaul (#1933) [s-makin]
  + vultr: Fix issue regarding cache and region codes (#1938) [eb3095]
  + cc_set_passwords: Move ssh status checking later (SC-1368) (#1909)
    (LP: #1998526)
  + Improve Wireguard module idempotency (#1940) [Fabian Lichtenegger-Lukas]
  + network/netplan: add gateways as on-link when necessary (#1931)
    [Louis Sautier] (LP: #2000596)
  + tests: test_lxd assert features.networks.zones when present (#1939)
  + Use btrfs enquque when available (#1926) [Robert Schweikert]
  + sources/azure: drop description for report_failure_to_fabric() (#1934)
    [Chris Patterson]
  + cc_disk_setup.py: fix MBR single partition creation (#1932)
    [dermotbradley] (LP: #1851438)
  + Fix typo with package_update/package_upgrade (#1927) [eb3095]
  + sources/azure: fix device driver matching for net config (#1914)
    [Chris Patterson]
  + BSD: fix duplicate macs in Ifconfig parser (#1917) [Mina Galić]
  + test: mock dns calls (#1922)
  + pycloudlib: add lunar support for integration tests (#1928)
  + nocloud: add support for dmi variable expansion for seedfrom URL
    (LP: #1994980)
  + tools: read-version drop extra call to git describe --long
  + doc: improve cc_write_files doc (#1916)
  + read-version: When insufficient tags, use cloudinit.version.get_version
  + mounts: document weird prefix in schema (#1913)
  + add utility function test cases (#1910) [sxt1001]
  + test: mock file deletion in dhcp tests (#1911)
  + Ensure network ready before cloud-init service runs on RHEL (#1893)
    (LP: #1998655)
  + docs: add copy button to code blocks (#1890) [s-makin]
  + netplan: define features.NETPLAN_CONFIG_ROOT_READ_ONLY flag
  + azure: fix support for systems without az command installed (#1908)
  + Networking Clarification (#1892)
  + Fix the distro.osfamily output problem in the openEuler system. (#1895)
    [sxt1001] (LP: #1999042)
  + pycloudlib: bump commit dropping azure api smoke test
  + net: netplan config root read-only as wifi config can contain creds
  + autoinstall: clarify docs for users
  + sources/azure: encode health report as utf-8 (#1897) [Chris Patterson]
  + Add back gateway4/6 deprecation to docs (#1898)
  + networkd: Add support for multiple [Route] sections (#1868)
    [Nigel Kukard]
  + doc: add qemu tutorial (#1863)
  + lint: fix tip-flake8 and tip-mypy (#1896)
  + Add support for setting uid when creating users on FreeBSD (#1888)
    [einsibjarni]
  + Fix exception in BSD networking code-path (#1894) [Mina Galić]
  + Append derivatives to is_rhel list in cloud.cfg.tmpl (#1887) [Louis Abel]
  + FreeBSD init: use cloudinit_enable as only rcvar (#1875) [Mina Galić]
  + feat: add support aliyun metadata security harden mode (#1865)
    [Manasseh Zhou]
  + docs: uprate analyze to performance page [s-makin]
  + test: fix lxd preseed managed network config (#1881)
  + Add support for static IPv6 addresses for FreeBSD (#1839) [einsibjarni]
  + Make 3.12 failures not fail the build (#1873)
  + Docs: adding relative links [s-makin]
  + Update read-version
  + Fix setup.py to align with PEP 440 versioning replacing trailing
  + travis: promote 3.11-dev to 3.11 (#1866)
  + test_cloud_sigma: delete useless test (#1828) [sxt1001]
  + Add "nkukard" as contributor (#1864) [Nigel Kukard]
  + tests: ds-id mocks for vmware-rpctool as utility may not exist in env
  + doc: add how to render new module doc (#1855)
  + doc: improve module creation explanation (#1851)
  + Add Support for IPv6 metadata to OpenStack (#1805)
    [Marvin Vogt] (LP: #1906849)
  + add xiaoge1001 to .github-cla-signers (#1854) [sxt1001]
  + network: Deprecate gateway{4,6} keys in network config v2 (#1794)
    (LP: #1992512)
  + VMware: Move Guest Customization transport from OVF to VMware (#1573)
    [PengpengSun]
  + doc: home page links added (#1852) [s-makin]
  From 22.4.2
  + status: handle ds not defined in status.json (#1876) (LP: #1997559)
  From 22.4.1
  + net: skip duplicate mac check for netvsc nic and its VF (#1853)
    [Anh Vo] (LP: #1844191)
  + ChangeLog: whitespace cleanup (#1850)
  + changelog: capture 22.3.1-4 releases</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1681214400">- Sensitive data exposure (bsc#1210277, CVE-2023-1786)
  + Add hidesensitivedata
  + Add cloud-init-cve-2023-1786-redact-inst-data.patch
  + Do not expose sensitive data gathered from the CSP</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1682596800">- Add cloud-init-power-rhel-only.patch (bsc#1210273)
  + Config module cc_refresh_rmc_and_interface is implemented such that
    it will only work on RH distros. Set the module availability accordingly.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1688644800">- Update cloud-init-write-routes.patch (bsc#1212879)
  + Add necessary import statement
- Enable flake8 linting, fix up patches
  + cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  + cloud-init-power-rhel-only.patch
  + cloud-init-write-routes.patch
  + datasourceLocalDisk.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1691928000">- update to 23.1.2:
  * Make user/vendor data sensitive and remove log permissions
  * source: Force OpenStack when it is only option (#2045)
  * sources/azure: fix regressions in IMDS behavior
- drop
  cloud-init-cve-2023-1786-redact-instance-data-json-main.patch (upstream)
- spec-file cleanups, including dropping flake8 (as build fails
  with newer flake8 versions)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1692014400">- Add cloud-init-flake8-fixes.patch
- Revert chnages from previous commit
  + Disabling checks the primary maintainer enabled for specific reasons
    is not a fix.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1696852800">- Update to version 23.3 (bsc#1216011, bsc#1215794, bsc#1215740)
  + Remove patches included upstream:
  - cloud-init-fix-ca-test.patch
  - cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  - cloud-init-power-rhel-only.patch
  - cloud-init-flake8-fixes.patch
  + Add
  - cloud-init-keep-flake.patch
  - cloud-init-lint-fixes.patch
  + Update
  - cloud-init-write-routes.patch (bsc#1216007)
  + Bump pycloudlib to 1!5.1.0 for ec2 mantic daily image support (#4390)
  + Fix cc_keyboard in mantic (LP: #2030788)
  + ec2: initialize get_instance_userdata return value to bytes (#4387)
    [Noah Meyerhans]
  + cc_users_groups: Add doas/opendoas support (#4363) [dermotbradley]
  + Fix pip-managed ansible
  + status: treat SubState=running and MainPID=0 as service exited
  + azure/imds: increase read-timeout to 30s (#4372) [Chris Patterson]
  + collect-logs fix memory usage (SC-1590) (#4289)
    [Alec Warren] (LP: #1980150)
  + cc_mounts: Use fallocate to create swapfile on btrfs (#4369) [王煎饼]
  + Undocument nocloud-net (#4318)
  + feat(akamai): add akamai to settings.py and apport.py (#4370)
  + read-version: fallback to get_version when git describe fails (#4366)
  + apt: fix cloud-init status --wait blocking on systemd v 253 (#4364)
  + integration tests: Pass username to pycloudlib (#4324)
  + Bump pycloudlib to 1!5.1.0 (#4353)
  + cloud.cfg.tmpl: reorganise, minimise/reduce duplication (#4272)
    [dermotbradley]
  + analyze: fix (unexpected) timestamp parsing (#4347) [Mina Galić]
  + cc_growpart: fix tests to run on FreeBSD (#4351) [Mina Galić]
  + subp: Fix spurious test failure on FreeBSD (#4355) [Mina Galić]
  + cmd/clean: fix tests on non-Linux platforms (#4352) [Mina Galić]
  + util: Fix get_proc_ppid() on non-Linux systems (#4348) [Mina Galić]
  + cc_wireguard: make tests pass on FreeBSD (#4346) [Mina Galić]
  + unittests: fix breakage in test_read_cfg_paths_fetches_cached_datasource
    (#4328) [Ani Sinha]
  + Fix test_tools.py collection (#4315)
  + cc_keyboard: add Alpine support (#4278) [dermotbradley]
  + Flake8 fixes (#4340) [Robert Schweikert]
  + cc_mounts: Fix swapfile not working on btrfs (#4319) [王煎饼] (LP: #1884127)
  + ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen (#4281)
    [Wei Zhou]
  + ec2: Support double encoded userdata (#4276) [Noah Meyerhans]
  + cc_mounts: xfs is a Linux only FS (#4334) [Mina Galić]
  + tests/net: fix TestGetInterfaces' mock coverage for get_master (#4336)
    [Chris Patterson]
  + change openEuler to openeuler and fix some bugs in openEuler (#4317)
    [sxt1001]
  + Replace flake8 with ruff (#4314)
  + NM renderer: set default IPv6 addr-gen-mode for all interfaces to eui64
    (#4291) [Ani Sinha]
  + cc_ssh_import_id: add Alpine support and add doas support (#4277)
    [dermotbradley]
  + sudoers not idempotent (SC-1589)  (#4296) [Alec Warren] (LP: #1998539)
  + Added support for Akamai Connected Cloud (formerly Linode) (#4167)
    [Will Smith]
  + Fix reference before assignment (#4292)
  + Overhaul module reference page (#4237) [Sally]
  + replaced spaces with commas for setting passenv (#4269) [Alec Warren]
  + DS VMware: modify a few log level (#4284) [PengpengSun]
  + tools/read-version refactors and unit tests (#4268)
  + Ensure get_features() grabs all features (#4285)
  + Don't always require passlib dependency (#4274)
  + tests: avoid leaks into host system checking of ovs-vsctl cmd (#4275)
  + Fix NoCloud kernel commandline key parsing (#4273)
  + testing: Clear all LRU caches after each test (#4249)
  + Remove the crypt dependency (#2139) [Gonéri Le Bouder]
  + logging: keep current file mode of log file if its stricter than the
    new mode (#4250) [Ani Sinha]
  + Remove default membership in redundant groups (#4258)
    [Dave Jones] (LP: #1923363)
  + doc: improve datasource_creation.rst (#4262)
  + Remove duplicate Integration testing button (#4261) [Rishita Shaw]
  + tools/read-version: fix the tool so that it can handle version parsing
    errors (#4234) [Ani Sinha]
  + net/dhcp: add udhcpc support (#4190) [Jean-François Roche]
  + DS VMware: add i386 arch dir to deployPkg plugin search path
    [PengpengSun]
  + LXD moved from linuxcontainers.org to Canonical [Simon Deziel]
  + cc_mounts.py: Add note about issue with creating mounts inside mounts
    (#4232) [dermotbradley]
  + lxd: install lxd from snap, not deb if absent in image
  + landscape: use landscape-config to write configuration
  + Add deprecation log during init of DataSourceDigitalOcean (#4194)
    [tyb-truth]
  + doc: fix typo on apt.primary.arches (#4238) [Dan Bungert]
  + Inspect systemd state for cloud-init status (#4230)
  + instance-data: add system-info and features to combined-cloud-config
    (#4224)
  + systemd: Block login until config stage completes (#2111) (LP: #2013403)
  + tests: proposed should invoke apt-get install -t=&lt;release&gt;-proposed
    (#4235)
  + cloud.cfg.tmpl: reinstate ca_certs entry (#4236) [dermotbradley]
  + Remove feature flag override ability (#4228)
  + tests: drop stray unrelated file presence test (#4227)
  + Update LXD URL (#4223) [Sally]
  + schema: add network v1 schema definition and validation functions
  + tests: daily PPA for devel series is version 99.daily update tests to
    match (#4225)
  + instance-data: write /run/cloud-init/combined-cloud-config.json
  + mount parse: Fix matching non-existent directories (#4222) [Mina Galić]
  + Specify build-system for pep517 (#4218)
  + Fix network v2 metric rendering (#4220)
  + Migrate content out of FAQ page (SD-1187) (#4205) [Sally]
  + setup: fix generation of init templates (#4209) [Mina Galić]
  + docs: Correct some bootcmd example wording
  + fix changelog
  + tests: reboot client to assert x-shellscript-per-boot is triggered
  + nocloud: parse_cmdline no longer detects nocloud-net datasource (#4204)
    (LP: 4203, #2025180)
  + Add docstring and typing to mergemanydict (#4200)
  + BSD: add dsidentify to early startup scripts (#4182) [Mina Galić]
  + handler: report errors on skipped merged cloud-config.txt parts
    (LP: #1999952)
  + Add cloud-init summit writeups (#4179) [Sally]
  + tests: Update test_clean_log for oci (#4187)
  + gce: improve ephemeral fallback NIC selection (CPC-2578) (#4163)
  + tests: pin pytest 7.3.1 to avoid adverse testpaths behavior (#4184)
  + Ephemeral Networking for FreeBSD (#2165) [Mina Galić]
  + Clarify directory syntax for nocloud local filesystem. (#4178)
  + Set default renderer as sysconfig for centos/rhel (#4165) [Ani Sinha]
  + Test static routes and netplan 0.106
  + FreeBSD fix parsing of mount and mount options (#2146) [Mina Galić]
  + test: add tracking bug id (#4164)
  + tests: can't match MAC for LXD container veth due to netplan 0.106
    (#4162)
  + Add kaiwalyakoparkar as a contributor (#4156) [Kaiwalya Koparkar]
  + BSD: remove datasource_list from cloud.cfg template (#4159) [Mina Galić]
  + launching salt-minion in masterless mode (#4110) [Denis Halturin]
  + tools: fix run-container builds for rockylinux/8 git hash mismatch
    (#4161)
  + fix doc lint: spellchecker tripped up (#4160) [Mina Galić]
  + Support Ephemeral Networking for BSD (#2127)
  + Added / fixed support for static routes on OpenBSD and FreeBSD (#2157)
    [Kadir Mueller]
  + cc_rsyslog: Refactor for better multi-platform support (#4119)
    [Mina Galić] (LP: #1798055)
  + tests: fix test_lp1835584 (#4154)
  + cloud.cfg mod names: docs and rename salt_minion and set_password (#4153)
  + tests: apt support for deb822 format .sources files on mantic
  + vultr: remove check_route check (#2151) [Jonas Chevalier]
  + Update SECURITY.md (#4150) [Indrranil Pawar]
  + Update CONTRIBUTING.rst (#4149) [Indrranil Pawar]
  + Update .github-cla-signers (#4151) [Indrranil Pawar]
  + Standardise module names in cloud.cfg.tmpl to only use underscore
    (#4128) [dermotbradley]
  + tests: update test_webhook_reporting
  + Modify PR template so autoclose works
  + doc: add missing semi-colon to nocloud cmdline docs (#4120)
  + .gitignore: extend coverage pattern (#4143) [Mina Galić]
  From 23.2.2
  + Fix NoCloud kernel commandline key parsing (#4273) (Fixes: #4271)
    (LP: #2028562)
  + Fix reference before assignment (#4292) (Fixes: #4288) (LP: #2028784)
  From 23.2.1
  + nocloud: Fix parse_cmdline detection of nocloud-net datasource (#4204)
    (Fixes: 4203) (LP: #2025180)
  From 23.2
  + BSD: simplify finding MBR partitions by removing duplicate code
  [Mina Galić]
  + tests: bump pycloudlib version for mantic builds
  + network-manager: Set higher autoconnect priority for nm keyfiles (#3671)
    [Ani Sinha]
  + alpine.py: change the locale file used (#4139) [dermotbradley]
  + cc_ntp: Sync up with current FreeBSD ntp.conf (#4122) [Mina Galić]
  + config: drop refresh_rmc_and_interface as RHEL 7 no longer supported
    [Robert Schweikert]
  + docs: Add feedback button to docs
  + net/sysconfig: enable sysconfig renderer if network manager has ifcfg-rh
    plugin (#4132) [Ani Sinha]
  + For Alpine use os-release PRETTY_NAME (#4138) [dermotbradley]
  + network_manager: add a method for ipv6 static IP configuration (#4127)
    [Ani Sinha]
  + correct misnamed template file host.mariner.tmpl (#4124) [dermotbradley]
  + nm: generate ipv6 stateful dhcp config at par with sysconfig (#4115)
    [Ani Sinha]
  + Add templates for GitHub Issues
  + Add 'peers' and 'allow' directives in cc_ntp (#3124) [Jacob Salmela]
  + FreeBSD: Fix user account locking (#4114) [Mina Galić] (GH: #1854594)
  + FreeBSD: add ResizeGrowFS class to cc_growpart (#2334) [Mina Galić]
  + Update tests in Azure TestCanDevBeReformatted class (#2771)
    [Ksenija Stanojevic]
  + Replace Launchpad references with GitHub Issues
  + Fix KeyError in iproute pformat (#3287) [Dmitry Zykov]
  + schema: read_cfg_paths call init.fetch to lookup /v/l/c/instance
  + azure/errors: introduce reportable errors for imds (#3647)
    [Chris Patterson]
  + FreeBSD (and friends): better identify MBR slices (#2168)
    [Mina Galić] (LP: #2016350)
  + azure/errors: add host reporting for dhcp errors (#2167)
    [Chris Patterson]
  + net: purge blacklist_drivers across net and azure (#2160)
    [Chris Patterson]
  + net: refactor hyper-v VF filtering and apply to get_interfaces() (#2153)
    [Chris Patterson]
  + tests: avoid leaks to underlying filesystem for /etc/cloud/clean.d
    (#2251)
  + net: refactor find_candidate_nics_on_linux() to use get_interfaces()
    (#2159) [Chris Patterson]
  + resolv_conf: Allow &gt; 3 nameservers (#2152) [Major Hayden]
  + Remove mount NTFS error message (#2134) [Ksenija Stanojevic]
  + integration tests: fix image specification parsing (#2166)
  + ci: add hypothesis scheduled GH check (#2149)
  + Move supported distros list to docs (#2162)
  + Fix logger, use instance rather than module function (#2163)
  + README: Point to Github Actions build status (#2158)
  + Revert "fix linux-specific code on bsd (#2143)" (#2161)
  + Do not generate dsa and ed25519 key types when crypto FIPS mode is
    enabled (#2142) [Ani Sinha] (LP: 2017761)
  + Add documentation label automatically (#2156)
  + sources/azure: report success to host and introduce kvp module (#2141)
    [Chris Patterson]
  + setup.py: use pkg-config for udev/rules path (#2137) [dankm]
  + openstack/static: honor the DNS servers associated with a network
    (#2138) [Gonéri Le Bouder]
  + fix linux-specific code on bsd (#2143)
  + cli: schema validation of jinja template user-data (SC-1385) (#2132)
    (LP: #1881925)
  + gce: activate network discovery on every boot (#2128)
  + tests: update integration test to assert 640 across reboots (#2145)
  + Make user/vendor data sensitive and remove log permissions (#2144)
    (LP: #2013967)
  + Update kernel command line docs (SC-1457) (#2133)
  + docs: update network configuration path links (#2140) [d1r3ct0r]
  + sources/azure: report failures to host via kvp (#2136) [Chris Patterson]
  + net: Document use of `ip route append` to add routes (#2130)
  + dhcp: Add missing mocks (#2135)
  + azure/imds: retry fetching metadata up to 300 seconds (#2121)
    [Chris Patterson]
  + [1/2] DHCP: Refactor dhcp client code  (#2122)
  + azure/errors: treat traceback_base64 as string (#2131) [Chris Patterson]
  + azure/errors: introduce reportable errors (#2129) [Chris Patterson]
  + users: schema permit empty list to indicate create no users
  + azure: introduce identity module (#2116) [Chris Patterson]
  + Standardize disabling cloud-init on non-systemd (#2112)
  + Update .github-cla-signers (#2126) [Rob Tongue]
  + NoCloud: Use seedfrom protocol to determine mode (#2107)
  + rhel: Remove sysvinit files. (#2114)
  + tox.ini: set -vvvv --showlocals for pytest (#2104) [Chris Patterson]
  + Fix NoCloud kernel commandline semi-colon args
  + run-container: make the container/VM timeout configurable (#2118)
    [Paride Legovini]
  + suse: Remove sysvinit files. (#2115)
  + test: Backport assert_call_count for old requests (#2119)
  + Add "licebmi" as contributor (#2113) [Mark Martinez]
  + Adapt DataSourceScaleway to upcoming IPv6 support (#2033)
    [Louis Bouchard]
  + rhel: make sure previous-hostname file ends with a new line (#2108)
    [Ani Sinha]
  + Adding contributors for DataSourceAkamai (#2110) [acourdavAkamai]
  + Cleanup ephemeral IP routes on exception (#2100) [sxt1001]
  + commit 09a64badfb3f51b1b391fa29be19962381a4bbeb [sxt1001] (LP: #2011291)
  + Standardize kernel commandline user interface (#2093)
  + config/cc_resizefs: fix do_resize arguments (#2106) [Chris Patterson]
  + Fix test_dhclient_exits_with_error (#2105)
  + net/dhcp: catch dhclient failures and raise NoDHCPLeaseError (#2083)
    [Chris Patterson]
  + sources/azure: move pps handling out of _poll_imds() (#2075)
    [Chris Patterson]
  + tests: bump pycloudlib version (#2102)
  + schema: do not manipulate draft4 metaschema for jsonschema 2.6.0 (#2098)
  + sources/azure/imds: don't count timeout errors as connection errors
    (#2074) [Chris Patterson]
  + Fix Python 3.12 unit test failures (#2099)
  + integration tests: Refactor instance checking (#1989)
  + ci: migrate remaining jobs from travis to gh (#2085)
  + missing ending quote in instancedata docs(#2094) [Hong L]
  + refactor: stop passing log instances to cc_* handlers (#2016) [d1r3ct0r]
  + tests/vmware: fix test_no_data_access_method failure (#2092)
    [Chris Patterson]
  + Don't change permissions of netrules target (#2076) (LP: #2011783)
  + tests/sources: patch util.get_cmdline() for datasource tests (#2091)
    [Chris Patterson]
  + macs: ignore duplicate MAC for devs with driver driver qmi_wwan (#2090)
    (LP: #2008888)
  + Fedora: Enable CA handling (#2086) [František Zatloukal]
  + Send dhcp-client-identifier for InfiniBand ports (#2043) [Waleed Mousa]
  + cc_ansible: complete the examples and doc (#2082) [Yves]
  + bddeb: for dev package, derive debhelper-compat from host system
  + apport: only prompt for cloud_name when instance-data.json is absent
  + datasource: Optimize datasource detection, fix bugs (#2060)
  + Handle non existent ca-cert-config situation (#2073) [Shreenidhi Shedi]
  + sources/azure: add networking check for all source PPS (#2061)
    [Chris Patterson]
  + do not attempt dns resolution on ip addresses (#2040)
  + chore: fix style tip (#2071)
  + Fix metadata IP in instancedata.rst (#2063) [Brian Haley]
  + util: Pass deprecation schedule in deprecate_call() (#2064)
  + config: Update grub-dpkg docs (#2058)
  + docs: Cosmetic improvements and styling (#2057) [s-makin]
  + cc_grub_dpkg: Added UEFI support (#2029) [Alexander Birkner]
  + tests: Write to /var/spool/rsyslog to adhere to apparmor profile (#2059)
  + oracle-ds: prefer system_cfg over ds network config source (#1998)
    (LP: #1956788)
  + Remove dead code (#2038)
  + source: Force OpenStack when it is only option (#2045) (LP: #2008727)
  + cc_ubuntu_advantage: improve UA logs discovery
  + sources/azure: fix regressions in IMDS behavior (#2041) [Chris Patterson]
  + tests: fix test_schema (#2042)
  + dhcp: Cleanup unused kwarg (#2037)
  + sources/vmware/imc: fix-missing-catch-few-negtive-scenarios (#2027)
    [PengpengSun]
  + dhclient_hook: remove vestigal dhclient_hook command (#2015)
  + log: Add standardized deprecation tooling (SC-1312) (#2026)
  + Enable SUSE based distros for ca handling (#2036) [Robert Schweikert]
  From 23.1.2
  + Make user/vendor data sensitive and remove log permissions
    (LP: #2013967) (CVE-2023-1786)
  From 23.1.1
  + source: Force OpenStack when it is only option (#2045)
  + sources/azure: fix regressions in IMDS behavior (#2041)
    [Chris Patterson]</changelog>
  <changelog author="Michal Vyskocil &lt;michal.vyskocil@gmail.com&gt;" date="1701432000">- Move fdupes call back to %install (boo#1214169)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1702641600">- Switch build dependency to the generic distribution-release package</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705665600">- Add cloud-init-pckg-reboot.patch (boo#1198533, bsc#1218952,  jsc#SMO-326)
  + Support reboot on package update/upgrade via the cloud-init config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705752000">- Add cloud-init-skip-empty-conf.patch
  + Skip tests with empty config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1708430400">- Prepare for RPM 4.20 switch patch syntax</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1709726400">- Hardcode distribution to suse for proper cloud.cfg generation
  (bsc#1220132).</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1711627200">- Add  cloud-init-ds-deterministic.patch (bsc#1221132)
  + Do not guess a data source when checking for a CloudStack
    environment</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318400">- Add cloud-init-no-openstack-guess.patch (bsc#1222113)
  + Do not guess if we are running on OpenStack or not. Only recognize
    the known markers and enable cloud-init if we know for sure.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318401">- Add cloud-init-no-nmcfg-needed.patch (bsc#1221726)
  + Do not require a NetworkManager config file in order to detect
    NetworkManager as the renderer</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712664000">- Update cloud-init-no-openstack-guess.patch
  + Do not enable cloud-init on systems where there is no DMI just
    because no data source has been found. No data source means
    cloud-init will not run.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1714392000">- Add cloud-init-usr-sudoers.patch (bsc#1223469)
  + Handle the existence of /usr/etc/sudoers to search for the expected
    include location</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1717416000">- Add cloud-init-skip-rename.patch (bsc#1219680)
  + Brute force appraoch to skip renames if the device is already present</changelog>
</package>
<package pkgid="d5efc059778cecfc8526d8eb56b729eb79bf7fcbac482e8e80a9d0b25f1a63e33a42a268f09dda168bb8dfb1491f50a7ef17e93d8f734f75c2e3721b680f4123" name="cloud-init" arch="x86_64">
  <version epoch="0" ver="23.3" rel="12.0.2.2.sr20240605"/>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1675425600">- Add cloud-init-transact-up.patch to support transactional-updates</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1677153600">- Update to version 23.1
  + Remove patches included upstream:
  - cloud-init-btrfs-queue-resize.patch
  - cloud-init-micro-is-suse.patch
  - cloud-init-suse-afternm.patch
  - cloud-init-prefer-nm.patch
  - cloud-init-transact-up.patch
  + Forward port
  - cloud-init-write-routes.patch
  + Added
  - cloud-init-fix-ca-test.patch
  + Support transactional-updates for SUSE based distros (#1997)
    [Robert Schweikert]
  + Set ownership for new folders in Write Files Module (#1980)
    [Jack] (LP: #1990513)
  + add OpenCloudOS and TencentOS support (#1964) [wynnfeng]
  + lxd: Retry if the server isn't ready (#2025)
  + test: switch pycloudlib source to pypi (#2024)
  + test: Fix integration test deprecation message (#2023)
  + Recognize opensuse-microos, dev tooling fixes [Robert Schweikert]
  + sources/azure: refactor imds handler into own module (#1977)
    [Chris Patterson]
  + docs: deprecation generation support [1/2] (#2013)
  + add function is_virtual to distro/FreeBSD (#1957) [Mina Galić]
  + cc_ssh: support multiple hostcertificates (#2018) (LP: #1999164)
  + Fix minor schema validation regression and fixup typing (#2017)
  + doc: Reword user data debug section (#2019)
  + Overhaul/rewrite of certificate handling as follows: (#1962)
    [dermotbradley] (LP: #1931174)
  + disk_setup: use byte string when purging the partition table (#2012)
    [Stefan Prietl]
  + cli: schema also validate vendordata*.
  + ci: sort and add checks for cla signers file [Stefan Prietl]
  + Add "ederst" as contributor (#2010) [Stefan Prietl]
  + readme: add reference to packages dir (#2001)
  + docs: update downstream package list (#2002)
  + docs: add google search verification (#2000) [s-makin]
  + docs: fix 404 render use default notfound_urls_prefix in RTD conf (#2004)
  + Fix OpenStack datasource detection on bare metal (#1923)
    [Alexander Birkner] (LP: #1815990)
  + docs: add themed RTD 404 page and pointer to readthedocs-hosted (#1993)
  + schema: fix gpt labels, use type string for GUID (#1995)
  + cc_disk_setup: code cleanup (#1996)
  + netplan: keep custom strict perms when 50-cloud-init.yaml exists
  + cloud-id: better handling of change in datasource files
    [d1r3ct0r] (LP: #1998998)
  + tests: Remove restart check from test
  + Ignore duplicate macs from mscc_felix and fsl_enetc (LP: #1997922)
  + Warn on empty network key (#1990)
  + Fix Vultr cloud_interfaces usage (#1986) [eb3095]
  + cc_puppet: Update puppet service name (#1970) [d1r3ct0r] (LP: #2002969)
  + docs: Clarify networking docs (#1987)
  + lint: remove httpretty (#1985) [sxt1001]
  + cc_set_passwords: Prevent traceback when restarting ssh (#1981)
  + tests: fix lp1912844 (#1978)
  + tests: Skip ansible test on bionic (#1984)
  + Wait for NetworkManager (#1983) [Robert Schweikert]
  + docs: minor polishing (#1979) [s-makin]
  + CI: migrate integration-test to GH actions (#1969)
  + Fix permission of SSH host keys (#1971) [Ron Gebauer]
  + Fix default route rendering on v2 ipv6 (#1973) (LP: #2003562)
  + doc: fix path in net_convert command (#1975)
  + docs: update net_convert docs (#1974)
  + doc: fix dead link
  + cc_set_hostname: ignore /var/lib/cloud/data/set-hostname if it's empty
    (#1967) [Emanuele Giuseppe Esposito]
  + distros/rhel.py: _read_hostname() missing strip on "hostname" (#1941)
    [Mark Mielke]
  + integration tests: add  IBM VPC support (SC-1352) (#1915)
  + machine-id: set to uninitialized to trigger regeneration on clones
    (LP: #1999680)
  + sources/azure: retry on connection error when fetching metdata (#1968)
    [Chris Patterson]
  + Ensure ssh state accurately obtained (#1966)
  + bddeb: drop dh-systemd dependency on newer deb-based releases [d1r3ct0r]
  + doc: fix `config formats` link in cloudsigma.rst (#1960)
  + Fix wrong subp syntax in cc_set_passwords.py (#1961)
  + docs: update the PR template link to readthedocs (#1958) [d1r3ct0r]
  + ci: switch unittests to gh actions (#1956)
  + Add mount_default_fields for PhotonOS. (#1952) [Shreenidhi Shedi]
  + sources/azure: minor refactor for metadata source detection logic
    (#1936) [Chris Patterson]
  + add "CalvoM" as contributor (#1955) [d1r3ct0r]
  + ci: doc to gh actions (#1951)
  + lxd: handle 404 from missing devices route for LXD 4.0 (LP: #2001737)
  + docs: Diataxis overhaul (#1933) [s-makin]
  + vultr: Fix issue regarding cache and region codes (#1938) [eb3095]
  + cc_set_passwords: Move ssh status checking later (SC-1368) (#1909)
    (LP: #1998526)
  + Improve Wireguard module idempotency (#1940) [Fabian Lichtenegger-Lukas]
  + network/netplan: add gateways as on-link when necessary (#1931)
    [Louis Sautier] (LP: #2000596)
  + tests: test_lxd assert features.networks.zones when present (#1939)
  + Use btrfs enquque when available (#1926) [Robert Schweikert]
  + sources/azure: drop description for report_failure_to_fabric() (#1934)
    [Chris Patterson]
  + cc_disk_setup.py: fix MBR single partition creation (#1932)
    [dermotbradley] (LP: #1851438)
  + Fix typo with package_update/package_upgrade (#1927) [eb3095]
  + sources/azure: fix device driver matching for net config (#1914)
    [Chris Patterson]
  + BSD: fix duplicate macs in Ifconfig parser (#1917) [Mina Galić]
  + test: mock dns calls (#1922)
  + pycloudlib: add lunar support for integration tests (#1928)
  + nocloud: add support for dmi variable expansion for seedfrom URL
    (LP: #1994980)
  + tools: read-version drop extra call to git describe --long
  + doc: improve cc_write_files doc (#1916)
  + read-version: When insufficient tags, use cloudinit.version.get_version
  + mounts: document weird prefix in schema (#1913)
  + add utility function test cases (#1910) [sxt1001]
  + test: mock file deletion in dhcp tests (#1911)
  + Ensure network ready before cloud-init service runs on RHEL (#1893)
    (LP: #1998655)
  + docs: add copy button to code blocks (#1890) [s-makin]
  + netplan: define features.NETPLAN_CONFIG_ROOT_READ_ONLY flag
  + azure: fix support for systems without az command installed (#1908)
  + Networking Clarification (#1892)
  + Fix the distro.osfamily output problem in the openEuler system. (#1895)
    [sxt1001] (LP: #1999042)
  + pycloudlib: bump commit dropping azure api smoke test
  + net: netplan config root read-only as wifi config can contain creds
  + autoinstall: clarify docs for users
  + sources/azure: encode health report as utf-8 (#1897) [Chris Patterson]
  + Add back gateway4/6 deprecation to docs (#1898)
  + networkd: Add support for multiple [Route] sections (#1868)
    [Nigel Kukard]
  + doc: add qemu tutorial (#1863)
  + lint: fix tip-flake8 and tip-mypy (#1896)
  + Add support for setting uid when creating users on FreeBSD (#1888)
    [einsibjarni]
  + Fix exception in BSD networking code-path (#1894) [Mina Galić]
  + Append derivatives to is_rhel list in cloud.cfg.tmpl (#1887) [Louis Abel]
  + FreeBSD init: use cloudinit_enable as only rcvar (#1875) [Mina Galić]
  + feat: add support aliyun metadata security harden mode (#1865)
    [Manasseh Zhou]
  + docs: uprate analyze to performance page [s-makin]
  + test: fix lxd preseed managed network config (#1881)
  + Add support for static IPv6 addresses for FreeBSD (#1839) [einsibjarni]
  + Make 3.12 failures not fail the build (#1873)
  + Docs: adding relative links [s-makin]
  + Update read-version
  + Fix setup.py to align with PEP 440 versioning replacing trailing
  + travis: promote 3.11-dev to 3.11 (#1866)
  + test_cloud_sigma: delete useless test (#1828) [sxt1001]
  + Add "nkukard" as contributor (#1864) [Nigel Kukard]
  + tests: ds-id mocks for vmware-rpctool as utility may not exist in env
  + doc: add how to render new module doc (#1855)
  + doc: improve module creation explanation (#1851)
  + Add Support for IPv6 metadata to OpenStack (#1805)
    [Marvin Vogt] (LP: #1906849)
  + add xiaoge1001 to .github-cla-signers (#1854) [sxt1001]
  + network: Deprecate gateway{4,6} keys in network config v2 (#1794)
    (LP: #1992512)
  + VMware: Move Guest Customization transport from OVF to VMware (#1573)
    [PengpengSun]
  + doc: home page links added (#1852) [s-makin]
  From 22.4.2
  + status: handle ds not defined in status.json (#1876) (LP: #1997559)
  From 22.4.1
  + net: skip duplicate mac check for netvsc nic and its VF (#1853)
    [Anh Vo] (LP: #1844191)
  + ChangeLog: whitespace cleanup (#1850)
  + changelog: capture 22.3.1-4 releases</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1681214400">- Sensitive data exposure (bsc#1210277, CVE-2023-1786)
  + Add hidesensitivedata
  + Add cloud-init-cve-2023-1786-redact-inst-data.patch
  + Do not expose sensitive data gathered from the CSP</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1682596800">- Add cloud-init-power-rhel-only.patch (bsc#1210273)
  + Config module cc_refresh_rmc_and_interface is implemented such that
    it will only work on RH distros. Set the module availability accordingly.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1688644800">- Update cloud-init-write-routes.patch (bsc#1212879)
  + Add necessary import statement
- Enable flake8 linting, fix up patches
  + cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  + cloud-init-power-rhel-only.patch
  + cloud-init-write-routes.patch
  + datasourceLocalDisk.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1691928000">- update to 23.1.2:
  * Make user/vendor data sensitive and remove log permissions
  * source: Force OpenStack when it is only option (#2045)
  * sources/azure: fix regressions in IMDS behavior
- drop
  cloud-init-cve-2023-1786-redact-instance-data-json-main.patch (upstream)
- spec-file cleanups, including dropping flake8 (as build fails
  with newer flake8 versions)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1692014400">- Add cloud-init-flake8-fixes.patch
- Revert chnages from previous commit
  + Disabling checks the primary maintainer enabled for specific reasons
    is not a fix.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1696852800">- Update to version 23.3 (bsc#1216011, bsc#1215794, bsc#1215740)
  + Remove patches included upstream:
  - cloud-init-fix-ca-test.patch
  - cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  - cloud-init-power-rhel-only.patch
  - cloud-init-flake8-fixes.patch
  + Add
  - cloud-init-keep-flake.patch
  - cloud-init-lint-fixes.patch
  + Update
  - cloud-init-write-routes.patch (bsc#1216007)
  + Bump pycloudlib to 1!5.1.0 for ec2 mantic daily image support (#4390)
  + Fix cc_keyboard in mantic (LP: #2030788)
  + ec2: initialize get_instance_userdata return value to bytes (#4387)
    [Noah Meyerhans]
  + cc_users_groups: Add doas/opendoas support (#4363) [dermotbradley]
  + Fix pip-managed ansible
  + status: treat SubState=running and MainPID=0 as service exited
  + azure/imds: increase read-timeout to 30s (#4372) [Chris Patterson]
  + collect-logs fix memory usage (SC-1590) (#4289)
    [Alec Warren] (LP: #1980150)
  + cc_mounts: Use fallocate to create swapfile on btrfs (#4369) [王煎饼]
  + Undocument nocloud-net (#4318)
  + feat(akamai): add akamai to settings.py and apport.py (#4370)
  + read-version: fallback to get_version when git describe fails (#4366)
  + apt: fix cloud-init status --wait blocking on systemd v 253 (#4364)
  + integration tests: Pass username to pycloudlib (#4324)
  + Bump pycloudlib to 1!5.1.0 (#4353)
  + cloud.cfg.tmpl: reorganise, minimise/reduce duplication (#4272)
    [dermotbradley]
  + analyze: fix (unexpected) timestamp parsing (#4347) [Mina Galić]
  + cc_growpart: fix tests to run on FreeBSD (#4351) [Mina Galić]
  + subp: Fix spurious test failure on FreeBSD (#4355) [Mina Galić]
  + cmd/clean: fix tests on non-Linux platforms (#4352) [Mina Galić]
  + util: Fix get_proc_ppid() on non-Linux systems (#4348) [Mina Galić]
  + cc_wireguard: make tests pass on FreeBSD (#4346) [Mina Galić]
  + unittests: fix breakage in test_read_cfg_paths_fetches_cached_datasource
    (#4328) [Ani Sinha]
  + Fix test_tools.py collection (#4315)
  + cc_keyboard: add Alpine support (#4278) [dermotbradley]
  + Flake8 fixes (#4340) [Robert Schweikert]
  + cc_mounts: Fix swapfile not working on btrfs (#4319) [王煎饼] (LP: #1884127)
  + ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen (#4281)
    [Wei Zhou]
  + ec2: Support double encoded userdata (#4276) [Noah Meyerhans]
  + cc_mounts: xfs is a Linux only FS (#4334) [Mina Galić]
  + tests/net: fix TestGetInterfaces' mock coverage for get_master (#4336)
    [Chris Patterson]
  + change openEuler to openeuler and fix some bugs in openEuler (#4317)
    [sxt1001]
  + Replace flake8 with ruff (#4314)
  + NM renderer: set default IPv6 addr-gen-mode for all interfaces to eui64
    (#4291) [Ani Sinha]
  + cc_ssh_import_id: add Alpine support and add doas support (#4277)
    [dermotbradley]
  + sudoers not idempotent (SC-1589)  (#4296) [Alec Warren] (LP: #1998539)
  + Added support for Akamai Connected Cloud (formerly Linode) (#4167)
    [Will Smith]
  + Fix reference before assignment (#4292)
  + Overhaul module reference page (#4237) [Sally]
  + replaced spaces with commas for setting passenv (#4269) [Alec Warren]
  + DS VMware: modify a few log level (#4284) [PengpengSun]
  + tools/read-version refactors and unit tests (#4268)
  + Ensure get_features() grabs all features (#4285)
  + Don't always require passlib dependency (#4274)
  + tests: avoid leaks into host system checking of ovs-vsctl cmd (#4275)
  + Fix NoCloud kernel commandline key parsing (#4273)
  + testing: Clear all LRU caches after each test (#4249)
  + Remove the crypt dependency (#2139) [Gonéri Le Bouder]
  + logging: keep current file mode of log file if its stricter than the
    new mode (#4250) [Ani Sinha]
  + Remove default membership in redundant groups (#4258)
    [Dave Jones] (LP: #1923363)
  + doc: improve datasource_creation.rst (#4262)
  + Remove duplicate Integration testing button (#4261) [Rishita Shaw]
  + tools/read-version: fix the tool so that it can handle version parsing
    errors (#4234) [Ani Sinha]
  + net/dhcp: add udhcpc support (#4190) [Jean-François Roche]
  + DS VMware: add i386 arch dir to deployPkg plugin search path
    [PengpengSun]
  + LXD moved from linuxcontainers.org to Canonical [Simon Deziel]
  + cc_mounts.py: Add note about issue with creating mounts inside mounts
    (#4232) [dermotbradley]
  + lxd: install lxd from snap, not deb if absent in image
  + landscape: use landscape-config to write configuration
  + Add deprecation log during init of DataSourceDigitalOcean (#4194)
    [tyb-truth]
  + doc: fix typo on apt.primary.arches (#4238) [Dan Bungert]
  + Inspect systemd state for cloud-init status (#4230)
  + instance-data: add system-info and features to combined-cloud-config
    (#4224)
  + systemd: Block login until config stage completes (#2111) (LP: #2013403)
  + tests: proposed should invoke apt-get install -t=&lt;release&gt;-proposed
    (#4235)
  + cloud.cfg.tmpl: reinstate ca_certs entry (#4236) [dermotbradley]
  + Remove feature flag override ability (#4228)
  + tests: drop stray unrelated file presence test (#4227)
  + Update LXD URL (#4223) [Sally]
  + schema: add network v1 schema definition and validation functions
  + tests: daily PPA for devel series is version 99.daily update tests to
    match (#4225)
  + instance-data: write /run/cloud-init/combined-cloud-config.json
  + mount parse: Fix matching non-existent directories (#4222) [Mina Galić]
  + Specify build-system for pep517 (#4218)
  + Fix network v2 metric rendering (#4220)
  + Migrate content out of FAQ page (SD-1187) (#4205) [Sally]
  + setup: fix generation of init templates (#4209) [Mina Galić]
  + docs: Correct some bootcmd example wording
  + fix changelog
  + tests: reboot client to assert x-shellscript-per-boot is triggered
  + nocloud: parse_cmdline no longer detects nocloud-net datasource (#4204)
    (LP: 4203, #2025180)
  + Add docstring and typing to mergemanydict (#4200)
  + BSD: add dsidentify to early startup scripts (#4182) [Mina Galić]
  + handler: report errors on skipped merged cloud-config.txt parts
    (LP: #1999952)
  + Add cloud-init summit writeups (#4179) [Sally]
  + tests: Update test_clean_log for oci (#4187)
  + gce: improve ephemeral fallback NIC selection (CPC-2578) (#4163)
  + tests: pin pytest 7.3.1 to avoid adverse testpaths behavior (#4184)
  + Ephemeral Networking for FreeBSD (#2165) [Mina Galić]
  + Clarify directory syntax for nocloud local filesystem. (#4178)
  + Set default renderer as sysconfig for centos/rhel (#4165) [Ani Sinha]
  + Test static routes and netplan 0.106
  + FreeBSD fix parsing of mount and mount options (#2146) [Mina Galić]
  + test: add tracking bug id (#4164)
  + tests: can't match MAC for LXD container veth due to netplan 0.106
    (#4162)
  + Add kaiwalyakoparkar as a contributor (#4156) [Kaiwalya Koparkar]
  + BSD: remove datasource_list from cloud.cfg template (#4159) [Mina Galić]
  + launching salt-minion in masterless mode (#4110) [Denis Halturin]
  + tools: fix run-container builds for rockylinux/8 git hash mismatch
    (#4161)
  + fix doc lint: spellchecker tripped up (#4160) [Mina Galić]
  + Support Ephemeral Networking for BSD (#2127)
  + Added / fixed support for static routes on OpenBSD and FreeBSD (#2157)
    [Kadir Mueller]
  + cc_rsyslog: Refactor for better multi-platform support (#4119)
    [Mina Galić] (LP: #1798055)
  + tests: fix test_lp1835584 (#4154)
  + cloud.cfg mod names: docs and rename salt_minion and set_password (#4153)
  + tests: apt support for deb822 format .sources files on mantic
  + vultr: remove check_route check (#2151) [Jonas Chevalier]
  + Update SECURITY.md (#4150) [Indrranil Pawar]
  + Update CONTRIBUTING.rst (#4149) [Indrranil Pawar]
  + Update .github-cla-signers (#4151) [Indrranil Pawar]
  + Standardise module names in cloud.cfg.tmpl to only use underscore
    (#4128) [dermotbradley]
  + tests: update test_webhook_reporting
  + Modify PR template so autoclose works
  + doc: add missing semi-colon to nocloud cmdline docs (#4120)
  + .gitignore: extend coverage pattern (#4143) [Mina Galić]
  From 23.2.2
  + Fix NoCloud kernel commandline key parsing (#4273) (Fixes: #4271)
    (LP: #2028562)
  + Fix reference before assignment (#4292) (Fixes: #4288) (LP: #2028784)
  From 23.2.1
  + nocloud: Fix parse_cmdline detection of nocloud-net datasource (#4204)
    (Fixes: 4203) (LP: #2025180)
  From 23.2
  + BSD: simplify finding MBR partitions by removing duplicate code
  [Mina Galić]
  + tests: bump pycloudlib version for mantic builds
  + network-manager: Set higher autoconnect priority for nm keyfiles (#3671)
    [Ani Sinha]
  + alpine.py: change the locale file used (#4139) [dermotbradley]
  + cc_ntp: Sync up with current FreeBSD ntp.conf (#4122) [Mina Galić]
  + config: drop refresh_rmc_and_interface as RHEL 7 no longer supported
    [Robert Schweikert]
  + docs: Add feedback button to docs
  + net/sysconfig: enable sysconfig renderer if network manager has ifcfg-rh
    plugin (#4132) [Ani Sinha]
  + For Alpine use os-release PRETTY_NAME (#4138) [dermotbradley]
  + network_manager: add a method for ipv6 static IP configuration (#4127)
    [Ani Sinha]
  + correct misnamed template file host.mariner.tmpl (#4124) [dermotbradley]
  + nm: generate ipv6 stateful dhcp config at par with sysconfig (#4115)
    [Ani Sinha]
  + Add templates for GitHub Issues
  + Add 'peers' and 'allow' directives in cc_ntp (#3124) [Jacob Salmela]
  + FreeBSD: Fix user account locking (#4114) [Mina Galić] (GH: #1854594)
  + FreeBSD: add ResizeGrowFS class to cc_growpart (#2334) [Mina Galić]
  + Update tests in Azure TestCanDevBeReformatted class (#2771)
    [Ksenija Stanojevic]
  + Replace Launchpad references with GitHub Issues
  + Fix KeyError in iproute pformat (#3287) [Dmitry Zykov]
  + schema: read_cfg_paths call init.fetch to lookup /v/l/c/instance
  + azure/errors: introduce reportable errors for imds (#3647)
    [Chris Patterson]
  + FreeBSD (and friends): better identify MBR slices (#2168)
    [Mina Galić] (LP: #2016350)
  + azure/errors: add host reporting for dhcp errors (#2167)
    [Chris Patterson]
  + net: purge blacklist_drivers across net and azure (#2160)
    [Chris Patterson]
  + net: refactor hyper-v VF filtering and apply to get_interfaces() (#2153)
    [Chris Patterson]
  + tests: avoid leaks to underlying filesystem for /etc/cloud/clean.d
    (#2251)
  + net: refactor find_candidate_nics_on_linux() to use get_interfaces()
    (#2159) [Chris Patterson]
  + resolv_conf: Allow &gt; 3 nameservers (#2152) [Major Hayden]
  + Remove mount NTFS error message (#2134) [Ksenija Stanojevic]
  + integration tests: fix image specification parsing (#2166)
  + ci: add hypothesis scheduled GH check (#2149)
  + Move supported distros list to docs (#2162)
  + Fix logger, use instance rather than module function (#2163)
  + README: Point to Github Actions build status (#2158)
  + Revert "fix linux-specific code on bsd (#2143)" (#2161)
  + Do not generate dsa and ed25519 key types when crypto FIPS mode is
    enabled (#2142) [Ani Sinha] (LP: 2017761)
  + Add documentation label automatically (#2156)
  + sources/azure: report success to host and introduce kvp module (#2141)
    [Chris Patterson]
  + setup.py: use pkg-config for udev/rules path (#2137) [dankm]
  + openstack/static: honor the DNS servers associated with a network
    (#2138) [Gonéri Le Bouder]
  + fix linux-specific code on bsd (#2143)
  + cli: schema validation of jinja template user-data (SC-1385) (#2132)
    (LP: #1881925)
  + gce: activate network discovery on every boot (#2128)
  + tests: update integration test to assert 640 across reboots (#2145)
  + Make user/vendor data sensitive and remove log permissions (#2144)
    (LP: #2013967)
  + Update kernel command line docs (SC-1457) (#2133)
  + docs: update network configuration path links (#2140) [d1r3ct0r]
  + sources/azure: report failures to host via kvp (#2136) [Chris Patterson]
  + net: Document use of `ip route append` to add routes (#2130)
  + dhcp: Add missing mocks (#2135)
  + azure/imds: retry fetching metadata up to 300 seconds (#2121)
    [Chris Patterson]
  + [1/2] DHCP: Refactor dhcp client code  (#2122)
  + azure/errors: treat traceback_base64 as string (#2131) [Chris Patterson]
  + azure/errors: introduce reportable errors (#2129) [Chris Patterson]
  + users: schema permit empty list to indicate create no users
  + azure: introduce identity module (#2116) [Chris Patterson]
  + Standardize disabling cloud-init on non-systemd (#2112)
  + Update .github-cla-signers (#2126) [Rob Tongue]
  + NoCloud: Use seedfrom protocol to determine mode (#2107)
  + rhel: Remove sysvinit files. (#2114)
  + tox.ini: set -vvvv --showlocals for pytest (#2104) [Chris Patterson]
  + Fix NoCloud kernel commandline semi-colon args
  + run-container: make the container/VM timeout configurable (#2118)
    [Paride Legovini]
  + suse: Remove sysvinit files. (#2115)
  + test: Backport assert_call_count for old requests (#2119)
  + Add "licebmi" as contributor (#2113) [Mark Martinez]
  + Adapt DataSourceScaleway to upcoming IPv6 support (#2033)
    [Louis Bouchard]
  + rhel: make sure previous-hostname file ends with a new line (#2108)
    [Ani Sinha]
  + Adding contributors for DataSourceAkamai (#2110) [acourdavAkamai]
  + Cleanup ephemeral IP routes on exception (#2100) [sxt1001]
  + commit 09a64badfb3f51b1b391fa29be19962381a4bbeb [sxt1001] (LP: #2011291)
  + Standardize kernel commandline user interface (#2093)
  + config/cc_resizefs: fix do_resize arguments (#2106) [Chris Patterson]
  + Fix test_dhclient_exits_with_error (#2105)
  + net/dhcp: catch dhclient failures and raise NoDHCPLeaseError (#2083)
    [Chris Patterson]
  + sources/azure: move pps handling out of _poll_imds() (#2075)
    [Chris Patterson]
  + tests: bump pycloudlib version (#2102)
  + schema: do not manipulate draft4 metaschema for jsonschema 2.6.0 (#2098)
  + sources/azure/imds: don't count timeout errors as connection errors
    (#2074) [Chris Patterson]
  + Fix Python 3.12 unit test failures (#2099)
  + integration tests: Refactor instance checking (#1989)
  + ci: migrate remaining jobs from travis to gh (#2085)
  + missing ending quote in instancedata docs(#2094) [Hong L]
  + refactor: stop passing log instances to cc_* handlers (#2016) [d1r3ct0r]
  + tests/vmware: fix test_no_data_access_method failure (#2092)
    [Chris Patterson]
  + Don't change permissions of netrules target (#2076) (LP: #2011783)
  + tests/sources: patch util.get_cmdline() for datasource tests (#2091)
    [Chris Patterson]
  + macs: ignore duplicate MAC for devs with driver driver qmi_wwan (#2090)
    (LP: #2008888)
  + Fedora: Enable CA handling (#2086) [František Zatloukal]
  + Send dhcp-client-identifier for InfiniBand ports (#2043) [Waleed Mousa]
  + cc_ansible: complete the examples and doc (#2082) [Yves]
  + bddeb: for dev package, derive debhelper-compat from host system
  + apport: only prompt for cloud_name when instance-data.json is absent
  + datasource: Optimize datasource detection, fix bugs (#2060)
  + Handle non existent ca-cert-config situation (#2073) [Shreenidhi Shedi]
  + sources/azure: add networking check for all source PPS (#2061)
    [Chris Patterson]
  + do not attempt dns resolution on ip addresses (#2040)
  + chore: fix style tip (#2071)
  + Fix metadata IP in instancedata.rst (#2063) [Brian Haley]
  + util: Pass deprecation schedule in deprecate_call() (#2064)
  + config: Update grub-dpkg docs (#2058)
  + docs: Cosmetic improvements and styling (#2057) [s-makin]
  + cc_grub_dpkg: Added UEFI support (#2029) [Alexander Birkner]
  + tests: Write to /var/spool/rsyslog to adhere to apparmor profile (#2059)
  + oracle-ds: prefer system_cfg over ds network config source (#1998)
    (LP: #1956788)
  + Remove dead code (#2038)
  + source: Force OpenStack when it is only option (#2045) (LP: #2008727)
  + cc_ubuntu_advantage: improve UA logs discovery
  + sources/azure: fix regressions in IMDS behavior (#2041) [Chris Patterson]
  + tests: fix test_schema (#2042)
  + dhcp: Cleanup unused kwarg (#2037)
  + sources/vmware/imc: fix-missing-catch-few-negtive-scenarios (#2027)
    [PengpengSun]
  + dhclient_hook: remove vestigal dhclient_hook command (#2015)
  + log: Add standardized deprecation tooling (SC-1312) (#2026)
  + Enable SUSE based distros for ca handling (#2036) [Robert Schweikert]
  From 23.1.2
  + Make user/vendor data sensitive and remove log permissions
    (LP: #2013967) (CVE-2023-1786)
  From 23.1.1
  + source: Force OpenStack when it is only option (#2045)
  + sources/azure: fix regressions in IMDS behavior (#2041)
    [Chris Patterson]</changelog>
  <changelog author="Michal Vyskocil &lt;michal.vyskocil@gmail.com&gt;" date="1701432000">- Move fdupes call back to %install (boo#1214169)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1702641600">- Switch build dependency to the generic distribution-release package</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705665600">- Add cloud-init-pckg-reboot.patch (boo#1198533, bsc#1218952,  jsc#SMO-326)
  + Support reboot on package update/upgrade via the cloud-init config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705752000">- Add cloud-init-skip-empty-conf.patch
  + Skip tests with empty config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1708430400">- Prepare for RPM 4.20 switch patch syntax</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1709726400">- Hardcode distribution to suse for proper cloud.cfg generation
  (bsc#1220132).</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1711627200">- Add  cloud-init-ds-deterministic.patch (bsc#1221132)
  + Do not guess a data source when checking for a CloudStack
    environment</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318400">- Add cloud-init-no-openstack-guess.patch (bsc#1222113)
  + Do not guess if we are running on OpenStack or not. Only recognize
    the known markers and enable cloud-init if we know for sure.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318401">- Add cloud-init-no-nmcfg-needed.patch (bsc#1221726)
  + Do not require a NetworkManager config file in order to detect
    NetworkManager as the renderer</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712664000">- Update cloud-init-no-openstack-guess.patch
  + Do not enable cloud-init on systems where there is no DMI just
    because no data source has been found. No data source means
    cloud-init will not run.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1714392000">- Add cloud-init-usr-sudoers.patch (bsc#1223469)
  + Handle the existence of /usr/etc/sudoers to search for the expected
    include location</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1717416000">- Add cloud-init-skip-rename.patch (bsc#1219680)
  + Brute force appraoch to skip renames if the device is already present</changelog>
</package>
<package pkgid="2cdef42d40002b6e4ea4b376b9b2d86d62c8300593ce4d97b5227997408f82495b2bef39d1eae3ba56ec57665233b989712ad97217d343ae444987dd990f58b0" name="cloud-init" arch="src">
  <version epoch="0" ver="23.3" rel="13.0.4.1.sr20240605"/>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1677153600">- Update to version 23.1
  + Remove patches included upstream:
  - cloud-init-btrfs-queue-resize.patch
  - cloud-init-micro-is-suse.patch
  - cloud-init-suse-afternm.patch
  - cloud-init-prefer-nm.patch
  - cloud-init-transact-up.patch
  + Forward port
  - cloud-init-write-routes.patch
  + Added
  - cloud-init-fix-ca-test.patch
  + Support transactional-updates for SUSE based distros (#1997)
    [Robert Schweikert]
  + Set ownership for new folders in Write Files Module (#1980)
    [Jack] (LP: #1990513)
  + add OpenCloudOS and TencentOS support (#1964) [wynnfeng]
  + lxd: Retry if the server isn't ready (#2025)
  + test: switch pycloudlib source to pypi (#2024)
  + test: Fix integration test deprecation message (#2023)
  + Recognize opensuse-microos, dev tooling fixes [Robert Schweikert]
  + sources/azure: refactor imds handler into own module (#1977)
    [Chris Patterson]
  + docs: deprecation generation support [1/2] (#2013)
  + add function is_virtual to distro/FreeBSD (#1957) [Mina Galić]
  + cc_ssh: support multiple hostcertificates (#2018) (LP: #1999164)
  + Fix minor schema validation regression and fixup typing (#2017)
  + doc: Reword user data debug section (#2019)
  + Overhaul/rewrite of certificate handling as follows: (#1962)
    [dermotbradley] (LP: #1931174)
  + disk_setup: use byte string when purging the partition table (#2012)
    [Stefan Prietl]
  + cli: schema also validate vendordata*.
  + ci: sort and add checks for cla signers file [Stefan Prietl]
  + Add "ederst" as contributor (#2010) [Stefan Prietl]
  + readme: add reference to packages dir (#2001)
  + docs: update downstream package list (#2002)
  + docs: add google search verification (#2000) [s-makin]
  + docs: fix 404 render use default notfound_urls_prefix in RTD conf (#2004)
  + Fix OpenStack datasource detection on bare metal (#1923)
    [Alexander Birkner] (LP: #1815990)
  + docs: add themed RTD 404 page and pointer to readthedocs-hosted (#1993)
  + schema: fix gpt labels, use type string for GUID (#1995)
  + cc_disk_setup: code cleanup (#1996)
  + netplan: keep custom strict perms when 50-cloud-init.yaml exists
  + cloud-id: better handling of change in datasource files
    [d1r3ct0r] (LP: #1998998)
  + tests: Remove restart check from test
  + Ignore duplicate macs from mscc_felix and fsl_enetc (LP: #1997922)
  + Warn on empty network key (#1990)
  + Fix Vultr cloud_interfaces usage (#1986) [eb3095]
  + cc_puppet: Update puppet service name (#1970) [d1r3ct0r] (LP: #2002969)
  + docs: Clarify networking docs (#1987)
  + lint: remove httpretty (#1985) [sxt1001]
  + cc_set_passwords: Prevent traceback when restarting ssh (#1981)
  + tests: fix lp1912844 (#1978)
  + tests: Skip ansible test on bionic (#1984)
  + Wait for NetworkManager (#1983) [Robert Schweikert]
  + docs: minor polishing (#1979) [s-makin]
  + CI: migrate integration-test to GH actions (#1969)
  + Fix permission of SSH host keys (#1971) [Ron Gebauer]
  + Fix default route rendering on v2 ipv6 (#1973) (LP: #2003562)
  + doc: fix path in net_convert command (#1975)
  + docs: update net_convert docs (#1974)
  + doc: fix dead link
  + cc_set_hostname: ignore /var/lib/cloud/data/set-hostname if it's empty
    (#1967) [Emanuele Giuseppe Esposito]
  + distros/rhel.py: _read_hostname() missing strip on "hostname" (#1941)
    [Mark Mielke]
  + integration tests: add  IBM VPC support (SC-1352) (#1915)
  + machine-id: set to uninitialized to trigger regeneration on clones
    (LP: #1999680)
  + sources/azure: retry on connection error when fetching metdata (#1968)
    [Chris Patterson]
  + Ensure ssh state accurately obtained (#1966)
  + bddeb: drop dh-systemd dependency on newer deb-based releases [d1r3ct0r]
  + doc: fix `config formats` link in cloudsigma.rst (#1960)
  + Fix wrong subp syntax in cc_set_passwords.py (#1961)
  + docs: update the PR template link to readthedocs (#1958) [d1r3ct0r]
  + ci: switch unittests to gh actions (#1956)
  + Add mount_default_fields for PhotonOS. (#1952) [Shreenidhi Shedi]
  + sources/azure: minor refactor for metadata source detection logic
    (#1936) [Chris Patterson]
  + add "CalvoM" as contributor (#1955) [d1r3ct0r]
  + ci: doc to gh actions (#1951)
  + lxd: handle 404 from missing devices route for LXD 4.0 (LP: #2001737)
  + docs: Diataxis overhaul (#1933) [s-makin]
  + vultr: Fix issue regarding cache and region codes (#1938) [eb3095]
  + cc_set_passwords: Move ssh status checking later (SC-1368) (#1909)
    (LP: #1998526)
  + Improve Wireguard module idempotency (#1940) [Fabian Lichtenegger-Lukas]
  + network/netplan: add gateways as on-link when necessary (#1931)
    [Louis Sautier] (LP: #2000596)
  + tests: test_lxd assert features.networks.zones when present (#1939)
  + Use btrfs enquque when available (#1926) [Robert Schweikert]
  + sources/azure: drop description for report_failure_to_fabric() (#1934)
    [Chris Patterson]
  + cc_disk_setup.py: fix MBR single partition creation (#1932)
    [dermotbradley] (LP: #1851438)
  + Fix typo with package_update/package_upgrade (#1927) [eb3095]
  + sources/azure: fix device driver matching for net config (#1914)
    [Chris Patterson]
  + BSD: fix duplicate macs in Ifconfig parser (#1917) [Mina Galić]
  + test: mock dns calls (#1922)
  + pycloudlib: add lunar support for integration tests (#1928)
  + nocloud: add support for dmi variable expansion for seedfrom URL
    (LP: #1994980)
  + tools: read-version drop extra call to git describe --long
  + doc: improve cc_write_files doc (#1916)
  + read-version: When insufficient tags, use cloudinit.version.get_version
  + mounts: document weird prefix in schema (#1913)
  + add utility function test cases (#1910) [sxt1001]
  + test: mock file deletion in dhcp tests (#1911)
  + Ensure network ready before cloud-init service runs on RHEL (#1893)
    (LP: #1998655)
  + docs: add copy button to code blocks (#1890) [s-makin]
  + netplan: define features.NETPLAN_CONFIG_ROOT_READ_ONLY flag
  + azure: fix support for systems without az command installed (#1908)
  + Networking Clarification (#1892)
  + Fix the distro.osfamily output problem in the openEuler system. (#1895)
    [sxt1001] (LP: #1999042)
  + pycloudlib: bump commit dropping azure api smoke test
  + net: netplan config root read-only as wifi config can contain creds
  + autoinstall: clarify docs for users
  + sources/azure: encode health report as utf-8 (#1897) [Chris Patterson]
  + Add back gateway4/6 deprecation to docs (#1898)
  + networkd: Add support for multiple [Route] sections (#1868)
    [Nigel Kukard]
  + doc: add qemu tutorial (#1863)
  + lint: fix tip-flake8 and tip-mypy (#1896)
  + Add support for setting uid when creating users on FreeBSD (#1888)
    [einsibjarni]
  + Fix exception in BSD networking code-path (#1894) [Mina Galić]
  + Append derivatives to is_rhel list in cloud.cfg.tmpl (#1887) [Louis Abel]
  + FreeBSD init: use cloudinit_enable as only rcvar (#1875) [Mina Galić]
  + feat: add support aliyun metadata security harden mode (#1865)
    [Manasseh Zhou]
  + docs: uprate analyze to performance page [s-makin]
  + test: fix lxd preseed managed network config (#1881)
  + Add support for static IPv6 addresses for FreeBSD (#1839) [einsibjarni]
  + Make 3.12 failures not fail the build (#1873)
  + Docs: adding relative links [s-makin]
  + Update read-version
  + Fix setup.py to align with PEP 440 versioning replacing trailing
  + travis: promote 3.11-dev to 3.11 (#1866)
  + test_cloud_sigma: delete useless test (#1828) [sxt1001]
  + Add "nkukard" as contributor (#1864) [Nigel Kukard]
  + tests: ds-id mocks for vmware-rpctool as utility may not exist in env
  + doc: add how to render new module doc (#1855)
  + doc: improve module creation explanation (#1851)
  + Add Support for IPv6 metadata to OpenStack (#1805)
    [Marvin Vogt] (LP: #1906849)
  + add xiaoge1001 to .github-cla-signers (#1854) [sxt1001]
  + network: Deprecate gateway{4,6} keys in network config v2 (#1794)
    (LP: #1992512)
  + VMware: Move Guest Customization transport from OVF to VMware (#1573)
    [PengpengSun]
  + doc: home page links added (#1852) [s-makin]
  From 22.4.2
  + status: handle ds not defined in status.json (#1876) (LP: #1997559)
  From 22.4.1
  + net: skip duplicate mac check for netvsc nic and its VF (#1853)
    [Anh Vo] (LP: #1844191)
  + ChangeLog: whitespace cleanup (#1850)
  + changelog: capture 22.3.1-4 releases</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1681214400">- Sensitive data exposure (bsc#1210277, CVE-2023-1786)
  + Add hidesensitivedata
  + Add cloud-init-cve-2023-1786-redact-inst-data.patch
  + Do not expose sensitive data gathered from the CSP</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1682596800">- Add cloud-init-power-rhel-only.patch (bsc#1210273)
  + Config module cc_refresh_rmc_and_interface is implemented such that
    it will only work on RH distros. Set the module availability accordingly.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1688644800">- Update cloud-init-write-routes.patch (bsc#1212879)
  + Add necessary import statement
- Enable flake8 linting, fix up patches
  + cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  + cloud-init-power-rhel-only.patch
  + cloud-init-write-routes.patch
  + datasourceLocalDisk.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1691928000">- update to 23.1.2:
  * Make user/vendor data sensitive and remove log permissions
  * source: Force OpenStack when it is only option (#2045)
  * sources/azure: fix regressions in IMDS behavior
- drop
  cloud-init-cve-2023-1786-redact-instance-data-json-main.patch (upstream)
- spec-file cleanups, including dropping flake8 (as build fails
  with newer flake8 versions)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1692014400">- Add cloud-init-flake8-fixes.patch
- Revert chnages from previous commit
  + Disabling checks the primary maintainer enabled for specific reasons
    is not a fix.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1696852800">- Update to version 23.3 (bsc#1216011, bsc#1215794, bsc#1215740)
  + Remove patches included upstream:
  - cloud-init-fix-ca-test.patch
  - cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  - cloud-init-power-rhel-only.patch
  - cloud-init-flake8-fixes.patch
  + Add
  - cloud-init-keep-flake.patch
  - cloud-init-lint-fixes.patch
  + Update
  - cloud-init-write-routes.patch (bsc#1216007)
  + Bump pycloudlib to 1!5.1.0 for ec2 mantic daily image support (#4390)
  + Fix cc_keyboard in mantic (LP: #2030788)
  + ec2: initialize get_instance_userdata return value to bytes (#4387)
    [Noah Meyerhans]
  + cc_users_groups: Add doas/opendoas support (#4363) [dermotbradley]
  + Fix pip-managed ansible
  + status: treat SubState=running and MainPID=0 as service exited
  + azure/imds: increase read-timeout to 30s (#4372) [Chris Patterson]
  + collect-logs fix memory usage (SC-1590) (#4289)
    [Alec Warren] (LP: #1980150)
  + cc_mounts: Use fallocate to create swapfile on btrfs (#4369) [王煎饼]
  + Undocument nocloud-net (#4318)
  + feat(akamai): add akamai to settings.py and apport.py (#4370)
  + read-version: fallback to get_version when git describe fails (#4366)
  + apt: fix cloud-init status --wait blocking on systemd v 253 (#4364)
  + integration tests: Pass username to pycloudlib (#4324)
  + Bump pycloudlib to 1!5.1.0 (#4353)
  + cloud.cfg.tmpl: reorganise, minimise/reduce duplication (#4272)
    [dermotbradley]
  + analyze: fix (unexpected) timestamp parsing (#4347) [Mina Galić]
  + cc_growpart: fix tests to run on FreeBSD (#4351) [Mina Galić]
  + subp: Fix spurious test failure on FreeBSD (#4355) [Mina Galić]
  + cmd/clean: fix tests on non-Linux platforms (#4352) [Mina Galić]
  + util: Fix get_proc_ppid() on non-Linux systems (#4348) [Mina Galić]
  + cc_wireguard: make tests pass on FreeBSD (#4346) [Mina Galić]
  + unittests: fix breakage in test_read_cfg_paths_fetches_cached_datasource
    (#4328) [Ani Sinha]
  + Fix test_tools.py collection (#4315)
  + cc_keyboard: add Alpine support (#4278) [dermotbradley]
  + Flake8 fixes (#4340) [Robert Schweikert]
  + cc_mounts: Fix swapfile not working on btrfs (#4319) [王煎饼] (LP: #1884127)
  + ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen (#4281)
    [Wei Zhou]
  + ec2: Support double encoded userdata (#4276) [Noah Meyerhans]
  + cc_mounts: xfs is a Linux only FS (#4334) [Mina Galić]
  + tests/net: fix TestGetInterfaces' mock coverage for get_master (#4336)
    [Chris Patterson]
  + change openEuler to openeuler and fix some bugs in openEuler (#4317)
    [sxt1001]
  + Replace flake8 with ruff (#4314)
  + NM renderer: set default IPv6 addr-gen-mode for all interfaces to eui64
    (#4291) [Ani Sinha]
  + cc_ssh_import_id: add Alpine support and add doas support (#4277)
    [dermotbradley]
  + sudoers not idempotent (SC-1589)  (#4296) [Alec Warren] (LP: #1998539)
  + Added support for Akamai Connected Cloud (formerly Linode) (#4167)
    [Will Smith]
  + Fix reference before assignment (#4292)
  + Overhaul module reference page (#4237) [Sally]
  + replaced spaces with commas for setting passenv (#4269) [Alec Warren]
  + DS VMware: modify a few log level (#4284) [PengpengSun]
  + tools/read-version refactors and unit tests (#4268)
  + Ensure get_features() grabs all features (#4285)
  + Don't always require passlib dependency (#4274)
  + tests: avoid leaks into host system checking of ovs-vsctl cmd (#4275)
  + Fix NoCloud kernel commandline key parsing (#4273)
  + testing: Clear all LRU caches after each test (#4249)
  + Remove the crypt dependency (#2139) [Gonéri Le Bouder]
  + logging: keep current file mode of log file if its stricter than the
    new mode (#4250) [Ani Sinha]
  + Remove default membership in redundant groups (#4258)
    [Dave Jones] (LP: #1923363)
  + doc: improve datasource_creation.rst (#4262)
  + Remove duplicate Integration testing button (#4261) [Rishita Shaw]
  + tools/read-version: fix the tool so that it can handle version parsing
    errors (#4234) [Ani Sinha]
  + net/dhcp: add udhcpc support (#4190) [Jean-François Roche]
  + DS VMware: add i386 arch dir to deployPkg plugin search path
    [PengpengSun]
  + LXD moved from linuxcontainers.org to Canonical [Simon Deziel]
  + cc_mounts.py: Add note about issue with creating mounts inside mounts
    (#4232) [dermotbradley]
  + lxd: install lxd from snap, not deb if absent in image
  + landscape: use landscape-config to write configuration
  + Add deprecation log during init of DataSourceDigitalOcean (#4194)
    [tyb-truth]
  + doc: fix typo on apt.primary.arches (#4238) [Dan Bungert]
  + Inspect systemd state for cloud-init status (#4230)
  + instance-data: add system-info and features to combined-cloud-config
    (#4224)
  + systemd: Block login until config stage completes (#2111) (LP: #2013403)
  + tests: proposed should invoke apt-get install -t=&lt;release&gt;-proposed
    (#4235)
  + cloud.cfg.tmpl: reinstate ca_certs entry (#4236) [dermotbradley]
  + Remove feature flag override ability (#4228)
  + tests: drop stray unrelated file presence test (#4227)
  + Update LXD URL (#4223) [Sally]
  + schema: add network v1 schema definition and validation functions
  + tests: daily PPA for devel series is version 99.daily update tests to
    match (#4225)
  + instance-data: write /run/cloud-init/combined-cloud-config.json
  + mount parse: Fix matching non-existent directories (#4222) [Mina Galić]
  + Specify build-system for pep517 (#4218)
  + Fix network v2 metric rendering (#4220)
  + Migrate content out of FAQ page (SD-1187) (#4205) [Sally]
  + setup: fix generation of init templates (#4209) [Mina Galić]
  + docs: Correct some bootcmd example wording
  + fix changelog
  + tests: reboot client to assert x-shellscript-per-boot is triggered
  + nocloud: parse_cmdline no longer detects nocloud-net datasource (#4204)
    (LP: 4203, #2025180)
  + Add docstring and typing to mergemanydict (#4200)
  + BSD: add dsidentify to early startup scripts (#4182) [Mina Galić]
  + handler: report errors on skipped merged cloud-config.txt parts
    (LP: #1999952)
  + Add cloud-init summit writeups (#4179) [Sally]
  + tests: Update test_clean_log for oci (#4187)
  + gce: improve ephemeral fallback NIC selection (CPC-2578) (#4163)
  + tests: pin pytest 7.3.1 to avoid adverse testpaths behavior (#4184)
  + Ephemeral Networking for FreeBSD (#2165) [Mina Galić]
  + Clarify directory syntax for nocloud local filesystem. (#4178)
  + Set default renderer as sysconfig for centos/rhel (#4165) [Ani Sinha]
  + Test static routes and netplan 0.106
  + FreeBSD fix parsing of mount and mount options (#2146) [Mina Galić]
  + test: add tracking bug id (#4164)
  + tests: can't match MAC for LXD container veth due to netplan 0.106
    (#4162)
  + Add kaiwalyakoparkar as a contributor (#4156) [Kaiwalya Koparkar]
  + BSD: remove datasource_list from cloud.cfg template (#4159) [Mina Galić]
  + launching salt-minion in masterless mode (#4110) [Denis Halturin]
  + tools: fix run-container builds for rockylinux/8 git hash mismatch
    (#4161)
  + fix doc lint: spellchecker tripped up (#4160) [Mina Galić]
  + Support Ephemeral Networking for BSD (#2127)
  + Added / fixed support for static routes on OpenBSD and FreeBSD (#2157)
    [Kadir Mueller]
  + cc_rsyslog: Refactor for better multi-platform support (#4119)
    [Mina Galić] (LP: #1798055)
  + tests: fix test_lp1835584 (#4154)
  + cloud.cfg mod names: docs and rename salt_minion and set_password (#4153)
  + tests: apt support for deb822 format .sources files on mantic
  + vultr: remove check_route check (#2151) [Jonas Chevalier]
  + Update SECURITY.md (#4150) [Indrranil Pawar]
  + Update CONTRIBUTING.rst (#4149) [Indrranil Pawar]
  + Update .github-cla-signers (#4151) [Indrranil Pawar]
  + Standardise module names in cloud.cfg.tmpl to only use underscore
    (#4128) [dermotbradley]
  + tests: update test_webhook_reporting
  + Modify PR template so autoclose works
  + doc: add missing semi-colon to nocloud cmdline docs (#4120)
  + .gitignore: extend coverage pattern (#4143) [Mina Galić]
  From 23.2.2
  + Fix NoCloud kernel commandline key parsing (#4273) (Fixes: #4271)
    (LP: #2028562)
  + Fix reference before assignment (#4292) (Fixes: #4288) (LP: #2028784)
  From 23.2.1
  + nocloud: Fix parse_cmdline detection of nocloud-net datasource (#4204)
    (Fixes: 4203) (LP: #2025180)
  From 23.2
  + BSD: simplify finding MBR partitions by removing duplicate code
  [Mina Galić]
  + tests: bump pycloudlib version for mantic builds
  + network-manager: Set higher autoconnect priority for nm keyfiles (#3671)
    [Ani Sinha]
  + alpine.py: change the locale file used (#4139) [dermotbradley]
  + cc_ntp: Sync up with current FreeBSD ntp.conf (#4122) [Mina Galić]
  + config: drop refresh_rmc_and_interface as RHEL 7 no longer supported
    [Robert Schweikert]
  + docs: Add feedback button to docs
  + net/sysconfig: enable sysconfig renderer if network manager has ifcfg-rh
    plugin (#4132) [Ani Sinha]
  + For Alpine use os-release PRETTY_NAME (#4138) [dermotbradley]
  + network_manager: add a method for ipv6 static IP configuration (#4127)
    [Ani Sinha]
  + correct misnamed template file host.mariner.tmpl (#4124) [dermotbradley]
  + nm: generate ipv6 stateful dhcp config at par with sysconfig (#4115)
    [Ani Sinha]
  + Add templates for GitHub Issues
  + Add 'peers' and 'allow' directives in cc_ntp (#3124) [Jacob Salmela]
  + FreeBSD: Fix user account locking (#4114) [Mina Galić] (GH: #1854594)
  + FreeBSD: add ResizeGrowFS class to cc_growpart (#2334) [Mina Galić]
  + Update tests in Azure TestCanDevBeReformatted class (#2771)
    [Ksenija Stanojevic]
  + Replace Launchpad references with GitHub Issues
  + Fix KeyError in iproute pformat (#3287) [Dmitry Zykov]
  + schema: read_cfg_paths call init.fetch to lookup /v/l/c/instance
  + azure/errors: introduce reportable errors for imds (#3647)
    [Chris Patterson]
  + FreeBSD (and friends): better identify MBR slices (#2168)
    [Mina Galić] (LP: #2016350)
  + azure/errors: add host reporting for dhcp errors (#2167)
    [Chris Patterson]
  + net: purge blacklist_drivers across net and azure (#2160)
    [Chris Patterson]
  + net: refactor hyper-v VF filtering and apply to get_interfaces() (#2153)
    [Chris Patterson]
  + tests: avoid leaks to underlying filesystem for /etc/cloud/clean.d
    (#2251)
  + net: refactor find_candidate_nics_on_linux() to use get_interfaces()
    (#2159) [Chris Patterson]
  + resolv_conf: Allow &gt; 3 nameservers (#2152) [Major Hayden]
  + Remove mount NTFS error message (#2134) [Ksenija Stanojevic]
  + integration tests: fix image specification parsing (#2166)
  + ci: add hypothesis scheduled GH check (#2149)
  + Move supported distros list to docs (#2162)
  + Fix logger, use instance rather than module function (#2163)
  + README: Point to Github Actions build status (#2158)
  + Revert "fix linux-specific code on bsd (#2143)" (#2161)
  + Do not generate dsa and ed25519 key types when crypto FIPS mode is
    enabled (#2142) [Ani Sinha] (LP: 2017761)
  + Add documentation label automatically (#2156)
  + sources/azure: report success to host and introduce kvp module (#2141)
    [Chris Patterson]
  + setup.py: use pkg-config for udev/rules path (#2137) [dankm]
  + openstack/static: honor the DNS servers associated with a network
    (#2138) [Gonéri Le Bouder]
  + fix linux-specific code on bsd (#2143)
  + cli: schema validation of jinja template user-data (SC-1385) (#2132)
    (LP: #1881925)
  + gce: activate network discovery on every boot (#2128)
  + tests: update integration test to assert 640 across reboots (#2145)
  + Make user/vendor data sensitive and remove log permissions (#2144)
    (LP: #2013967)
  + Update kernel command line docs (SC-1457) (#2133)
  + docs: update network configuration path links (#2140) [d1r3ct0r]
  + sources/azure: report failures to host via kvp (#2136) [Chris Patterson]
  + net: Document use of `ip route append` to add routes (#2130)
  + dhcp: Add missing mocks (#2135)
  + azure/imds: retry fetching metadata up to 300 seconds (#2121)
    [Chris Patterson]
  + [1/2] DHCP: Refactor dhcp client code  (#2122)
  + azure/errors: treat traceback_base64 as string (#2131) [Chris Patterson]
  + azure/errors: introduce reportable errors (#2129) [Chris Patterson]
  + users: schema permit empty list to indicate create no users
  + azure: introduce identity module (#2116) [Chris Patterson]
  + Standardize disabling cloud-init on non-systemd (#2112)
  + Update .github-cla-signers (#2126) [Rob Tongue]
  + NoCloud: Use seedfrom protocol to determine mode (#2107)
  + rhel: Remove sysvinit files. (#2114)
  + tox.ini: set -vvvv --showlocals for pytest (#2104) [Chris Patterson]
  + Fix NoCloud kernel commandline semi-colon args
  + run-container: make the container/VM timeout configurable (#2118)
    [Paride Legovini]
  + suse: Remove sysvinit files. (#2115)
  + test: Backport assert_call_count for old requests (#2119)
  + Add "licebmi" as contributor (#2113) [Mark Martinez]
  + Adapt DataSourceScaleway to upcoming IPv6 support (#2033)
    [Louis Bouchard]
  + rhel: make sure previous-hostname file ends with a new line (#2108)
    [Ani Sinha]
  + Adding contributors for DataSourceAkamai (#2110) [acourdavAkamai]
  + Cleanup ephemeral IP routes on exception (#2100) [sxt1001]
  + commit 09a64badfb3f51b1b391fa29be19962381a4bbeb [sxt1001] (LP: #2011291)
  + Standardize kernel commandline user interface (#2093)
  + config/cc_resizefs: fix do_resize arguments (#2106) [Chris Patterson]
  + Fix test_dhclient_exits_with_error (#2105)
  + net/dhcp: catch dhclient failures and raise NoDHCPLeaseError (#2083)
    [Chris Patterson]
  + sources/azure: move pps handling out of _poll_imds() (#2075)
    [Chris Patterson]
  + tests: bump pycloudlib version (#2102)
  + schema: do not manipulate draft4 metaschema for jsonschema 2.6.0 (#2098)
  + sources/azure/imds: don't count timeout errors as connection errors
    (#2074) [Chris Patterson]
  + Fix Python 3.12 unit test failures (#2099)
  + integration tests: Refactor instance checking (#1989)
  + ci: migrate remaining jobs from travis to gh (#2085)
  + missing ending quote in instancedata docs(#2094) [Hong L]
  + refactor: stop passing log instances to cc_* handlers (#2016) [d1r3ct0r]
  + tests/vmware: fix test_no_data_access_method failure (#2092)
    [Chris Patterson]
  + Don't change permissions of netrules target (#2076) (LP: #2011783)
  + tests/sources: patch util.get_cmdline() for datasource tests (#2091)
    [Chris Patterson]
  + macs: ignore duplicate MAC for devs with driver driver qmi_wwan (#2090)
    (LP: #2008888)
  + Fedora: Enable CA handling (#2086) [František Zatloukal]
  + Send dhcp-client-identifier for InfiniBand ports (#2043) [Waleed Mousa]
  + cc_ansible: complete the examples and doc (#2082) [Yves]
  + bddeb: for dev package, derive debhelper-compat from host system
  + apport: only prompt for cloud_name when instance-data.json is absent
  + datasource: Optimize datasource detection, fix bugs (#2060)
  + Handle non existent ca-cert-config situation (#2073) [Shreenidhi Shedi]
  + sources/azure: add networking check for all source PPS (#2061)
    [Chris Patterson]
  + do not attempt dns resolution on ip addresses (#2040)
  + chore: fix style tip (#2071)
  + Fix metadata IP in instancedata.rst (#2063) [Brian Haley]
  + util: Pass deprecation schedule in deprecate_call() (#2064)
  + config: Update grub-dpkg docs (#2058)
  + docs: Cosmetic improvements and styling (#2057) [s-makin]
  + cc_grub_dpkg: Added UEFI support (#2029) [Alexander Birkner]
  + tests: Write to /var/spool/rsyslog to adhere to apparmor profile (#2059)
  + oracle-ds: prefer system_cfg over ds network config source (#1998)
    (LP: #1956788)
  + Remove dead code (#2038)
  + source: Force OpenStack when it is only option (#2045) (LP: #2008727)
  + cc_ubuntu_advantage: improve UA logs discovery
  + sources/azure: fix regressions in IMDS behavior (#2041) [Chris Patterson]
  + tests: fix test_schema (#2042)
  + dhcp: Cleanup unused kwarg (#2037)
  + sources/vmware/imc: fix-missing-catch-few-negtive-scenarios (#2027)
    [PengpengSun]
  + dhclient_hook: remove vestigal dhclient_hook command (#2015)
  + log: Add standardized deprecation tooling (SC-1312) (#2026)
  + Enable SUSE based distros for ca handling (#2036) [Robert Schweikert]
  From 23.1.2
  + Make user/vendor data sensitive and remove log permissions
    (LP: #2013967) (CVE-2023-1786)
  From 23.1.1
  + source: Force OpenStack when it is only option (#2045)
  + sources/azure: fix regressions in IMDS behavior (#2041)
    [Chris Patterson]</changelog>
  <changelog author="Michal Vyskocil &lt;michal.vyskocil@gmail.com&gt;" date="1701432000">- Move fdupes call back to %install (boo#1214169)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1702641600">- Switch build dependency to the generic distribution-release package</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705665600">- Add cloud-init-pckg-reboot.patch (boo#1198533, bsc#1218952,  jsc#SMO-326)
  + Support reboot on package update/upgrade via the cloud-init config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705752000">- Add cloud-init-skip-empty-conf.patch
  + Skip tests with empty config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1708430400">- Prepare for RPM 4.20 switch patch syntax</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1709726400">- Hardcode distribution to suse for proper cloud.cfg generation
  (bsc#1220132).</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1711627200">- Add  cloud-init-ds-deterministic.patch (bsc#1221132)
  + Do not guess a data source when checking for a CloudStack
    environment</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318400">- Add cloud-init-no-openstack-guess.patch (bsc#1222113)
  + Do not guess if we are running on OpenStack or not. Only recognize
    the known markers and enable cloud-init if we know for sure.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318401">- Add cloud-init-no-nmcfg-needed.patch (bsc#1221726)
  + Do not require a NetworkManager config file in order to detect
    NetworkManager as the renderer</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712664000">- Update cloud-init-no-openstack-guess.patch
  + Do not enable cloud-init on systems where there is no DMI just
    because no data source has been found. No data source means
    cloud-init will not run.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1714392000">- Add cloud-init-usr-sudoers.patch (bsc#1223469)
  + Handle the existence of /usr/etc/sudoers to search for the expected
    include location</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1717416000">- Add cloud-init-skip-rename.patch (bsc#1219680)
  + Brute force appraoch to skip renames if the device is already present</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718366400">- remove dependency on /usr/bin/python3 via using the macros (bsc#1212476)</changelog>
</package>
<package pkgid="95fbccd49f647ed583eacccb82e383ab32e062b1e90b2c792d2743ed2b99645b3f0c1bf383d25b6fcdcb43fb419af8348c2eaaf768b7d3a7a54677aa1159bf6f" name="cloud-init" arch="x86_64">
  <version epoch="0" ver="23.3" rel="13.0.4.1.sr20240605"/>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1677153600">- Update to version 23.1
  + Remove patches included upstream:
  - cloud-init-btrfs-queue-resize.patch
  - cloud-init-micro-is-suse.patch
  - cloud-init-suse-afternm.patch
  - cloud-init-prefer-nm.patch
  - cloud-init-transact-up.patch
  + Forward port
  - cloud-init-write-routes.patch
  + Added
  - cloud-init-fix-ca-test.patch
  + Support transactional-updates for SUSE based distros (#1997)
    [Robert Schweikert]
  + Set ownership for new folders in Write Files Module (#1980)
    [Jack] (LP: #1990513)
  + add OpenCloudOS and TencentOS support (#1964) [wynnfeng]
  + lxd: Retry if the server isn't ready (#2025)
  + test: switch pycloudlib source to pypi (#2024)
  + test: Fix integration test deprecation message (#2023)
  + Recognize opensuse-microos, dev tooling fixes [Robert Schweikert]
  + sources/azure: refactor imds handler into own module (#1977)
    [Chris Patterson]
  + docs: deprecation generation support [1/2] (#2013)
  + add function is_virtual to distro/FreeBSD (#1957) [Mina Galić]
  + cc_ssh: support multiple hostcertificates (#2018) (LP: #1999164)
  + Fix minor schema validation regression and fixup typing (#2017)
  + doc: Reword user data debug section (#2019)
  + Overhaul/rewrite of certificate handling as follows: (#1962)
    [dermotbradley] (LP: #1931174)
  + disk_setup: use byte string when purging the partition table (#2012)
    [Stefan Prietl]
  + cli: schema also validate vendordata*.
  + ci: sort and add checks for cla signers file [Stefan Prietl]
  + Add "ederst" as contributor (#2010) [Stefan Prietl]
  + readme: add reference to packages dir (#2001)
  + docs: update downstream package list (#2002)
  + docs: add google search verification (#2000) [s-makin]
  + docs: fix 404 render use default notfound_urls_prefix in RTD conf (#2004)
  + Fix OpenStack datasource detection on bare metal (#1923)
    [Alexander Birkner] (LP: #1815990)
  + docs: add themed RTD 404 page and pointer to readthedocs-hosted (#1993)
  + schema: fix gpt labels, use type string for GUID (#1995)
  + cc_disk_setup: code cleanup (#1996)
  + netplan: keep custom strict perms when 50-cloud-init.yaml exists
  + cloud-id: better handling of change in datasource files
    [d1r3ct0r] (LP: #1998998)
  + tests: Remove restart check from test
  + Ignore duplicate macs from mscc_felix and fsl_enetc (LP: #1997922)
  + Warn on empty network key (#1990)
  + Fix Vultr cloud_interfaces usage (#1986) [eb3095]
  + cc_puppet: Update puppet service name (#1970) [d1r3ct0r] (LP: #2002969)
  + docs: Clarify networking docs (#1987)
  + lint: remove httpretty (#1985) [sxt1001]
  + cc_set_passwords: Prevent traceback when restarting ssh (#1981)
  + tests: fix lp1912844 (#1978)
  + tests: Skip ansible test on bionic (#1984)
  + Wait for NetworkManager (#1983) [Robert Schweikert]
  + docs: minor polishing (#1979) [s-makin]
  + CI: migrate integration-test to GH actions (#1969)
  + Fix permission of SSH host keys (#1971) [Ron Gebauer]
  + Fix default route rendering on v2 ipv6 (#1973) (LP: #2003562)
  + doc: fix path in net_convert command (#1975)
  + docs: update net_convert docs (#1974)
  + doc: fix dead link
  + cc_set_hostname: ignore /var/lib/cloud/data/set-hostname if it's empty
    (#1967) [Emanuele Giuseppe Esposito]
  + distros/rhel.py: _read_hostname() missing strip on "hostname" (#1941)
    [Mark Mielke]
  + integration tests: add  IBM VPC support (SC-1352) (#1915)
  + machine-id: set to uninitialized to trigger regeneration on clones
    (LP: #1999680)
  + sources/azure: retry on connection error when fetching metdata (#1968)
    [Chris Patterson]
  + Ensure ssh state accurately obtained (#1966)
  + bddeb: drop dh-systemd dependency on newer deb-based releases [d1r3ct0r]
  + doc: fix `config formats` link in cloudsigma.rst (#1960)
  + Fix wrong subp syntax in cc_set_passwords.py (#1961)
  + docs: update the PR template link to readthedocs (#1958) [d1r3ct0r]
  + ci: switch unittests to gh actions (#1956)
  + Add mount_default_fields for PhotonOS. (#1952) [Shreenidhi Shedi]
  + sources/azure: minor refactor for metadata source detection logic
    (#1936) [Chris Patterson]
  + add "CalvoM" as contributor (#1955) [d1r3ct0r]
  + ci: doc to gh actions (#1951)
  + lxd: handle 404 from missing devices route for LXD 4.0 (LP: #2001737)
  + docs: Diataxis overhaul (#1933) [s-makin]
  + vultr: Fix issue regarding cache and region codes (#1938) [eb3095]
  + cc_set_passwords: Move ssh status checking later (SC-1368) (#1909)
    (LP: #1998526)
  + Improve Wireguard module idempotency (#1940) [Fabian Lichtenegger-Lukas]
  + network/netplan: add gateways as on-link when necessary (#1931)
    [Louis Sautier] (LP: #2000596)
  + tests: test_lxd assert features.networks.zones when present (#1939)
  + Use btrfs enquque when available (#1926) [Robert Schweikert]
  + sources/azure: drop description for report_failure_to_fabric() (#1934)
    [Chris Patterson]
  + cc_disk_setup.py: fix MBR single partition creation (#1932)
    [dermotbradley] (LP: #1851438)
  + Fix typo with package_update/package_upgrade (#1927) [eb3095]
  + sources/azure: fix device driver matching for net config (#1914)
    [Chris Patterson]
  + BSD: fix duplicate macs in Ifconfig parser (#1917) [Mina Galić]
  + test: mock dns calls (#1922)
  + pycloudlib: add lunar support for integration tests (#1928)
  + nocloud: add support for dmi variable expansion for seedfrom URL
    (LP: #1994980)
  + tools: read-version drop extra call to git describe --long
  + doc: improve cc_write_files doc (#1916)
  + read-version: When insufficient tags, use cloudinit.version.get_version
  + mounts: document weird prefix in schema (#1913)
  + add utility function test cases (#1910) [sxt1001]
  + test: mock file deletion in dhcp tests (#1911)
  + Ensure network ready before cloud-init service runs on RHEL (#1893)
    (LP: #1998655)
  + docs: add copy button to code blocks (#1890) [s-makin]
  + netplan: define features.NETPLAN_CONFIG_ROOT_READ_ONLY flag
  + azure: fix support for systems without az command installed (#1908)
  + Networking Clarification (#1892)
  + Fix the distro.osfamily output problem in the openEuler system. (#1895)
    [sxt1001] (LP: #1999042)
  + pycloudlib: bump commit dropping azure api smoke test
  + net: netplan config root read-only as wifi config can contain creds
  + autoinstall: clarify docs for users
  + sources/azure: encode health report as utf-8 (#1897) [Chris Patterson]
  + Add back gateway4/6 deprecation to docs (#1898)
  + networkd: Add support for multiple [Route] sections (#1868)
    [Nigel Kukard]
  + doc: add qemu tutorial (#1863)
  + lint: fix tip-flake8 and tip-mypy (#1896)
  + Add support for setting uid when creating users on FreeBSD (#1888)
    [einsibjarni]
  + Fix exception in BSD networking code-path (#1894) [Mina Galić]
  + Append derivatives to is_rhel list in cloud.cfg.tmpl (#1887) [Louis Abel]
  + FreeBSD init: use cloudinit_enable as only rcvar (#1875) [Mina Galić]
  + feat: add support aliyun metadata security harden mode (#1865)
    [Manasseh Zhou]
  + docs: uprate analyze to performance page [s-makin]
  + test: fix lxd preseed managed network config (#1881)
  + Add support for static IPv6 addresses for FreeBSD (#1839) [einsibjarni]
  + Make 3.12 failures not fail the build (#1873)
  + Docs: adding relative links [s-makin]
  + Update read-version
  + Fix setup.py to align with PEP 440 versioning replacing trailing
  + travis: promote 3.11-dev to 3.11 (#1866)
  + test_cloud_sigma: delete useless test (#1828) [sxt1001]
  + Add "nkukard" as contributor (#1864) [Nigel Kukard]
  + tests: ds-id mocks for vmware-rpctool as utility may not exist in env
  + doc: add how to render new module doc (#1855)
  + doc: improve module creation explanation (#1851)
  + Add Support for IPv6 metadata to OpenStack (#1805)
    [Marvin Vogt] (LP: #1906849)
  + add xiaoge1001 to .github-cla-signers (#1854) [sxt1001]
  + network: Deprecate gateway{4,6} keys in network config v2 (#1794)
    (LP: #1992512)
  + VMware: Move Guest Customization transport from OVF to VMware (#1573)
    [PengpengSun]
  + doc: home page links added (#1852) [s-makin]
  From 22.4.2
  + status: handle ds not defined in status.json (#1876) (LP: #1997559)
  From 22.4.1
  + net: skip duplicate mac check for netvsc nic and its VF (#1853)
    [Anh Vo] (LP: #1844191)
  + ChangeLog: whitespace cleanup (#1850)
  + changelog: capture 22.3.1-4 releases</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1681214400">- Sensitive data exposure (bsc#1210277, CVE-2023-1786)
  + Add hidesensitivedata
  + Add cloud-init-cve-2023-1786-redact-inst-data.patch
  + Do not expose sensitive data gathered from the CSP</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1682596800">- Add cloud-init-power-rhel-only.patch (bsc#1210273)
  + Config module cc_refresh_rmc_and_interface is implemented such that
    it will only work on RH distros. Set the module availability accordingly.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1688644800">- Update cloud-init-write-routes.patch (bsc#1212879)
  + Add necessary import statement
- Enable flake8 linting, fix up patches
  + cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  + cloud-init-power-rhel-only.patch
  + cloud-init-write-routes.patch
  + datasourceLocalDisk.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1691928000">- update to 23.1.2:
  * Make user/vendor data sensitive and remove log permissions
  * source: Force OpenStack when it is only option (#2045)
  * sources/azure: fix regressions in IMDS behavior
- drop
  cloud-init-cve-2023-1786-redact-instance-data-json-main.patch (upstream)
- spec-file cleanups, including dropping flake8 (as build fails
  with newer flake8 versions)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1692014400">- Add cloud-init-flake8-fixes.patch
- Revert chnages from previous commit
  + Disabling checks the primary maintainer enabled for specific reasons
    is not a fix.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1696852800">- Update to version 23.3 (bsc#1216011, bsc#1215794, bsc#1215740)
  + Remove patches included upstream:
  - cloud-init-fix-ca-test.patch
  - cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  - cloud-init-power-rhel-only.patch
  - cloud-init-flake8-fixes.patch
  + Add
  - cloud-init-keep-flake.patch
  - cloud-init-lint-fixes.patch
  + Update
  - cloud-init-write-routes.patch (bsc#1216007)
  + Bump pycloudlib to 1!5.1.0 for ec2 mantic daily image support (#4390)
  + Fix cc_keyboard in mantic (LP: #2030788)
  + ec2: initialize get_instance_userdata return value to bytes (#4387)
    [Noah Meyerhans]
  + cc_users_groups: Add doas/opendoas support (#4363) [dermotbradley]
  + Fix pip-managed ansible
  + status: treat SubState=running and MainPID=0 as service exited
  + azure/imds: increase read-timeout to 30s (#4372) [Chris Patterson]
  + collect-logs fix memory usage (SC-1590) (#4289)
    [Alec Warren] (LP: #1980150)
  + cc_mounts: Use fallocate to create swapfile on btrfs (#4369) [王煎饼]
  + Undocument nocloud-net (#4318)
  + feat(akamai): add akamai to settings.py and apport.py (#4370)
  + read-version: fallback to get_version when git describe fails (#4366)
  + apt: fix cloud-init status --wait blocking on systemd v 253 (#4364)
  + integration tests: Pass username to pycloudlib (#4324)
  + Bump pycloudlib to 1!5.1.0 (#4353)
  + cloud.cfg.tmpl: reorganise, minimise/reduce duplication (#4272)
    [dermotbradley]
  + analyze: fix (unexpected) timestamp parsing (#4347) [Mina Galić]
  + cc_growpart: fix tests to run on FreeBSD (#4351) [Mina Galić]
  + subp: Fix spurious test failure on FreeBSD (#4355) [Mina Galić]
  + cmd/clean: fix tests on non-Linux platforms (#4352) [Mina Galić]
  + util: Fix get_proc_ppid() on non-Linux systems (#4348) [Mina Galić]
  + cc_wireguard: make tests pass on FreeBSD (#4346) [Mina Galić]
  + unittests: fix breakage in test_read_cfg_paths_fetches_cached_datasource
    (#4328) [Ani Sinha]
  + Fix test_tools.py collection (#4315)
  + cc_keyboard: add Alpine support (#4278) [dermotbradley]
  + Flake8 fixes (#4340) [Robert Schweikert]
  + cc_mounts: Fix swapfile not working on btrfs (#4319) [王煎饼] (LP: #1884127)
  + ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen (#4281)
    [Wei Zhou]
  + ec2: Support double encoded userdata (#4276) [Noah Meyerhans]
  + cc_mounts: xfs is a Linux only FS (#4334) [Mina Galić]
  + tests/net: fix TestGetInterfaces' mock coverage for get_master (#4336)
    [Chris Patterson]
  + change openEuler to openeuler and fix some bugs in openEuler (#4317)
    [sxt1001]
  + Replace flake8 with ruff (#4314)
  + NM renderer: set default IPv6 addr-gen-mode for all interfaces to eui64
    (#4291) [Ani Sinha]
  + cc_ssh_import_id: add Alpine support and add doas support (#4277)
    [dermotbradley]
  + sudoers not idempotent (SC-1589)  (#4296) [Alec Warren] (LP: #1998539)
  + Added support for Akamai Connected Cloud (formerly Linode) (#4167)
    [Will Smith]
  + Fix reference before assignment (#4292)
  + Overhaul module reference page (#4237) [Sally]
  + replaced spaces with commas for setting passenv (#4269) [Alec Warren]
  + DS VMware: modify a few log level (#4284) [PengpengSun]
  + tools/read-version refactors and unit tests (#4268)
  + Ensure get_features() grabs all features (#4285)
  + Don't always require passlib dependency (#4274)
  + tests: avoid leaks into host system checking of ovs-vsctl cmd (#4275)
  + Fix NoCloud kernel commandline key parsing (#4273)
  + testing: Clear all LRU caches after each test (#4249)
  + Remove the crypt dependency (#2139) [Gonéri Le Bouder]
  + logging: keep current file mode of log file if its stricter than the
    new mode (#4250) [Ani Sinha]
  + Remove default membership in redundant groups (#4258)
    [Dave Jones] (LP: #1923363)
  + doc: improve datasource_creation.rst (#4262)
  + Remove duplicate Integration testing button (#4261) [Rishita Shaw]
  + tools/read-version: fix the tool so that it can handle version parsing
    errors (#4234) [Ani Sinha]
  + net/dhcp: add udhcpc support (#4190) [Jean-François Roche]
  + DS VMware: add i386 arch dir to deployPkg plugin search path
    [PengpengSun]
  + LXD moved from linuxcontainers.org to Canonical [Simon Deziel]
  + cc_mounts.py: Add note about issue with creating mounts inside mounts
    (#4232) [dermotbradley]
  + lxd: install lxd from snap, not deb if absent in image
  + landscape: use landscape-config to write configuration
  + Add deprecation log during init of DataSourceDigitalOcean (#4194)
    [tyb-truth]
  + doc: fix typo on apt.primary.arches (#4238) [Dan Bungert]
  + Inspect systemd state for cloud-init status (#4230)
  + instance-data: add system-info and features to combined-cloud-config
    (#4224)
  + systemd: Block login until config stage completes (#2111) (LP: #2013403)
  + tests: proposed should invoke apt-get install -t=&lt;release&gt;-proposed
    (#4235)
  + cloud.cfg.tmpl: reinstate ca_certs entry (#4236) [dermotbradley]
  + Remove feature flag override ability (#4228)
  + tests: drop stray unrelated file presence test (#4227)
  + Update LXD URL (#4223) [Sally]
  + schema: add network v1 schema definition and validation functions
  + tests: daily PPA for devel series is version 99.daily update tests to
    match (#4225)
  + instance-data: write /run/cloud-init/combined-cloud-config.json
  + mount parse: Fix matching non-existent directories (#4222) [Mina Galić]
  + Specify build-system for pep517 (#4218)
  + Fix network v2 metric rendering (#4220)
  + Migrate content out of FAQ page (SD-1187) (#4205) [Sally]
  + setup: fix generation of init templates (#4209) [Mina Galić]
  + docs: Correct some bootcmd example wording
  + fix changelog
  + tests: reboot client to assert x-shellscript-per-boot is triggered
  + nocloud: parse_cmdline no longer detects nocloud-net datasource (#4204)
    (LP: 4203, #2025180)
  + Add docstring and typing to mergemanydict (#4200)
  + BSD: add dsidentify to early startup scripts (#4182) [Mina Galić]
  + handler: report errors on skipped merged cloud-config.txt parts
    (LP: #1999952)
  + Add cloud-init summit writeups (#4179) [Sally]
  + tests: Update test_clean_log for oci (#4187)
  + gce: improve ephemeral fallback NIC selection (CPC-2578) (#4163)
  + tests: pin pytest 7.3.1 to avoid adverse testpaths behavior (#4184)
  + Ephemeral Networking for FreeBSD (#2165) [Mina Galić]
  + Clarify directory syntax for nocloud local filesystem. (#4178)
  + Set default renderer as sysconfig for centos/rhel (#4165) [Ani Sinha]
  + Test static routes and netplan 0.106
  + FreeBSD fix parsing of mount and mount options (#2146) [Mina Galić]
  + test: add tracking bug id (#4164)
  + tests: can't match MAC for LXD container veth due to netplan 0.106
    (#4162)
  + Add kaiwalyakoparkar as a contributor (#4156) [Kaiwalya Koparkar]
  + BSD: remove datasource_list from cloud.cfg template (#4159) [Mina Galić]
  + launching salt-minion in masterless mode (#4110) [Denis Halturin]
  + tools: fix run-container builds for rockylinux/8 git hash mismatch
    (#4161)
  + fix doc lint: spellchecker tripped up (#4160) [Mina Galić]
  + Support Ephemeral Networking for BSD (#2127)
  + Added / fixed support for static routes on OpenBSD and FreeBSD (#2157)
    [Kadir Mueller]
  + cc_rsyslog: Refactor for better multi-platform support (#4119)
    [Mina Galić] (LP: #1798055)
  + tests: fix test_lp1835584 (#4154)
  + cloud.cfg mod names: docs and rename salt_minion and set_password (#4153)
  + tests: apt support for deb822 format .sources files on mantic
  + vultr: remove check_route check (#2151) [Jonas Chevalier]
  + Update SECURITY.md (#4150) [Indrranil Pawar]
  + Update CONTRIBUTING.rst (#4149) [Indrranil Pawar]
  + Update .github-cla-signers (#4151) [Indrranil Pawar]
  + Standardise module names in cloud.cfg.tmpl to only use underscore
    (#4128) [dermotbradley]
  + tests: update test_webhook_reporting
  + Modify PR template so autoclose works
  + doc: add missing semi-colon to nocloud cmdline docs (#4120)
  + .gitignore: extend coverage pattern (#4143) [Mina Galić]
  From 23.2.2
  + Fix NoCloud kernel commandline key parsing (#4273) (Fixes: #4271)
    (LP: #2028562)
  + Fix reference before assignment (#4292) (Fixes: #4288) (LP: #2028784)
  From 23.2.1
  + nocloud: Fix parse_cmdline detection of nocloud-net datasource (#4204)
    (Fixes: 4203) (LP: #2025180)
  From 23.2
  + BSD: simplify finding MBR partitions by removing duplicate code
  [Mina Galić]
  + tests: bump pycloudlib version for mantic builds
  + network-manager: Set higher autoconnect priority for nm keyfiles (#3671)
    [Ani Sinha]
  + alpine.py: change the locale file used (#4139) [dermotbradley]
  + cc_ntp: Sync up with current FreeBSD ntp.conf (#4122) [Mina Galić]
  + config: drop refresh_rmc_and_interface as RHEL 7 no longer supported
    [Robert Schweikert]
  + docs: Add feedback button to docs
  + net/sysconfig: enable sysconfig renderer if network manager has ifcfg-rh
    plugin (#4132) [Ani Sinha]
  + For Alpine use os-release PRETTY_NAME (#4138) [dermotbradley]
  + network_manager: add a method for ipv6 static IP configuration (#4127)
    [Ani Sinha]
  + correct misnamed template file host.mariner.tmpl (#4124) [dermotbradley]
  + nm: generate ipv6 stateful dhcp config at par with sysconfig (#4115)
    [Ani Sinha]
  + Add templates for GitHub Issues
  + Add 'peers' and 'allow' directives in cc_ntp (#3124) [Jacob Salmela]
  + FreeBSD: Fix user account locking (#4114) [Mina Galić] (GH: #1854594)
  + FreeBSD: add ResizeGrowFS class to cc_growpart (#2334) [Mina Galić]
  + Update tests in Azure TestCanDevBeReformatted class (#2771)
    [Ksenija Stanojevic]
  + Replace Launchpad references with GitHub Issues
  + Fix KeyError in iproute pformat (#3287) [Dmitry Zykov]
  + schema: read_cfg_paths call init.fetch to lookup /v/l/c/instance
  + azure/errors: introduce reportable errors for imds (#3647)
    [Chris Patterson]
  + FreeBSD (and friends): better identify MBR slices (#2168)
    [Mina Galić] (LP: #2016350)
  + azure/errors: add host reporting for dhcp errors (#2167)
    [Chris Patterson]
  + net: purge blacklist_drivers across net and azure (#2160)
    [Chris Patterson]
  + net: refactor hyper-v VF filtering and apply to get_interfaces() (#2153)
    [Chris Patterson]
  + tests: avoid leaks to underlying filesystem for /etc/cloud/clean.d
    (#2251)
  + net: refactor find_candidate_nics_on_linux() to use get_interfaces()
    (#2159) [Chris Patterson]
  + resolv_conf: Allow &gt; 3 nameservers (#2152) [Major Hayden]
  + Remove mount NTFS error message (#2134) [Ksenija Stanojevic]
  + integration tests: fix image specification parsing (#2166)
  + ci: add hypothesis scheduled GH check (#2149)
  + Move supported distros list to docs (#2162)
  + Fix logger, use instance rather than module function (#2163)
  + README: Point to Github Actions build status (#2158)
  + Revert "fix linux-specific code on bsd (#2143)" (#2161)
  + Do not generate dsa and ed25519 key types when crypto FIPS mode is
    enabled (#2142) [Ani Sinha] (LP: 2017761)
  + Add documentation label automatically (#2156)
  + sources/azure: report success to host and introduce kvp module (#2141)
    [Chris Patterson]
  + setup.py: use pkg-config for udev/rules path (#2137) [dankm]
  + openstack/static: honor the DNS servers associated with a network
    (#2138) [Gonéri Le Bouder]
  + fix linux-specific code on bsd (#2143)
  + cli: schema validation of jinja template user-data (SC-1385) (#2132)
    (LP: #1881925)
  + gce: activate network discovery on every boot (#2128)
  + tests: update integration test to assert 640 across reboots (#2145)
  + Make user/vendor data sensitive and remove log permissions (#2144)
    (LP: #2013967)
  + Update kernel command line docs (SC-1457) (#2133)
  + docs: update network configuration path links (#2140) [d1r3ct0r]
  + sources/azure: report failures to host via kvp (#2136) [Chris Patterson]
  + net: Document use of `ip route append` to add routes (#2130)
  + dhcp: Add missing mocks (#2135)
  + azure/imds: retry fetching metadata up to 300 seconds (#2121)
    [Chris Patterson]
  + [1/2] DHCP: Refactor dhcp client code  (#2122)
  + azure/errors: treat traceback_base64 as string (#2131) [Chris Patterson]
  + azure/errors: introduce reportable errors (#2129) [Chris Patterson]
  + users: schema permit empty list to indicate create no users
  + azure: introduce identity module (#2116) [Chris Patterson]
  + Standardize disabling cloud-init on non-systemd (#2112)
  + Update .github-cla-signers (#2126) [Rob Tongue]
  + NoCloud: Use seedfrom protocol to determine mode (#2107)
  + rhel: Remove sysvinit files. (#2114)
  + tox.ini: set -vvvv --showlocals for pytest (#2104) [Chris Patterson]
  + Fix NoCloud kernel commandline semi-colon args
  + run-container: make the container/VM timeout configurable (#2118)
    [Paride Legovini]
  + suse: Remove sysvinit files. (#2115)
  + test: Backport assert_call_count for old requests (#2119)
  + Add "licebmi" as contributor (#2113) [Mark Martinez]
  + Adapt DataSourceScaleway to upcoming IPv6 support (#2033)
    [Louis Bouchard]
  + rhel: make sure previous-hostname file ends with a new line (#2108)
    [Ani Sinha]
  + Adding contributors for DataSourceAkamai (#2110) [acourdavAkamai]
  + Cleanup ephemeral IP routes on exception (#2100) [sxt1001]
  + commit 09a64badfb3f51b1b391fa29be19962381a4bbeb [sxt1001] (LP: #2011291)
  + Standardize kernel commandline user interface (#2093)
  + config/cc_resizefs: fix do_resize arguments (#2106) [Chris Patterson]
  + Fix test_dhclient_exits_with_error (#2105)
  + net/dhcp: catch dhclient failures and raise NoDHCPLeaseError (#2083)
    [Chris Patterson]
  + sources/azure: move pps handling out of _poll_imds() (#2075)
    [Chris Patterson]
  + tests: bump pycloudlib version (#2102)
  + schema: do not manipulate draft4 metaschema for jsonschema 2.6.0 (#2098)
  + sources/azure/imds: don't count timeout errors as connection errors
    (#2074) [Chris Patterson]
  + Fix Python 3.12 unit test failures (#2099)
  + integration tests: Refactor instance checking (#1989)
  + ci: migrate remaining jobs from travis to gh (#2085)
  + missing ending quote in instancedata docs(#2094) [Hong L]
  + refactor: stop passing log instances to cc_* handlers (#2016) [d1r3ct0r]
  + tests/vmware: fix test_no_data_access_method failure (#2092)
    [Chris Patterson]
  + Don't change permissions of netrules target (#2076) (LP: #2011783)
  + tests/sources: patch util.get_cmdline() for datasource tests (#2091)
    [Chris Patterson]
  + macs: ignore duplicate MAC for devs with driver driver qmi_wwan (#2090)
    (LP: #2008888)
  + Fedora: Enable CA handling (#2086) [František Zatloukal]
  + Send dhcp-client-identifier for InfiniBand ports (#2043) [Waleed Mousa]
  + cc_ansible: complete the examples and doc (#2082) [Yves]
  + bddeb: for dev package, derive debhelper-compat from host system
  + apport: only prompt for cloud_name when instance-data.json is absent
  + datasource: Optimize datasource detection, fix bugs (#2060)
  + Handle non existent ca-cert-config situation (#2073) [Shreenidhi Shedi]
  + sources/azure: add networking check for all source PPS (#2061)
    [Chris Patterson]
  + do not attempt dns resolution on ip addresses (#2040)
  + chore: fix style tip (#2071)
  + Fix metadata IP in instancedata.rst (#2063) [Brian Haley]
  + util: Pass deprecation schedule in deprecate_call() (#2064)
  + config: Update grub-dpkg docs (#2058)
  + docs: Cosmetic improvements and styling (#2057) [s-makin]
  + cc_grub_dpkg: Added UEFI support (#2029) [Alexander Birkner]
  + tests: Write to /var/spool/rsyslog to adhere to apparmor profile (#2059)
  + oracle-ds: prefer system_cfg over ds network config source (#1998)
    (LP: #1956788)
  + Remove dead code (#2038)
  + source: Force OpenStack when it is only option (#2045) (LP: #2008727)
  + cc_ubuntu_advantage: improve UA logs discovery
  + sources/azure: fix regressions in IMDS behavior (#2041) [Chris Patterson]
  + tests: fix test_schema (#2042)
  + dhcp: Cleanup unused kwarg (#2037)
  + sources/vmware/imc: fix-missing-catch-few-negtive-scenarios (#2027)
    [PengpengSun]
  + dhclient_hook: remove vestigal dhclient_hook command (#2015)
  + log: Add standardized deprecation tooling (SC-1312) (#2026)
  + Enable SUSE based distros for ca handling (#2036) [Robert Schweikert]
  From 23.1.2
  + Make user/vendor data sensitive and remove log permissions
    (LP: #2013967) (CVE-2023-1786)
  From 23.1.1
  + source: Force OpenStack when it is only option (#2045)
  + sources/azure: fix regressions in IMDS behavior (#2041)
    [Chris Patterson]</changelog>
  <changelog author="Michal Vyskocil &lt;michal.vyskocil@gmail.com&gt;" date="1701432000">- Move fdupes call back to %install (boo#1214169)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1702641600">- Switch build dependency to the generic distribution-release package</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705665600">- Add cloud-init-pckg-reboot.patch (boo#1198533, bsc#1218952,  jsc#SMO-326)
  + Support reboot on package update/upgrade via the cloud-init config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705752000">- Add cloud-init-skip-empty-conf.patch
  + Skip tests with empty config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1708430400">- Prepare for RPM 4.20 switch patch syntax</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1709726400">- Hardcode distribution to suse for proper cloud.cfg generation
  (bsc#1220132).</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1711627200">- Add  cloud-init-ds-deterministic.patch (bsc#1221132)
  + Do not guess a data source when checking for a CloudStack
    environment</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318400">- Add cloud-init-no-openstack-guess.patch (bsc#1222113)
  + Do not guess if we are running on OpenStack or not. Only recognize
    the known markers and enable cloud-init if we know for sure.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318401">- Add cloud-init-no-nmcfg-needed.patch (bsc#1221726)
  + Do not require a NetworkManager config file in order to detect
    NetworkManager as the renderer</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712664000">- Update cloud-init-no-openstack-guess.patch
  + Do not enable cloud-init on systems where there is no DMI just
    because no data source has been found. No data source means
    cloud-init will not run.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1714392000">- Add cloud-init-usr-sudoers.patch (bsc#1223469)
  + Handle the existence of /usr/etc/sudoers to search for the expected
    include location</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1717416000">- Add cloud-init-skip-rename.patch (bsc#1219680)
  + Brute force appraoch to skip renames if the device is already present</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718366400">- remove dependency on /usr/bin/python3 via using the macros (bsc#1212476)</changelog>
</package>
<package pkgid="188c5148570dd9e6da3732e6274d6bd48cd0e8f68354d9d36fde3f086877ac5b384a309bf00c7607f0e7e9eb1886c629ffea86279631036ae67cba11593281ac" name="cloud-init-config-suse" arch="x86_64">
  <version epoch="0" ver="23.3" rel="12.0.2.2.sr20240605"/>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1675425600">- Add cloud-init-transact-up.patch to support transactional-updates</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1677153600">- Update to version 23.1
  + Remove patches included upstream:
  - cloud-init-btrfs-queue-resize.patch
  - cloud-init-micro-is-suse.patch
  - cloud-init-suse-afternm.patch
  - cloud-init-prefer-nm.patch
  - cloud-init-transact-up.patch
  + Forward port
  - cloud-init-write-routes.patch
  + Added
  - cloud-init-fix-ca-test.patch
  + Support transactional-updates for SUSE based distros (#1997)
    [Robert Schweikert]
  + Set ownership for new folders in Write Files Module (#1980)
    [Jack] (LP: #1990513)
  + add OpenCloudOS and TencentOS support (#1964) [wynnfeng]
  + lxd: Retry if the server isn't ready (#2025)
  + test: switch pycloudlib source to pypi (#2024)
  + test: Fix integration test deprecation message (#2023)
  + Recognize opensuse-microos, dev tooling fixes [Robert Schweikert]
  + sources/azure: refactor imds handler into own module (#1977)
    [Chris Patterson]
  + docs: deprecation generation support [1/2] (#2013)
  + add function is_virtual to distro/FreeBSD (#1957) [Mina Galić]
  + cc_ssh: support multiple hostcertificates (#2018) (LP: #1999164)
  + Fix minor schema validation regression and fixup typing (#2017)
  + doc: Reword user data debug section (#2019)
  + Overhaul/rewrite of certificate handling as follows: (#1962)
    [dermotbradley] (LP: #1931174)
  + disk_setup: use byte string when purging the partition table (#2012)
    [Stefan Prietl]
  + cli: schema also validate vendordata*.
  + ci: sort and add checks for cla signers file [Stefan Prietl]
  + Add "ederst" as contributor (#2010) [Stefan Prietl]
  + readme: add reference to packages dir (#2001)
  + docs: update downstream package list (#2002)
  + docs: add google search verification (#2000) [s-makin]
  + docs: fix 404 render use default notfound_urls_prefix in RTD conf (#2004)
  + Fix OpenStack datasource detection on bare metal (#1923)
    [Alexander Birkner] (LP: #1815990)
  + docs: add themed RTD 404 page and pointer to readthedocs-hosted (#1993)
  + schema: fix gpt labels, use type string for GUID (#1995)
  + cc_disk_setup: code cleanup (#1996)
  + netplan: keep custom strict perms when 50-cloud-init.yaml exists
  + cloud-id: better handling of change in datasource files
    [d1r3ct0r] (LP: #1998998)
  + tests: Remove restart check from test
  + Ignore duplicate macs from mscc_felix and fsl_enetc (LP: #1997922)
  + Warn on empty network key (#1990)
  + Fix Vultr cloud_interfaces usage (#1986) [eb3095]
  + cc_puppet: Update puppet service name (#1970) [d1r3ct0r] (LP: #2002969)
  + docs: Clarify networking docs (#1987)
  + lint: remove httpretty (#1985) [sxt1001]
  + cc_set_passwords: Prevent traceback when restarting ssh (#1981)
  + tests: fix lp1912844 (#1978)
  + tests: Skip ansible test on bionic (#1984)
  + Wait for NetworkManager (#1983) [Robert Schweikert]
  + docs: minor polishing (#1979) [s-makin]
  + CI: migrate integration-test to GH actions (#1969)
  + Fix permission of SSH host keys (#1971) [Ron Gebauer]
  + Fix default route rendering on v2 ipv6 (#1973) (LP: #2003562)
  + doc: fix path in net_convert command (#1975)
  + docs: update net_convert docs (#1974)
  + doc: fix dead link
  + cc_set_hostname: ignore /var/lib/cloud/data/set-hostname if it's empty
    (#1967) [Emanuele Giuseppe Esposito]
  + distros/rhel.py: _read_hostname() missing strip on "hostname" (#1941)
    [Mark Mielke]
  + integration tests: add  IBM VPC support (SC-1352) (#1915)
  + machine-id: set to uninitialized to trigger regeneration on clones
    (LP: #1999680)
  + sources/azure: retry on connection error when fetching metdata (#1968)
    [Chris Patterson]
  + Ensure ssh state accurately obtained (#1966)
  + bddeb: drop dh-systemd dependency on newer deb-based releases [d1r3ct0r]
  + doc: fix `config formats` link in cloudsigma.rst (#1960)
  + Fix wrong subp syntax in cc_set_passwords.py (#1961)
  + docs: update the PR template link to readthedocs (#1958) [d1r3ct0r]
  + ci: switch unittests to gh actions (#1956)
  + Add mount_default_fields for PhotonOS. (#1952) [Shreenidhi Shedi]
  + sources/azure: minor refactor for metadata source detection logic
    (#1936) [Chris Patterson]
  + add "CalvoM" as contributor (#1955) [d1r3ct0r]
  + ci: doc to gh actions (#1951)
  + lxd: handle 404 from missing devices route for LXD 4.0 (LP: #2001737)
  + docs: Diataxis overhaul (#1933) [s-makin]
  + vultr: Fix issue regarding cache and region codes (#1938) [eb3095]
  + cc_set_passwords: Move ssh status checking later (SC-1368) (#1909)
    (LP: #1998526)
  + Improve Wireguard module idempotency (#1940) [Fabian Lichtenegger-Lukas]
  + network/netplan: add gateways as on-link when necessary (#1931)
    [Louis Sautier] (LP: #2000596)
  + tests: test_lxd assert features.networks.zones when present (#1939)
  + Use btrfs enquque when available (#1926) [Robert Schweikert]
  + sources/azure: drop description for report_failure_to_fabric() (#1934)
    [Chris Patterson]
  + cc_disk_setup.py: fix MBR single partition creation (#1932)
    [dermotbradley] (LP: #1851438)
  + Fix typo with package_update/package_upgrade (#1927) [eb3095]
  + sources/azure: fix device driver matching for net config (#1914)
    [Chris Patterson]
  + BSD: fix duplicate macs in Ifconfig parser (#1917) [Mina Galić]
  + test: mock dns calls (#1922)
  + pycloudlib: add lunar support for integration tests (#1928)
  + nocloud: add support for dmi variable expansion for seedfrom URL
    (LP: #1994980)
  + tools: read-version drop extra call to git describe --long
  + doc: improve cc_write_files doc (#1916)
  + read-version: When insufficient tags, use cloudinit.version.get_version
  + mounts: document weird prefix in schema (#1913)
  + add utility function test cases (#1910) [sxt1001]
  + test: mock file deletion in dhcp tests (#1911)
  + Ensure network ready before cloud-init service runs on RHEL (#1893)
    (LP: #1998655)
  + docs: add copy button to code blocks (#1890) [s-makin]
  + netplan: define features.NETPLAN_CONFIG_ROOT_READ_ONLY flag
  + azure: fix support for systems without az command installed (#1908)
  + Networking Clarification (#1892)
  + Fix the distro.osfamily output problem in the openEuler system. (#1895)
    [sxt1001] (LP: #1999042)
  + pycloudlib: bump commit dropping azure api smoke test
  + net: netplan config root read-only as wifi config can contain creds
  + autoinstall: clarify docs for users
  + sources/azure: encode health report as utf-8 (#1897) [Chris Patterson]
  + Add back gateway4/6 deprecation to docs (#1898)
  + networkd: Add support for multiple [Route] sections (#1868)
    [Nigel Kukard]
  + doc: add qemu tutorial (#1863)
  + lint: fix tip-flake8 and tip-mypy (#1896)
  + Add support for setting uid when creating users on FreeBSD (#1888)
    [einsibjarni]
  + Fix exception in BSD networking code-path (#1894) [Mina Galić]
  + Append derivatives to is_rhel list in cloud.cfg.tmpl (#1887) [Louis Abel]
  + FreeBSD init: use cloudinit_enable as only rcvar (#1875) [Mina Galić]
  + feat: add support aliyun metadata security harden mode (#1865)
    [Manasseh Zhou]
  + docs: uprate analyze to performance page [s-makin]
  + test: fix lxd preseed managed network config (#1881)
  + Add support for static IPv6 addresses for FreeBSD (#1839) [einsibjarni]
  + Make 3.12 failures not fail the build (#1873)
  + Docs: adding relative links [s-makin]
  + Update read-version
  + Fix setup.py to align with PEP 440 versioning replacing trailing
  + travis: promote 3.11-dev to 3.11 (#1866)
  + test_cloud_sigma: delete useless test (#1828) [sxt1001]
  + Add "nkukard" as contributor (#1864) [Nigel Kukard]
  + tests: ds-id mocks for vmware-rpctool as utility may not exist in env
  + doc: add how to render new module doc (#1855)
  + doc: improve module creation explanation (#1851)
  + Add Support for IPv6 metadata to OpenStack (#1805)
    [Marvin Vogt] (LP: #1906849)
  + add xiaoge1001 to .github-cla-signers (#1854) [sxt1001]
  + network: Deprecate gateway{4,6} keys in network config v2 (#1794)
    (LP: #1992512)
  + VMware: Move Guest Customization transport from OVF to VMware (#1573)
    [PengpengSun]
  + doc: home page links added (#1852) [s-makin]
  From 22.4.2
  + status: handle ds not defined in status.json (#1876) (LP: #1997559)
  From 22.4.1
  + net: skip duplicate mac check for netvsc nic and its VF (#1853)
    [Anh Vo] (LP: #1844191)
  + ChangeLog: whitespace cleanup (#1850)
  + changelog: capture 22.3.1-4 releases</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1681214400">- Sensitive data exposure (bsc#1210277, CVE-2023-1786)
  + Add hidesensitivedata
  + Add cloud-init-cve-2023-1786-redact-inst-data.patch
  + Do not expose sensitive data gathered from the CSP</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1682596800">- Add cloud-init-power-rhel-only.patch (bsc#1210273)
  + Config module cc_refresh_rmc_and_interface is implemented such that
    it will only work on RH distros. Set the module availability accordingly.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1688644800">- Update cloud-init-write-routes.patch (bsc#1212879)
  + Add necessary import statement
- Enable flake8 linting, fix up patches
  + cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  + cloud-init-power-rhel-only.patch
  + cloud-init-write-routes.patch
  + datasourceLocalDisk.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1691928000">- update to 23.1.2:
  * Make user/vendor data sensitive and remove log permissions
  * source: Force OpenStack when it is only option (#2045)
  * sources/azure: fix regressions in IMDS behavior
- drop
  cloud-init-cve-2023-1786-redact-instance-data-json-main.patch (upstream)
- spec-file cleanups, including dropping flake8 (as build fails
  with newer flake8 versions)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1692014400">- Add cloud-init-flake8-fixes.patch
- Revert chnages from previous commit
  + Disabling checks the primary maintainer enabled for specific reasons
    is not a fix.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1696852800">- Update to version 23.3 (bsc#1216011, bsc#1215794, bsc#1215740)
  + Remove patches included upstream:
  - cloud-init-fix-ca-test.patch
  - cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  - cloud-init-power-rhel-only.patch
  - cloud-init-flake8-fixes.patch
  + Add
  - cloud-init-keep-flake.patch
  - cloud-init-lint-fixes.patch
  + Update
  - cloud-init-write-routes.patch (bsc#1216007)
  + Bump pycloudlib to 1!5.1.0 for ec2 mantic daily image support (#4390)
  + Fix cc_keyboard in mantic (LP: #2030788)
  + ec2: initialize get_instance_userdata return value to bytes (#4387)
    [Noah Meyerhans]
  + cc_users_groups: Add doas/opendoas support (#4363) [dermotbradley]
  + Fix pip-managed ansible
  + status: treat SubState=running and MainPID=0 as service exited
  + azure/imds: increase read-timeout to 30s (#4372) [Chris Patterson]
  + collect-logs fix memory usage (SC-1590) (#4289)
    [Alec Warren] (LP: #1980150)
  + cc_mounts: Use fallocate to create swapfile on btrfs (#4369) [王煎饼]
  + Undocument nocloud-net (#4318)
  + feat(akamai): add akamai to settings.py and apport.py (#4370)
  + read-version: fallback to get_version when git describe fails (#4366)
  + apt: fix cloud-init status --wait blocking on systemd v 253 (#4364)
  + integration tests: Pass username to pycloudlib (#4324)
  + Bump pycloudlib to 1!5.1.0 (#4353)
  + cloud.cfg.tmpl: reorganise, minimise/reduce duplication (#4272)
    [dermotbradley]
  + analyze: fix (unexpected) timestamp parsing (#4347) [Mina Galić]
  + cc_growpart: fix tests to run on FreeBSD (#4351) [Mina Galić]
  + subp: Fix spurious test failure on FreeBSD (#4355) [Mina Galić]
  + cmd/clean: fix tests on non-Linux platforms (#4352) [Mina Galić]
  + util: Fix get_proc_ppid() on non-Linux systems (#4348) [Mina Galić]
  + cc_wireguard: make tests pass on FreeBSD (#4346) [Mina Galić]
  + unittests: fix breakage in test_read_cfg_paths_fetches_cached_datasource
    (#4328) [Ani Sinha]
  + Fix test_tools.py collection (#4315)
  + cc_keyboard: add Alpine support (#4278) [dermotbradley]
  + Flake8 fixes (#4340) [Robert Schweikert]
  + cc_mounts: Fix swapfile not working on btrfs (#4319) [王煎饼] (LP: #1884127)
  + ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen (#4281)
    [Wei Zhou]
  + ec2: Support double encoded userdata (#4276) [Noah Meyerhans]
  + cc_mounts: xfs is a Linux only FS (#4334) [Mina Galić]
  + tests/net: fix TestGetInterfaces' mock coverage for get_master (#4336)
    [Chris Patterson]
  + change openEuler to openeuler and fix some bugs in openEuler (#4317)
    [sxt1001]
  + Replace flake8 with ruff (#4314)
  + NM renderer: set default IPv6 addr-gen-mode for all interfaces to eui64
    (#4291) [Ani Sinha]
  + cc_ssh_import_id: add Alpine support and add doas support (#4277)
    [dermotbradley]
  + sudoers not idempotent (SC-1589)  (#4296) [Alec Warren] (LP: #1998539)
  + Added support for Akamai Connected Cloud (formerly Linode) (#4167)
    [Will Smith]
  + Fix reference before assignment (#4292)
  + Overhaul module reference page (#4237) [Sally]
  + replaced spaces with commas for setting passenv (#4269) [Alec Warren]
  + DS VMware: modify a few log level (#4284) [PengpengSun]
  + tools/read-version refactors and unit tests (#4268)
  + Ensure get_features() grabs all features (#4285)
  + Don't always require passlib dependency (#4274)
  + tests: avoid leaks into host system checking of ovs-vsctl cmd (#4275)
  + Fix NoCloud kernel commandline key parsing (#4273)
  + testing: Clear all LRU caches after each test (#4249)
  + Remove the crypt dependency (#2139) [Gonéri Le Bouder]
  + logging: keep current file mode of log file if its stricter than the
    new mode (#4250) [Ani Sinha]
  + Remove default membership in redundant groups (#4258)
    [Dave Jones] (LP: #1923363)
  + doc: improve datasource_creation.rst (#4262)
  + Remove duplicate Integration testing button (#4261) [Rishita Shaw]
  + tools/read-version: fix the tool so that it can handle version parsing
    errors (#4234) [Ani Sinha]
  + net/dhcp: add udhcpc support (#4190) [Jean-François Roche]
  + DS VMware: add i386 arch dir to deployPkg plugin search path
    [PengpengSun]
  + LXD moved from linuxcontainers.org to Canonical [Simon Deziel]
  + cc_mounts.py: Add note about issue with creating mounts inside mounts
    (#4232) [dermotbradley]
  + lxd: install lxd from snap, not deb if absent in image
  + landscape: use landscape-config to write configuration
  + Add deprecation log during init of DataSourceDigitalOcean (#4194)
    [tyb-truth]
  + doc: fix typo on apt.primary.arches (#4238) [Dan Bungert]
  + Inspect systemd state for cloud-init status (#4230)
  + instance-data: add system-info and features to combined-cloud-config
    (#4224)
  + systemd: Block login until config stage completes (#2111) (LP: #2013403)
  + tests: proposed should invoke apt-get install -t=&lt;release&gt;-proposed
    (#4235)
  + cloud.cfg.tmpl: reinstate ca_certs entry (#4236) [dermotbradley]
  + Remove feature flag override ability (#4228)
  + tests: drop stray unrelated file presence test (#4227)
  + Update LXD URL (#4223) [Sally]
  + schema: add network v1 schema definition and validation functions
  + tests: daily PPA for devel series is version 99.daily update tests to
    match (#4225)
  + instance-data: write /run/cloud-init/combined-cloud-config.json
  + mount parse: Fix matching non-existent directories (#4222) [Mina Galić]
  + Specify build-system for pep517 (#4218)
  + Fix network v2 metric rendering (#4220)
  + Migrate content out of FAQ page (SD-1187) (#4205) [Sally]
  + setup: fix generation of init templates (#4209) [Mina Galić]
  + docs: Correct some bootcmd example wording
  + fix changelog
  + tests: reboot client to assert x-shellscript-per-boot is triggered
  + nocloud: parse_cmdline no longer detects nocloud-net datasource (#4204)
    (LP: 4203, #2025180)
  + Add docstring and typing to mergemanydict (#4200)
  + BSD: add dsidentify to early startup scripts (#4182) [Mina Galić]
  + handler: report errors on skipped merged cloud-config.txt parts
    (LP: #1999952)
  + Add cloud-init summit writeups (#4179) [Sally]
  + tests: Update test_clean_log for oci (#4187)
  + gce: improve ephemeral fallback NIC selection (CPC-2578) (#4163)
  + tests: pin pytest 7.3.1 to avoid adverse testpaths behavior (#4184)
  + Ephemeral Networking for FreeBSD (#2165) [Mina Galić]
  + Clarify directory syntax for nocloud local filesystem. (#4178)
  + Set default renderer as sysconfig for centos/rhel (#4165) [Ani Sinha]
  + Test static routes and netplan 0.106
  + FreeBSD fix parsing of mount and mount options (#2146) [Mina Galić]
  + test: add tracking bug id (#4164)
  + tests: can't match MAC for LXD container veth due to netplan 0.106
    (#4162)
  + Add kaiwalyakoparkar as a contributor (#4156) [Kaiwalya Koparkar]
  + BSD: remove datasource_list from cloud.cfg template (#4159) [Mina Galić]
  + launching salt-minion in masterless mode (#4110) [Denis Halturin]
  + tools: fix run-container builds for rockylinux/8 git hash mismatch
    (#4161)
  + fix doc lint: spellchecker tripped up (#4160) [Mina Galić]
  + Support Ephemeral Networking for BSD (#2127)
  + Added / fixed support for static routes on OpenBSD and FreeBSD (#2157)
    [Kadir Mueller]
  + cc_rsyslog: Refactor for better multi-platform support (#4119)
    [Mina Galić] (LP: #1798055)
  + tests: fix test_lp1835584 (#4154)
  + cloud.cfg mod names: docs and rename salt_minion and set_password (#4153)
  + tests: apt support for deb822 format .sources files on mantic
  + vultr: remove check_route check (#2151) [Jonas Chevalier]
  + Update SECURITY.md (#4150) [Indrranil Pawar]
  + Update CONTRIBUTING.rst (#4149) [Indrranil Pawar]
  + Update .github-cla-signers (#4151) [Indrranil Pawar]
  + Standardise module names in cloud.cfg.tmpl to only use underscore
    (#4128) [dermotbradley]
  + tests: update test_webhook_reporting
  + Modify PR template so autoclose works
  + doc: add missing semi-colon to nocloud cmdline docs (#4120)
  + .gitignore: extend coverage pattern (#4143) [Mina Galić]
  From 23.2.2
  + Fix NoCloud kernel commandline key parsing (#4273) (Fixes: #4271)
    (LP: #2028562)
  + Fix reference before assignment (#4292) (Fixes: #4288) (LP: #2028784)
  From 23.2.1
  + nocloud: Fix parse_cmdline detection of nocloud-net datasource (#4204)
    (Fixes: 4203) (LP: #2025180)
  From 23.2
  + BSD: simplify finding MBR partitions by removing duplicate code
  [Mina Galić]
  + tests: bump pycloudlib version for mantic builds
  + network-manager: Set higher autoconnect priority for nm keyfiles (#3671)
    [Ani Sinha]
  + alpine.py: change the locale file used (#4139) [dermotbradley]
  + cc_ntp: Sync up with current FreeBSD ntp.conf (#4122) [Mina Galić]
  + config: drop refresh_rmc_and_interface as RHEL 7 no longer supported
    [Robert Schweikert]
  + docs: Add feedback button to docs
  + net/sysconfig: enable sysconfig renderer if network manager has ifcfg-rh
    plugin (#4132) [Ani Sinha]
  + For Alpine use os-release PRETTY_NAME (#4138) [dermotbradley]
  + network_manager: add a method for ipv6 static IP configuration (#4127)
    [Ani Sinha]
  + correct misnamed template file host.mariner.tmpl (#4124) [dermotbradley]
  + nm: generate ipv6 stateful dhcp config at par with sysconfig (#4115)
    [Ani Sinha]
  + Add templates for GitHub Issues
  + Add 'peers' and 'allow' directives in cc_ntp (#3124) [Jacob Salmela]
  + FreeBSD: Fix user account locking (#4114) [Mina Galić] (GH: #1854594)
  + FreeBSD: add ResizeGrowFS class to cc_growpart (#2334) [Mina Galić]
  + Update tests in Azure TestCanDevBeReformatted class (#2771)
    [Ksenija Stanojevic]
  + Replace Launchpad references with GitHub Issues
  + Fix KeyError in iproute pformat (#3287) [Dmitry Zykov]
  + schema: read_cfg_paths call init.fetch to lookup /v/l/c/instance
  + azure/errors: introduce reportable errors for imds (#3647)
    [Chris Patterson]
  + FreeBSD (and friends): better identify MBR slices (#2168)
    [Mina Galić] (LP: #2016350)
  + azure/errors: add host reporting for dhcp errors (#2167)
    [Chris Patterson]
  + net: purge blacklist_drivers across net and azure (#2160)
    [Chris Patterson]
  + net: refactor hyper-v VF filtering and apply to get_interfaces() (#2153)
    [Chris Patterson]
  + tests: avoid leaks to underlying filesystem for /etc/cloud/clean.d
    (#2251)
  + net: refactor find_candidate_nics_on_linux() to use get_interfaces()
    (#2159) [Chris Patterson]
  + resolv_conf: Allow &gt; 3 nameservers (#2152) [Major Hayden]
  + Remove mount NTFS error message (#2134) [Ksenija Stanojevic]
  + integration tests: fix image specification parsing (#2166)
  + ci: add hypothesis scheduled GH check (#2149)
  + Move supported distros list to docs (#2162)
  + Fix logger, use instance rather than module function (#2163)
  + README: Point to Github Actions build status (#2158)
  + Revert "fix linux-specific code on bsd (#2143)" (#2161)
  + Do not generate dsa and ed25519 key types when crypto FIPS mode is
    enabled (#2142) [Ani Sinha] (LP: 2017761)
  + Add documentation label automatically (#2156)
  + sources/azure: report success to host and introduce kvp module (#2141)
    [Chris Patterson]
  + setup.py: use pkg-config for udev/rules path (#2137) [dankm]
  + openstack/static: honor the DNS servers associated with a network
    (#2138) [Gonéri Le Bouder]
  + fix linux-specific code on bsd (#2143)
  + cli: schema validation of jinja template user-data (SC-1385) (#2132)
    (LP: #1881925)
  + gce: activate network discovery on every boot (#2128)
  + tests: update integration test to assert 640 across reboots (#2145)
  + Make user/vendor data sensitive and remove log permissions (#2144)
    (LP: #2013967)
  + Update kernel command line docs (SC-1457) (#2133)
  + docs: update network configuration path links (#2140) [d1r3ct0r]
  + sources/azure: report failures to host via kvp (#2136) [Chris Patterson]
  + net: Document use of `ip route append` to add routes (#2130)
  + dhcp: Add missing mocks (#2135)
  + azure/imds: retry fetching metadata up to 300 seconds (#2121)
    [Chris Patterson]
  + [1/2] DHCP: Refactor dhcp client code  (#2122)
  + azure/errors: treat traceback_base64 as string (#2131) [Chris Patterson]
  + azure/errors: introduce reportable errors (#2129) [Chris Patterson]
  + users: schema permit empty list to indicate create no users
  + azure: introduce identity module (#2116) [Chris Patterson]
  + Standardize disabling cloud-init on non-systemd (#2112)
  + Update .github-cla-signers (#2126) [Rob Tongue]
  + NoCloud: Use seedfrom protocol to determine mode (#2107)
  + rhel: Remove sysvinit files. (#2114)
  + tox.ini: set -vvvv --showlocals for pytest (#2104) [Chris Patterson]
  + Fix NoCloud kernel commandline semi-colon args
  + run-container: make the container/VM timeout configurable (#2118)
    [Paride Legovini]
  + suse: Remove sysvinit files. (#2115)
  + test: Backport assert_call_count for old requests (#2119)
  + Add "licebmi" as contributor (#2113) [Mark Martinez]
  + Adapt DataSourceScaleway to upcoming IPv6 support (#2033)
    [Louis Bouchard]
  + rhel: make sure previous-hostname file ends with a new line (#2108)
    [Ani Sinha]
  + Adding contributors for DataSourceAkamai (#2110) [acourdavAkamai]
  + Cleanup ephemeral IP routes on exception (#2100) [sxt1001]
  + commit 09a64badfb3f51b1b391fa29be19962381a4bbeb [sxt1001] (LP: #2011291)
  + Standardize kernel commandline user interface (#2093)
  + config/cc_resizefs: fix do_resize arguments (#2106) [Chris Patterson]
  + Fix test_dhclient_exits_with_error (#2105)
  + net/dhcp: catch dhclient failures and raise NoDHCPLeaseError (#2083)
    [Chris Patterson]
  + sources/azure: move pps handling out of _poll_imds() (#2075)
    [Chris Patterson]
  + tests: bump pycloudlib version (#2102)
  + schema: do not manipulate draft4 metaschema for jsonschema 2.6.0 (#2098)
  + sources/azure/imds: don't count timeout errors as connection errors
    (#2074) [Chris Patterson]
  + Fix Python 3.12 unit test failures (#2099)
  + integration tests: Refactor instance checking (#1989)
  + ci: migrate remaining jobs from travis to gh (#2085)
  + missing ending quote in instancedata docs(#2094) [Hong L]
  + refactor: stop passing log instances to cc_* handlers (#2016) [d1r3ct0r]
  + tests/vmware: fix test_no_data_access_method failure (#2092)
    [Chris Patterson]
  + Don't change permissions of netrules target (#2076) (LP: #2011783)
  + tests/sources: patch util.get_cmdline() for datasource tests (#2091)
    [Chris Patterson]
  + macs: ignore duplicate MAC for devs with driver driver qmi_wwan (#2090)
    (LP: #2008888)
  + Fedora: Enable CA handling (#2086) [František Zatloukal]
  + Send dhcp-client-identifier for InfiniBand ports (#2043) [Waleed Mousa]
  + cc_ansible: complete the examples and doc (#2082) [Yves]
  + bddeb: for dev package, derive debhelper-compat from host system
  + apport: only prompt for cloud_name when instance-data.json is absent
  + datasource: Optimize datasource detection, fix bugs (#2060)
  + Handle non existent ca-cert-config situation (#2073) [Shreenidhi Shedi]
  + sources/azure: add networking check for all source PPS (#2061)
    [Chris Patterson]
  + do not attempt dns resolution on ip addresses (#2040)
  + chore: fix style tip (#2071)
  + Fix metadata IP in instancedata.rst (#2063) [Brian Haley]
  + util: Pass deprecation schedule in deprecate_call() (#2064)
  + config: Update grub-dpkg docs (#2058)
  + docs: Cosmetic improvements and styling (#2057) [s-makin]
  + cc_grub_dpkg: Added UEFI support (#2029) [Alexander Birkner]
  + tests: Write to /var/spool/rsyslog to adhere to apparmor profile (#2059)
  + oracle-ds: prefer system_cfg over ds network config source (#1998)
    (LP: #1956788)
  + Remove dead code (#2038)
  + source: Force OpenStack when it is only option (#2045) (LP: #2008727)
  + cc_ubuntu_advantage: improve UA logs discovery
  + sources/azure: fix regressions in IMDS behavior (#2041) [Chris Patterson]
  + tests: fix test_schema (#2042)
  + dhcp: Cleanup unused kwarg (#2037)
  + sources/vmware/imc: fix-missing-catch-few-negtive-scenarios (#2027)
    [PengpengSun]
  + dhclient_hook: remove vestigal dhclient_hook command (#2015)
  + log: Add standardized deprecation tooling (SC-1312) (#2026)
  + Enable SUSE based distros for ca handling (#2036) [Robert Schweikert]
  From 23.1.2
  + Make user/vendor data sensitive and remove log permissions
    (LP: #2013967) (CVE-2023-1786)
  From 23.1.1
  + source: Force OpenStack when it is only option (#2045)
  + sources/azure: fix regressions in IMDS behavior (#2041)
    [Chris Patterson]</changelog>
  <changelog author="Michal Vyskocil &lt;michal.vyskocil@gmail.com&gt;" date="1701432000">- Move fdupes call back to %install (boo#1214169)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1702641600">- Switch build dependency to the generic distribution-release package</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705665600">- Add cloud-init-pckg-reboot.patch (boo#1198533, bsc#1218952,  jsc#SMO-326)
  + Support reboot on package update/upgrade via the cloud-init config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705752000">- Add cloud-init-skip-empty-conf.patch
  + Skip tests with empty config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1708430400">- Prepare for RPM 4.20 switch patch syntax</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1709726400">- Hardcode distribution to suse for proper cloud.cfg generation
  (bsc#1220132).</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1711627200">- Add  cloud-init-ds-deterministic.patch (bsc#1221132)
  + Do not guess a data source when checking for a CloudStack
    environment</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318400">- Add cloud-init-no-openstack-guess.patch (bsc#1222113)
  + Do not guess if we are running on OpenStack or not. Only recognize
    the known markers and enable cloud-init if we know for sure.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318401">- Add cloud-init-no-nmcfg-needed.patch (bsc#1221726)
  + Do not require a NetworkManager config file in order to detect
    NetworkManager as the renderer</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712664000">- Update cloud-init-no-openstack-guess.patch
  + Do not enable cloud-init on systems where there is no DMI just
    because no data source has been found. No data source means
    cloud-init will not run.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1714392000">- Add cloud-init-usr-sudoers.patch (bsc#1223469)
  + Handle the existence of /usr/etc/sudoers to search for the expected
    include location</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1717416000">- Add cloud-init-skip-rename.patch (bsc#1219680)
  + Brute force appraoch to skip renames if the device is already present</changelog>
</package>
<package pkgid="1663f4cb2704cb9f72a3a20c1c139853b9857e60076f30bb3800afa79a025ba14b031011e8aa95aa538e81255b8575a643106b769179c8d8094084da6ba29bb8" name="cloud-init-config-suse" arch="x86_64">
  <version epoch="0" ver="23.3" rel="13.0.4.1.sr20240605"/>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1677153600">- Update to version 23.1
  + Remove patches included upstream:
  - cloud-init-btrfs-queue-resize.patch
  - cloud-init-micro-is-suse.patch
  - cloud-init-suse-afternm.patch
  - cloud-init-prefer-nm.patch
  - cloud-init-transact-up.patch
  + Forward port
  - cloud-init-write-routes.patch
  + Added
  - cloud-init-fix-ca-test.patch
  + Support transactional-updates for SUSE based distros (#1997)
    [Robert Schweikert]
  + Set ownership for new folders in Write Files Module (#1980)
    [Jack] (LP: #1990513)
  + add OpenCloudOS and TencentOS support (#1964) [wynnfeng]
  + lxd: Retry if the server isn't ready (#2025)
  + test: switch pycloudlib source to pypi (#2024)
  + test: Fix integration test deprecation message (#2023)
  + Recognize opensuse-microos, dev tooling fixes [Robert Schweikert]
  + sources/azure: refactor imds handler into own module (#1977)
    [Chris Patterson]
  + docs: deprecation generation support [1/2] (#2013)
  + add function is_virtual to distro/FreeBSD (#1957) [Mina Galić]
  + cc_ssh: support multiple hostcertificates (#2018) (LP: #1999164)
  + Fix minor schema validation regression and fixup typing (#2017)
  + doc: Reword user data debug section (#2019)
  + Overhaul/rewrite of certificate handling as follows: (#1962)
    [dermotbradley] (LP: #1931174)
  + disk_setup: use byte string when purging the partition table (#2012)
    [Stefan Prietl]
  + cli: schema also validate vendordata*.
  + ci: sort and add checks for cla signers file [Stefan Prietl]
  + Add "ederst" as contributor (#2010) [Stefan Prietl]
  + readme: add reference to packages dir (#2001)
  + docs: update downstream package list (#2002)
  + docs: add google search verification (#2000) [s-makin]
  + docs: fix 404 render use default notfound_urls_prefix in RTD conf (#2004)
  + Fix OpenStack datasource detection on bare metal (#1923)
    [Alexander Birkner] (LP: #1815990)
  + docs: add themed RTD 404 page and pointer to readthedocs-hosted (#1993)
  + schema: fix gpt labels, use type string for GUID (#1995)
  + cc_disk_setup: code cleanup (#1996)
  + netplan: keep custom strict perms when 50-cloud-init.yaml exists
  + cloud-id: better handling of change in datasource files
    [d1r3ct0r] (LP: #1998998)
  + tests: Remove restart check from test
  + Ignore duplicate macs from mscc_felix and fsl_enetc (LP: #1997922)
  + Warn on empty network key (#1990)
  + Fix Vultr cloud_interfaces usage (#1986) [eb3095]
  + cc_puppet: Update puppet service name (#1970) [d1r3ct0r] (LP: #2002969)
  + docs: Clarify networking docs (#1987)
  + lint: remove httpretty (#1985) [sxt1001]
  + cc_set_passwords: Prevent traceback when restarting ssh (#1981)
  + tests: fix lp1912844 (#1978)
  + tests: Skip ansible test on bionic (#1984)
  + Wait for NetworkManager (#1983) [Robert Schweikert]
  + docs: minor polishing (#1979) [s-makin]
  + CI: migrate integration-test to GH actions (#1969)
  + Fix permission of SSH host keys (#1971) [Ron Gebauer]
  + Fix default route rendering on v2 ipv6 (#1973) (LP: #2003562)
  + doc: fix path in net_convert command (#1975)
  + docs: update net_convert docs (#1974)
  + doc: fix dead link
  + cc_set_hostname: ignore /var/lib/cloud/data/set-hostname if it's empty
    (#1967) [Emanuele Giuseppe Esposito]
  + distros/rhel.py: _read_hostname() missing strip on "hostname" (#1941)
    [Mark Mielke]
  + integration tests: add  IBM VPC support (SC-1352) (#1915)
  + machine-id: set to uninitialized to trigger regeneration on clones
    (LP: #1999680)
  + sources/azure: retry on connection error when fetching metdata (#1968)
    [Chris Patterson]
  + Ensure ssh state accurately obtained (#1966)
  + bddeb: drop dh-systemd dependency on newer deb-based releases [d1r3ct0r]
  + doc: fix `config formats` link in cloudsigma.rst (#1960)
  + Fix wrong subp syntax in cc_set_passwords.py (#1961)
  + docs: update the PR template link to readthedocs (#1958) [d1r3ct0r]
  + ci: switch unittests to gh actions (#1956)
  + Add mount_default_fields for PhotonOS. (#1952) [Shreenidhi Shedi]
  + sources/azure: minor refactor for metadata source detection logic
    (#1936) [Chris Patterson]
  + add "CalvoM" as contributor (#1955) [d1r3ct0r]
  + ci: doc to gh actions (#1951)
  + lxd: handle 404 from missing devices route for LXD 4.0 (LP: #2001737)
  + docs: Diataxis overhaul (#1933) [s-makin]
  + vultr: Fix issue regarding cache and region codes (#1938) [eb3095]
  + cc_set_passwords: Move ssh status checking later (SC-1368) (#1909)
    (LP: #1998526)
  + Improve Wireguard module idempotency (#1940) [Fabian Lichtenegger-Lukas]
  + network/netplan: add gateways as on-link when necessary (#1931)
    [Louis Sautier] (LP: #2000596)
  + tests: test_lxd assert features.networks.zones when present (#1939)
  + Use btrfs enquque when available (#1926) [Robert Schweikert]
  + sources/azure: drop description for report_failure_to_fabric() (#1934)
    [Chris Patterson]
  + cc_disk_setup.py: fix MBR single partition creation (#1932)
    [dermotbradley] (LP: #1851438)
  + Fix typo with package_update/package_upgrade (#1927) [eb3095]
  + sources/azure: fix device driver matching for net config (#1914)
    [Chris Patterson]
  + BSD: fix duplicate macs in Ifconfig parser (#1917) [Mina Galić]
  + test: mock dns calls (#1922)
  + pycloudlib: add lunar support for integration tests (#1928)
  + nocloud: add support for dmi variable expansion for seedfrom URL
    (LP: #1994980)
  + tools: read-version drop extra call to git describe --long
  + doc: improve cc_write_files doc (#1916)
  + read-version: When insufficient tags, use cloudinit.version.get_version
  + mounts: document weird prefix in schema (#1913)
  + add utility function test cases (#1910) [sxt1001]
  + test: mock file deletion in dhcp tests (#1911)
  + Ensure network ready before cloud-init service runs on RHEL (#1893)
    (LP: #1998655)
  + docs: add copy button to code blocks (#1890) [s-makin]
  + netplan: define features.NETPLAN_CONFIG_ROOT_READ_ONLY flag
  + azure: fix support for systems without az command installed (#1908)
  + Networking Clarification (#1892)
  + Fix the distro.osfamily output problem in the openEuler system. (#1895)
    [sxt1001] (LP: #1999042)
  + pycloudlib: bump commit dropping azure api smoke test
  + net: netplan config root read-only as wifi config can contain creds
  + autoinstall: clarify docs for users
  + sources/azure: encode health report as utf-8 (#1897) [Chris Patterson]
  + Add back gateway4/6 deprecation to docs (#1898)
  + networkd: Add support for multiple [Route] sections (#1868)
    [Nigel Kukard]
  + doc: add qemu tutorial (#1863)
  + lint: fix tip-flake8 and tip-mypy (#1896)
  + Add support for setting uid when creating users on FreeBSD (#1888)
    [einsibjarni]
  + Fix exception in BSD networking code-path (#1894) [Mina Galić]
  + Append derivatives to is_rhel list in cloud.cfg.tmpl (#1887) [Louis Abel]
  + FreeBSD init: use cloudinit_enable as only rcvar (#1875) [Mina Galić]
  + feat: add support aliyun metadata security harden mode (#1865)
    [Manasseh Zhou]
  + docs: uprate analyze to performance page [s-makin]
  + test: fix lxd preseed managed network config (#1881)
  + Add support for static IPv6 addresses for FreeBSD (#1839) [einsibjarni]
  + Make 3.12 failures not fail the build (#1873)
  + Docs: adding relative links [s-makin]
  + Update read-version
  + Fix setup.py to align with PEP 440 versioning replacing trailing
  + travis: promote 3.11-dev to 3.11 (#1866)
  + test_cloud_sigma: delete useless test (#1828) [sxt1001]
  + Add "nkukard" as contributor (#1864) [Nigel Kukard]
  + tests: ds-id mocks for vmware-rpctool as utility may not exist in env
  + doc: add how to render new module doc (#1855)
  + doc: improve module creation explanation (#1851)
  + Add Support for IPv6 metadata to OpenStack (#1805)
    [Marvin Vogt] (LP: #1906849)
  + add xiaoge1001 to .github-cla-signers (#1854) [sxt1001]
  + network: Deprecate gateway{4,6} keys in network config v2 (#1794)
    (LP: #1992512)
  + VMware: Move Guest Customization transport from OVF to VMware (#1573)
    [PengpengSun]
  + doc: home page links added (#1852) [s-makin]
  From 22.4.2
  + status: handle ds not defined in status.json (#1876) (LP: #1997559)
  From 22.4.1
  + net: skip duplicate mac check for netvsc nic and its VF (#1853)
    [Anh Vo] (LP: #1844191)
  + ChangeLog: whitespace cleanup (#1850)
  + changelog: capture 22.3.1-4 releases</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1681214400">- Sensitive data exposure (bsc#1210277, CVE-2023-1786)
  + Add hidesensitivedata
  + Add cloud-init-cve-2023-1786-redact-inst-data.patch
  + Do not expose sensitive data gathered from the CSP</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1682596800">- Add cloud-init-power-rhel-only.patch (bsc#1210273)
  + Config module cc_refresh_rmc_and_interface is implemented such that
    it will only work on RH distros. Set the module availability accordingly.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1688644800">- Update cloud-init-write-routes.patch (bsc#1212879)
  + Add necessary import statement
- Enable flake8 linting, fix up patches
  + cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  + cloud-init-power-rhel-only.patch
  + cloud-init-write-routes.patch
  + datasourceLocalDisk.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1691928000">- update to 23.1.2:
  * Make user/vendor data sensitive and remove log permissions
  * source: Force OpenStack when it is only option (#2045)
  * sources/azure: fix regressions in IMDS behavior
- drop
  cloud-init-cve-2023-1786-redact-instance-data-json-main.patch (upstream)
- spec-file cleanups, including dropping flake8 (as build fails
  with newer flake8 versions)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1692014400">- Add cloud-init-flake8-fixes.patch
- Revert chnages from previous commit
  + Disabling checks the primary maintainer enabled for specific reasons
    is not a fix.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1696852800">- Update to version 23.3 (bsc#1216011, bsc#1215794, bsc#1215740)
  + Remove patches included upstream:
  - cloud-init-fix-ca-test.patch
  - cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  - cloud-init-power-rhel-only.patch
  - cloud-init-flake8-fixes.patch
  + Add
  - cloud-init-keep-flake.patch
  - cloud-init-lint-fixes.patch
  + Update
  - cloud-init-write-routes.patch (bsc#1216007)
  + Bump pycloudlib to 1!5.1.0 for ec2 mantic daily image support (#4390)
  + Fix cc_keyboard in mantic (LP: #2030788)
  + ec2: initialize get_instance_userdata return value to bytes (#4387)
    [Noah Meyerhans]
  + cc_users_groups: Add doas/opendoas support (#4363) [dermotbradley]
  + Fix pip-managed ansible
  + status: treat SubState=running and MainPID=0 as service exited
  + azure/imds: increase read-timeout to 30s (#4372) [Chris Patterson]
  + collect-logs fix memory usage (SC-1590) (#4289)
    [Alec Warren] (LP: #1980150)
  + cc_mounts: Use fallocate to create swapfile on btrfs (#4369) [王煎饼]
  + Undocument nocloud-net (#4318)
  + feat(akamai): add akamai to settings.py and apport.py (#4370)
  + read-version: fallback to get_version when git describe fails (#4366)
  + apt: fix cloud-init status --wait blocking on systemd v 253 (#4364)
  + integration tests: Pass username to pycloudlib (#4324)
  + Bump pycloudlib to 1!5.1.0 (#4353)
  + cloud.cfg.tmpl: reorganise, minimise/reduce duplication (#4272)
    [dermotbradley]
  + analyze: fix (unexpected) timestamp parsing (#4347) [Mina Galić]
  + cc_growpart: fix tests to run on FreeBSD (#4351) [Mina Galić]
  + subp: Fix spurious test failure on FreeBSD (#4355) [Mina Galić]
  + cmd/clean: fix tests on non-Linux platforms (#4352) [Mina Galić]
  + util: Fix get_proc_ppid() on non-Linux systems (#4348) [Mina Galić]
  + cc_wireguard: make tests pass on FreeBSD (#4346) [Mina Galić]
  + unittests: fix breakage in test_read_cfg_paths_fetches_cached_datasource
    (#4328) [Ani Sinha]
  + Fix test_tools.py collection (#4315)
  + cc_keyboard: add Alpine support (#4278) [dermotbradley]
  + Flake8 fixes (#4340) [Robert Schweikert]
  + cc_mounts: Fix swapfile not working on btrfs (#4319) [王煎饼] (LP: #1884127)
  + ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen (#4281)
    [Wei Zhou]
  + ec2: Support double encoded userdata (#4276) [Noah Meyerhans]
  + cc_mounts: xfs is a Linux only FS (#4334) [Mina Galić]
  + tests/net: fix TestGetInterfaces' mock coverage for get_master (#4336)
    [Chris Patterson]
  + change openEuler to openeuler and fix some bugs in openEuler (#4317)
    [sxt1001]
  + Replace flake8 with ruff (#4314)
  + NM renderer: set default IPv6 addr-gen-mode for all interfaces to eui64
    (#4291) [Ani Sinha]
  + cc_ssh_import_id: add Alpine support and add doas support (#4277)
    [dermotbradley]
  + sudoers not idempotent (SC-1589)  (#4296) [Alec Warren] (LP: #1998539)
  + Added support for Akamai Connected Cloud (formerly Linode) (#4167)
    [Will Smith]
  + Fix reference before assignment (#4292)
  + Overhaul module reference page (#4237) [Sally]
  + replaced spaces with commas for setting passenv (#4269) [Alec Warren]
  + DS VMware: modify a few log level (#4284) [PengpengSun]
  + tools/read-version refactors and unit tests (#4268)
  + Ensure get_features() grabs all features (#4285)
  + Don't always require passlib dependency (#4274)
  + tests: avoid leaks into host system checking of ovs-vsctl cmd (#4275)
  + Fix NoCloud kernel commandline key parsing (#4273)
  + testing: Clear all LRU caches after each test (#4249)
  + Remove the crypt dependency (#2139) [Gonéri Le Bouder]
  + logging: keep current file mode of log file if its stricter than the
    new mode (#4250) [Ani Sinha]
  + Remove default membership in redundant groups (#4258)
    [Dave Jones] (LP: #1923363)
  + doc: improve datasource_creation.rst (#4262)
  + Remove duplicate Integration testing button (#4261) [Rishita Shaw]
  + tools/read-version: fix the tool so that it can handle version parsing
    errors (#4234) [Ani Sinha]
  + net/dhcp: add udhcpc support (#4190) [Jean-François Roche]
  + DS VMware: add i386 arch dir to deployPkg plugin search path
    [PengpengSun]
  + LXD moved from linuxcontainers.org to Canonical [Simon Deziel]
  + cc_mounts.py: Add note about issue with creating mounts inside mounts
    (#4232) [dermotbradley]
  + lxd: install lxd from snap, not deb if absent in image
  + landscape: use landscape-config to write configuration
  + Add deprecation log during init of DataSourceDigitalOcean (#4194)
    [tyb-truth]
  + doc: fix typo on apt.primary.arches (#4238) [Dan Bungert]
  + Inspect systemd state for cloud-init status (#4230)
  + instance-data: add system-info and features to combined-cloud-config
    (#4224)
  + systemd: Block login until config stage completes (#2111) (LP: #2013403)
  + tests: proposed should invoke apt-get install -t=&lt;release&gt;-proposed
    (#4235)
  + cloud.cfg.tmpl: reinstate ca_certs entry (#4236) [dermotbradley]
  + Remove feature flag override ability (#4228)
  + tests: drop stray unrelated file presence test (#4227)
  + Update LXD URL (#4223) [Sally]
  + schema: add network v1 schema definition and validation functions
  + tests: daily PPA for devel series is version 99.daily update tests to
    match (#4225)
  + instance-data: write /run/cloud-init/combined-cloud-config.json
  + mount parse: Fix matching non-existent directories (#4222) [Mina Galić]
  + Specify build-system for pep517 (#4218)
  + Fix network v2 metric rendering (#4220)
  + Migrate content out of FAQ page (SD-1187) (#4205) [Sally]
  + setup: fix generation of init templates (#4209) [Mina Galić]
  + docs: Correct some bootcmd example wording
  + fix changelog
  + tests: reboot client to assert x-shellscript-per-boot is triggered
  + nocloud: parse_cmdline no longer detects nocloud-net datasource (#4204)
    (LP: 4203, #2025180)
  + Add docstring and typing to mergemanydict (#4200)
  + BSD: add dsidentify to early startup scripts (#4182) [Mina Galić]
  + handler: report errors on skipped merged cloud-config.txt parts
    (LP: #1999952)
  + Add cloud-init summit writeups (#4179) [Sally]
  + tests: Update test_clean_log for oci (#4187)
  + gce: improve ephemeral fallback NIC selection (CPC-2578) (#4163)
  + tests: pin pytest 7.3.1 to avoid adverse testpaths behavior (#4184)
  + Ephemeral Networking for FreeBSD (#2165) [Mina Galić]
  + Clarify directory syntax for nocloud local filesystem. (#4178)
  + Set default renderer as sysconfig for centos/rhel (#4165) [Ani Sinha]
  + Test static routes and netplan 0.106
  + FreeBSD fix parsing of mount and mount options (#2146) [Mina Galić]
  + test: add tracking bug id (#4164)
  + tests: can't match MAC for LXD container veth due to netplan 0.106
    (#4162)
  + Add kaiwalyakoparkar as a contributor (#4156) [Kaiwalya Koparkar]
  + BSD: remove datasource_list from cloud.cfg template (#4159) [Mina Galić]
  + launching salt-minion in masterless mode (#4110) [Denis Halturin]
  + tools: fix run-container builds for rockylinux/8 git hash mismatch
    (#4161)
  + fix doc lint: spellchecker tripped up (#4160) [Mina Galić]
  + Support Ephemeral Networking for BSD (#2127)
  + Added / fixed support for static routes on OpenBSD and FreeBSD (#2157)
    [Kadir Mueller]
  + cc_rsyslog: Refactor for better multi-platform support (#4119)
    [Mina Galić] (LP: #1798055)
  + tests: fix test_lp1835584 (#4154)
  + cloud.cfg mod names: docs and rename salt_minion and set_password (#4153)
  + tests: apt support for deb822 format .sources files on mantic
  + vultr: remove check_route check (#2151) [Jonas Chevalier]
  + Update SECURITY.md (#4150) [Indrranil Pawar]
  + Update CONTRIBUTING.rst (#4149) [Indrranil Pawar]
  + Update .github-cla-signers (#4151) [Indrranil Pawar]
  + Standardise module names in cloud.cfg.tmpl to only use underscore
    (#4128) [dermotbradley]
  + tests: update test_webhook_reporting
  + Modify PR template so autoclose works
  + doc: add missing semi-colon to nocloud cmdline docs (#4120)
  + .gitignore: extend coverage pattern (#4143) [Mina Galić]
  From 23.2.2
  + Fix NoCloud kernel commandline key parsing (#4273) (Fixes: #4271)
    (LP: #2028562)
  + Fix reference before assignment (#4292) (Fixes: #4288) (LP: #2028784)
  From 23.2.1
  + nocloud: Fix parse_cmdline detection of nocloud-net datasource (#4204)
    (Fixes: 4203) (LP: #2025180)
  From 23.2
  + BSD: simplify finding MBR partitions by removing duplicate code
  [Mina Galić]
  + tests: bump pycloudlib version for mantic builds
  + network-manager: Set higher autoconnect priority for nm keyfiles (#3671)
    [Ani Sinha]
  + alpine.py: change the locale file used (#4139) [dermotbradley]
  + cc_ntp: Sync up with current FreeBSD ntp.conf (#4122) [Mina Galić]
  + config: drop refresh_rmc_and_interface as RHEL 7 no longer supported
    [Robert Schweikert]
  + docs: Add feedback button to docs
  + net/sysconfig: enable sysconfig renderer if network manager has ifcfg-rh
    plugin (#4132) [Ani Sinha]
  + For Alpine use os-release PRETTY_NAME (#4138) [dermotbradley]
  + network_manager: add a method for ipv6 static IP configuration (#4127)
    [Ani Sinha]
  + correct misnamed template file host.mariner.tmpl (#4124) [dermotbradley]
  + nm: generate ipv6 stateful dhcp config at par with sysconfig (#4115)
    [Ani Sinha]
  + Add templates for GitHub Issues
  + Add 'peers' and 'allow' directives in cc_ntp (#3124) [Jacob Salmela]
  + FreeBSD: Fix user account locking (#4114) [Mina Galić] (GH: #1854594)
  + FreeBSD: add ResizeGrowFS class to cc_growpart (#2334) [Mina Galić]
  + Update tests in Azure TestCanDevBeReformatted class (#2771)
    [Ksenija Stanojevic]
  + Replace Launchpad references with GitHub Issues
  + Fix KeyError in iproute pformat (#3287) [Dmitry Zykov]
  + schema: read_cfg_paths call init.fetch to lookup /v/l/c/instance
  + azure/errors: introduce reportable errors for imds (#3647)
    [Chris Patterson]
  + FreeBSD (and friends): better identify MBR slices (#2168)
    [Mina Galić] (LP: #2016350)
  + azure/errors: add host reporting for dhcp errors (#2167)
    [Chris Patterson]
  + net: purge blacklist_drivers across net and azure (#2160)
    [Chris Patterson]
  + net: refactor hyper-v VF filtering and apply to get_interfaces() (#2153)
    [Chris Patterson]
  + tests: avoid leaks to underlying filesystem for /etc/cloud/clean.d
    (#2251)
  + net: refactor find_candidate_nics_on_linux() to use get_interfaces()
    (#2159) [Chris Patterson]
  + resolv_conf: Allow &gt; 3 nameservers (#2152) [Major Hayden]
  + Remove mount NTFS error message (#2134) [Ksenija Stanojevic]
  + integration tests: fix image specification parsing (#2166)
  + ci: add hypothesis scheduled GH check (#2149)
  + Move supported distros list to docs (#2162)
  + Fix logger, use instance rather than module function (#2163)
  + README: Point to Github Actions build status (#2158)
  + Revert "fix linux-specific code on bsd (#2143)" (#2161)
  + Do not generate dsa and ed25519 key types when crypto FIPS mode is
    enabled (#2142) [Ani Sinha] (LP: 2017761)
  + Add documentation label automatically (#2156)
  + sources/azure: report success to host and introduce kvp module (#2141)
    [Chris Patterson]
  + setup.py: use pkg-config for udev/rules path (#2137) [dankm]
  + openstack/static: honor the DNS servers associated with a network
    (#2138) [Gonéri Le Bouder]
  + fix linux-specific code on bsd (#2143)
  + cli: schema validation of jinja template user-data (SC-1385) (#2132)
    (LP: #1881925)
  + gce: activate network discovery on every boot (#2128)
  + tests: update integration test to assert 640 across reboots (#2145)
  + Make user/vendor data sensitive and remove log permissions (#2144)
    (LP: #2013967)
  + Update kernel command line docs (SC-1457) (#2133)
  + docs: update network configuration path links (#2140) [d1r3ct0r]
  + sources/azure: report failures to host via kvp (#2136) [Chris Patterson]
  + net: Document use of `ip route append` to add routes (#2130)
  + dhcp: Add missing mocks (#2135)
  + azure/imds: retry fetching metadata up to 300 seconds (#2121)
    [Chris Patterson]
  + [1/2] DHCP: Refactor dhcp client code  (#2122)
  + azure/errors: treat traceback_base64 as string (#2131) [Chris Patterson]
  + azure/errors: introduce reportable errors (#2129) [Chris Patterson]
  + users: schema permit empty list to indicate create no users
  + azure: introduce identity module (#2116) [Chris Patterson]
  + Standardize disabling cloud-init on non-systemd (#2112)
  + Update .github-cla-signers (#2126) [Rob Tongue]
  + NoCloud: Use seedfrom protocol to determine mode (#2107)
  + rhel: Remove sysvinit files. (#2114)
  + tox.ini: set -vvvv --showlocals for pytest (#2104) [Chris Patterson]
  + Fix NoCloud kernel commandline semi-colon args
  + run-container: make the container/VM timeout configurable (#2118)
    [Paride Legovini]
  + suse: Remove sysvinit files. (#2115)
  + test: Backport assert_call_count for old requests (#2119)
  + Add "licebmi" as contributor (#2113) [Mark Martinez]
  + Adapt DataSourceScaleway to upcoming IPv6 support (#2033)
    [Louis Bouchard]
  + rhel: make sure previous-hostname file ends with a new line (#2108)
    [Ani Sinha]
  + Adding contributors for DataSourceAkamai (#2110) [acourdavAkamai]
  + Cleanup ephemeral IP routes on exception (#2100) [sxt1001]
  + commit 09a64badfb3f51b1b391fa29be19962381a4bbeb [sxt1001] (LP: #2011291)
  + Standardize kernel commandline user interface (#2093)
  + config/cc_resizefs: fix do_resize arguments (#2106) [Chris Patterson]
  + Fix test_dhclient_exits_with_error (#2105)
  + net/dhcp: catch dhclient failures and raise NoDHCPLeaseError (#2083)
    [Chris Patterson]
  + sources/azure: move pps handling out of _poll_imds() (#2075)
    [Chris Patterson]
  + tests: bump pycloudlib version (#2102)
  + schema: do not manipulate draft4 metaschema for jsonschema 2.6.0 (#2098)
  + sources/azure/imds: don't count timeout errors as connection errors
    (#2074) [Chris Patterson]
  + Fix Python 3.12 unit test failures (#2099)
  + integration tests: Refactor instance checking (#1989)
  + ci: migrate remaining jobs from travis to gh (#2085)
  + missing ending quote in instancedata docs(#2094) [Hong L]
  + refactor: stop passing log instances to cc_* handlers (#2016) [d1r3ct0r]
  + tests/vmware: fix test_no_data_access_method failure (#2092)
    [Chris Patterson]
  + Don't change permissions of netrules target (#2076) (LP: #2011783)
  + tests/sources: patch util.get_cmdline() for datasource tests (#2091)
    [Chris Patterson]
  + macs: ignore duplicate MAC for devs with driver driver qmi_wwan (#2090)
    (LP: #2008888)
  + Fedora: Enable CA handling (#2086) [František Zatloukal]
  + Send dhcp-client-identifier for InfiniBand ports (#2043) [Waleed Mousa]
  + cc_ansible: complete the examples and doc (#2082) [Yves]
  + bddeb: for dev package, derive debhelper-compat from host system
  + apport: only prompt for cloud_name when instance-data.json is absent
  + datasource: Optimize datasource detection, fix bugs (#2060)
  + Handle non existent ca-cert-config situation (#2073) [Shreenidhi Shedi]
  + sources/azure: add networking check for all source PPS (#2061)
    [Chris Patterson]
  + do not attempt dns resolution on ip addresses (#2040)
  + chore: fix style tip (#2071)
  + Fix metadata IP in instancedata.rst (#2063) [Brian Haley]
  + util: Pass deprecation schedule in deprecate_call() (#2064)
  + config: Update grub-dpkg docs (#2058)
  + docs: Cosmetic improvements and styling (#2057) [s-makin]
  + cc_grub_dpkg: Added UEFI support (#2029) [Alexander Birkner]
  + tests: Write to /var/spool/rsyslog to adhere to apparmor profile (#2059)
  + oracle-ds: prefer system_cfg over ds network config source (#1998)
    (LP: #1956788)
  + Remove dead code (#2038)
  + source: Force OpenStack when it is only option (#2045) (LP: #2008727)
  + cc_ubuntu_advantage: improve UA logs discovery
  + sources/azure: fix regressions in IMDS behavior (#2041) [Chris Patterson]
  + tests: fix test_schema (#2042)
  + dhcp: Cleanup unused kwarg (#2037)
  + sources/vmware/imc: fix-missing-catch-few-negtive-scenarios (#2027)
    [PengpengSun]
  + dhclient_hook: remove vestigal dhclient_hook command (#2015)
  + log: Add standardized deprecation tooling (SC-1312) (#2026)
  + Enable SUSE based distros for ca handling (#2036) [Robert Schweikert]
  From 23.1.2
  + Make user/vendor data sensitive and remove log permissions
    (LP: #2013967) (CVE-2023-1786)
  From 23.1.1
  + source: Force OpenStack when it is only option (#2045)
  + sources/azure: fix regressions in IMDS behavior (#2041)
    [Chris Patterson]</changelog>
  <changelog author="Michal Vyskocil &lt;michal.vyskocil@gmail.com&gt;" date="1701432000">- Move fdupes call back to %install (boo#1214169)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1702641600">- Switch build dependency to the generic distribution-release package</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705665600">- Add cloud-init-pckg-reboot.patch (boo#1198533, bsc#1218952,  jsc#SMO-326)
  + Support reboot on package update/upgrade via the cloud-init config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705752000">- Add cloud-init-skip-empty-conf.patch
  + Skip tests with empty config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1708430400">- Prepare for RPM 4.20 switch patch syntax</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1709726400">- Hardcode distribution to suse for proper cloud.cfg generation
  (bsc#1220132).</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1711627200">- Add  cloud-init-ds-deterministic.patch (bsc#1221132)
  + Do not guess a data source when checking for a CloudStack
    environment</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318400">- Add cloud-init-no-openstack-guess.patch (bsc#1222113)
  + Do not guess if we are running on OpenStack or not. Only recognize
    the known markers and enable cloud-init if we know for sure.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318401">- Add cloud-init-no-nmcfg-needed.patch (bsc#1221726)
  + Do not require a NetworkManager config file in order to detect
    NetworkManager as the renderer</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712664000">- Update cloud-init-no-openstack-guess.patch
  + Do not enable cloud-init on systems where there is no DMI just
    because no data source has been found. No data source means
    cloud-init will not run.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1714392000">- Add cloud-init-usr-sudoers.patch (bsc#1223469)
  + Handle the existence of /usr/etc/sudoers to search for the expected
    include location</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1717416000">- Add cloud-init-skip-rename.patch (bsc#1219680)
  + Brute force appraoch to skip renames if the device is already present</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718366400">- remove dependency on /usr/bin/python3 via using the macros (bsc#1212476)</changelog>
</package>
<package pkgid="19c3d12d4da8832a07c1249f8b518e97e6a0294d9d4718023af70b58cf63201d6ef5ebe3e7aa37c96097c8008c7a64feb18bd961fc7a2816ba8cbbded15891ee" name="cloud-init-doc" arch="x86_64">
  <version epoch="0" ver="23.3" rel="12.0.2.2.sr20240605"/>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1675425600">- Add cloud-init-transact-up.patch to support transactional-updates</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1677153600">- Update to version 23.1
  + Remove patches included upstream:
  - cloud-init-btrfs-queue-resize.patch
  - cloud-init-micro-is-suse.patch
  - cloud-init-suse-afternm.patch
  - cloud-init-prefer-nm.patch
  - cloud-init-transact-up.patch
  + Forward port
  - cloud-init-write-routes.patch
  + Added
  - cloud-init-fix-ca-test.patch
  + Support transactional-updates for SUSE based distros (#1997)
    [Robert Schweikert]
  + Set ownership for new folders in Write Files Module (#1980)
    [Jack] (LP: #1990513)
  + add OpenCloudOS and TencentOS support (#1964) [wynnfeng]
  + lxd: Retry if the server isn't ready (#2025)
  + test: switch pycloudlib source to pypi (#2024)
  + test: Fix integration test deprecation message (#2023)
  + Recognize opensuse-microos, dev tooling fixes [Robert Schweikert]
  + sources/azure: refactor imds handler into own module (#1977)
    [Chris Patterson]
  + docs: deprecation generation support [1/2] (#2013)
  + add function is_virtual to distro/FreeBSD (#1957) [Mina Galić]
  + cc_ssh: support multiple hostcertificates (#2018) (LP: #1999164)
  + Fix minor schema validation regression and fixup typing (#2017)
  + doc: Reword user data debug section (#2019)
  + Overhaul/rewrite of certificate handling as follows: (#1962)
    [dermotbradley] (LP: #1931174)
  + disk_setup: use byte string when purging the partition table (#2012)
    [Stefan Prietl]
  + cli: schema also validate vendordata*.
  + ci: sort and add checks for cla signers file [Stefan Prietl]
  + Add "ederst" as contributor (#2010) [Stefan Prietl]
  + readme: add reference to packages dir (#2001)
  + docs: update downstream package list (#2002)
  + docs: add google search verification (#2000) [s-makin]
  + docs: fix 404 render use default notfound_urls_prefix in RTD conf (#2004)
  + Fix OpenStack datasource detection on bare metal (#1923)
    [Alexander Birkner] (LP: #1815990)
  + docs: add themed RTD 404 page and pointer to readthedocs-hosted (#1993)
  + schema: fix gpt labels, use type string for GUID (#1995)
  + cc_disk_setup: code cleanup (#1996)
  + netplan: keep custom strict perms when 50-cloud-init.yaml exists
  + cloud-id: better handling of change in datasource files
    [d1r3ct0r] (LP: #1998998)
  + tests: Remove restart check from test
  + Ignore duplicate macs from mscc_felix and fsl_enetc (LP: #1997922)
  + Warn on empty network key (#1990)
  + Fix Vultr cloud_interfaces usage (#1986) [eb3095]
  + cc_puppet: Update puppet service name (#1970) [d1r3ct0r] (LP: #2002969)
  + docs: Clarify networking docs (#1987)
  + lint: remove httpretty (#1985) [sxt1001]
  + cc_set_passwords: Prevent traceback when restarting ssh (#1981)
  + tests: fix lp1912844 (#1978)
  + tests: Skip ansible test on bionic (#1984)
  + Wait for NetworkManager (#1983) [Robert Schweikert]
  + docs: minor polishing (#1979) [s-makin]
  + CI: migrate integration-test to GH actions (#1969)
  + Fix permission of SSH host keys (#1971) [Ron Gebauer]
  + Fix default route rendering on v2 ipv6 (#1973) (LP: #2003562)
  + doc: fix path in net_convert command (#1975)
  + docs: update net_convert docs (#1974)
  + doc: fix dead link
  + cc_set_hostname: ignore /var/lib/cloud/data/set-hostname if it's empty
    (#1967) [Emanuele Giuseppe Esposito]
  + distros/rhel.py: _read_hostname() missing strip on "hostname" (#1941)
    [Mark Mielke]
  + integration tests: add  IBM VPC support (SC-1352) (#1915)
  + machine-id: set to uninitialized to trigger regeneration on clones
    (LP: #1999680)
  + sources/azure: retry on connection error when fetching metdata (#1968)
    [Chris Patterson]
  + Ensure ssh state accurately obtained (#1966)
  + bddeb: drop dh-systemd dependency on newer deb-based releases [d1r3ct0r]
  + doc: fix `config formats` link in cloudsigma.rst (#1960)
  + Fix wrong subp syntax in cc_set_passwords.py (#1961)
  + docs: update the PR template link to readthedocs (#1958) [d1r3ct0r]
  + ci: switch unittests to gh actions (#1956)
  + Add mount_default_fields for PhotonOS. (#1952) [Shreenidhi Shedi]
  + sources/azure: minor refactor for metadata source detection logic
    (#1936) [Chris Patterson]
  + add "CalvoM" as contributor (#1955) [d1r3ct0r]
  + ci: doc to gh actions (#1951)
  + lxd: handle 404 from missing devices route for LXD 4.0 (LP: #2001737)
  + docs: Diataxis overhaul (#1933) [s-makin]
  + vultr: Fix issue regarding cache and region codes (#1938) [eb3095]
  + cc_set_passwords: Move ssh status checking later (SC-1368) (#1909)
    (LP: #1998526)
  + Improve Wireguard module idempotency (#1940) [Fabian Lichtenegger-Lukas]
  + network/netplan: add gateways as on-link when necessary (#1931)
    [Louis Sautier] (LP: #2000596)
  + tests: test_lxd assert features.networks.zones when present (#1939)
  + Use btrfs enquque when available (#1926) [Robert Schweikert]
  + sources/azure: drop description for report_failure_to_fabric() (#1934)
    [Chris Patterson]
  + cc_disk_setup.py: fix MBR single partition creation (#1932)
    [dermotbradley] (LP: #1851438)
  + Fix typo with package_update/package_upgrade (#1927) [eb3095]
  + sources/azure: fix device driver matching for net config (#1914)
    [Chris Patterson]
  + BSD: fix duplicate macs in Ifconfig parser (#1917) [Mina Galić]
  + test: mock dns calls (#1922)
  + pycloudlib: add lunar support for integration tests (#1928)
  + nocloud: add support for dmi variable expansion for seedfrom URL
    (LP: #1994980)
  + tools: read-version drop extra call to git describe --long
  + doc: improve cc_write_files doc (#1916)
  + read-version: When insufficient tags, use cloudinit.version.get_version
  + mounts: document weird prefix in schema (#1913)
  + add utility function test cases (#1910) [sxt1001]
  + test: mock file deletion in dhcp tests (#1911)
  + Ensure network ready before cloud-init service runs on RHEL (#1893)
    (LP: #1998655)
  + docs: add copy button to code blocks (#1890) [s-makin]
  + netplan: define features.NETPLAN_CONFIG_ROOT_READ_ONLY flag
  + azure: fix support for systems without az command installed (#1908)
  + Networking Clarification (#1892)
  + Fix the distro.osfamily output problem in the openEuler system. (#1895)
    [sxt1001] (LP: #1999042)
  + pycloudlib: bump commit dropping azure api smoke test
  + net: netplan config root read-only as wifi config can contain creds
  + autoinstall: clarify docs for users
  + sources/azure: encode health report as utf-8 (#1897) [Chris Patterson]
  + Add back gateway4/6 deprecation to docs (#1898)
  + networkd: Add support for multiple [Route] sections (#1868)
    [Nigel Kukard]
  + doc: add qemu tutorial (#1863)
  + lint: fix tip-flake8 and tip-mypy (#1896)
  + Add support for setting uid when creating users on FreeBSD (#1888)
    [einsibjarni]
  + Fix exception in BSD networking code-path (#1894) [Mina Galić]
  + Append derivatives to is_rhel list in cloud.cfg.tmpl (#1887) [Louis Abel]
  + FreeBSD init: use cloudinit_enable as only rcvar (#1875) [Mina Galić]
  + feat: add support aliyun metadata security harden mode (#1865)
    [Manasseh Zhou]
  + docs: uprate analyze to performance page [s-makin]
  + test: fix lxd preseed managed network config (#1881)
  + Add support for static IPv6 addresses for FreeBSD (#1839) [einsibjarni]
  + Make 3.12 failures not fail the build (#1873)
  + Docs: adding relative links [s-makin]
  + Update read-version
  + Fix setup.py to align with PEP 440 versioning replacing trailing
  + travis: promote 3.11-dev to 3.11 (#1866)
  + test_cloud_sigma: delete useless test (#1828) [sxt1001]
  + Add "nkukard" as contributor (#1864) [Nigel Kukard]
  + tests: ds-id mocks for vmware-rpctool as utility may not exist in env
  + doc: add how to render new module doc (#1855)
  + doc: improve module creation explanation (#1851)
  + Add Support for IPv6 metadata to OpenStack (#1805)
    [Marvin Vogt] (LP: #1906849)
  + add xiaoge1001 to .github-cla-signers (#1854) [sxt1001]
  + network: Deprecate gateway{4,6} keys in network config v2 (#1794)
    (LP: #1992512)
  + VMware: Move Guest Customization transport from OVF to VMware (#1573)
    [PengpengSun]
  + doc: home page links added (#1852) [s-makin]
  From 22.4.2
  + status: handle ds not defined in status.json (#1876) (LP: #1997559)
  From 22.4.1
  + net: skip duplicate mac check for netvsc nic and its VF (#1853)
    [Anh Vo] (LP: #1844191)
  + ChangeLog: whitespace cleanup (#1850)
  + changelog: capture 22.3.1-4 releases</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1681214400">- Sensitive data exposure (bsc#1210277, CVE-2023-1786)
  + Add hidesensitivedata
  + Add cloud-init-cve-2023-1786-redact-inst-data.patch
  + Do not expose sensitive data gathered from the CSP</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1682596800">- Add cloud-init-power-rhel-only.patch (bsc#1210273)
  + Config module cc_refresh_rmc_and_interface is implemented such that
    it will only work on RH distros. Set the module availability accordingly.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1688644800">- Update cloud-init-write-routes.patch (bsc#1212879)
  + Add necessary import statement
- Enable flake8 linting, fix up patches
  + cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  + cloud-init-power-rhel-only.patch
  + cloud-init-write-routes.patch
  + datasourceLocalDisk.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1691928000">- update to 23.1.2:
  * Make user/vendor data sensitive and remove log permissions
  * source: Force OpenStack when it is only option (#2045)
  * sources/azure: fix regressions in IMDS behavior
- drop
  cloud-init-cve-2023-1786-redact-instance-data-json-main.patch (upstream)
- spec-file cleanups, including dropping flake8 (as build fails
  with newer flake8 versions)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1692014400">- Add cloud-init-flake8-fixes.patch
- Revert chnages from previous commit
  + Disabling checks the primary maintainer enabled for specific reasons
    is not a fix.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1696852800">- Update to version 23.3 (bsc#1216011, bsc#1215794, bsc#1215740)
  + Remove patches included upstream:
  - cloud-init-fix-ca-test.patch
  - cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  - cloud-init-power-rhel-only.patch
  - cloud-init-flake8-fixes.patch
  + Add
  - cloud-init-keep-flake.patch
  - cloud-init-lint-fixes.patch
  + Update
  - cloud-init-write-routes.patch (bsc#1216007)
  + Bump pycloudlib to 1!5.1.0 for ec2 mantic daily image support (#4390)
  + Fix cc_keyboard in mantic (LP: #2030788)
  + ec2: initialize get_instance_userdata return value to bytes (#4387)
    [Noah Meyerhans]
  + cc_users_groups: Add doas/opendoas support (#4363) [dermotbradley]
  + Fix pip-managed ansible
  + status: treat SubState=running and MainPID=0 as service exited
  + azure/imds: increase read-timeout to 30s (#4372) [Chris Patterson]
  + collect-logs fix memory usage (SC-1590) (#4289)
    [Alec Warren] (LP: #1980150)
  + cc_mounts: Use fallocate to create swapfile on btrfs (#4369) [王煎饼]
  + Undocument nocloud-net (#4318)
  + feat(akamai): add akamai to settings.py and apport.py (#4370)
  + read-version: fallback to get_version when git describe fails (#4366)
  + apt: fix cloud-init status --wait blocking on systemd v 253 (#4364)
  + integration tests: Pass username to pycloudlib (#4324)
  + Bump pycloudlib to 1!5.1.0 (#4353)
  + cloud.cfg.tmpl: reorganise, minimise/reduce duplication (#4272)
    [dermotbradley]
  + analyze: fix (unexpected) timestamp parsing (#4347) [Mina Galić]
  + cc_growpart: fix tests to run on FreeBSD (#4351) [Mina Galić]
  + subp: Fix spurious test failure on FreeBSD (#4355) [Mina Galić]
  + cmd/clean: fix tests on non-Linux platforms (#4352) [Mina Galić]
  + util: Fix get_proc_ppid() on non-Linux systems (#4348) [Mina Galić]
  + cc_wireguard: make tests pass on FreeBSD (#4346) [Mina Galić]
  + unittests: fix breakage in test_read_cfg_paths_fetches_cached_datasource
    (#4328) [Ani Sinha]
  + Fix test_tools.py collection (#4315)
  + cc_keyboard: add Alpine support (#4278) [dermotbradley]
  + Flake8 fixes (#4340) [Robert Schweikert]
  + cc_mounts: Fix swapfile not working on btrfs (#4319) [王煎饼] (LP: #1884127)
  + ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen (#4281)
    [Wei Zhou]
  + ec2: Support double encoded userdata (#4276) [Noah Meyerhans]
  + cc_mounts: xfs is a Linux only FS (#4334) [Mina Galić]
  + tests/net: fix TestGetInterfaces' mock coverage for get_master (#4336)
    [Chris Patterson]
  + change openEuler to openeuler and fix some bugs in openEuler (#4317)
    [sxt1001]
  + Replace flake8 with ruff (#4314)
  + NM renderer: set default IPv6 addr-gen-mode for all interfaces to eui64
    (#4291) [Ani Sinha]
  + cc_ssh_import_id: add Alpine support and add doas support (#4277)
    [dermotbradley]
  + sudoers not idempotent (SC-1589)  (#4296) [Alec Warren] (LP: #1998539)
  + Added support for Akamai Connected Cloud (formerly Linode) (#4167)
    [Will Smith]
  + Fix reference before assignment (#4292)
  + Overhaul module reference page (#4237) [Sally]
  + replaced spaces with commas for setting passenv (#4269) [Alec Warren]
  + DS VMware: modify a few log level (#4284) [PengpengSun]
  + tools/read-version refactors and unit tests (#4268)
  + Ensure get_features() grabs all features (#4285)
  + Don't always require passlib dependency (#4274)
  + tests: avoid leaks into host system checking of ovs-vsctl cmd (#4275)
  + Fix NoCloud kernel commandline key parsing (#4273)
  + testing: Clear all LRU caches after each test (#4249)
  + Remove the crypt dependency (#2139) [Gonéri Le Bouder]
  + logging: keep current file mode of log file if its stricter than the
    new mode (#4250) [Ani Sinha]
  + Remove default membership in redundant groups (#4258)
    [Dave Jones] (LP: #1923363)
  + doc: improve datasource_creation.rst (#4262)
  + Remove duplicate Integration testing button (#4261) [Rishita Shaw]
  + tools/read-version: fix the tool so that it can handle version parsing
    errors (#4234) [Ani Sinha]
  + net/dhcp: add udhcpc support (#4190) [Jean-François Roche]
  + DS VMware: add i386 arch dir to deployPkg plugin search path
    [PengpengSun]
  + LXD moved from linuxcontainers.org to Canonical [Simon Deziel]
  + cc_mounts.py: Add note about issue with creating mounts inside mounts
    (#4232) [dermotbradley]
  + lxd: install lxd from snap, not deb if absent in image
  + landscape: use landscape-config to write configuration
  + Add deprecation log during init of DataSourceDigitalOcean (#4194)
    [tyb-truth]
  + doc: fix typo on apt.primary.arches (#4238) [Dan Bungert]
  + Inspect systemd state for cloud-init status (#4230)
  + instance-data: add system-info and features to combined-cloud-config
    (#4224)
  + systemd: Block login until config stage completes (#2111) (LP: #2013403)
  + tests: proposed should invoke apt-get install -t=&lt;release&gt;-proposed
    (#4235)
  + cloud.cfg.tmpl: reinstate ca_certs entry (#4236) [dermotbradley]
  + Remove feature flag override ability (#4228)
  + tests: drop stray unrelated file presence test (#4227)
  + Update LXD URL (#4223) [Sally]
  + schema: add network v1 schema definition and validation functions
  + tests: daily PPA for devel series is version 99.daily update tests to
    match (#4225)
  + instance-data: write /run/cloud-init/combined-cloud-config.json
  + mount parse: Fix matching non-existent directories (#4222) [Mina Galić]
  + Specify build-system for pep517 (#4218)
  + Fix network v2 metric rendering (#4220)
  + Migrate content out of FAQ page (SD-1187) (#4205) [Sally]
  + setup: fix generation of init templates (#4209) [Mina Galić]
  + docs: Correct some bootcmd example wording
  + fix changelog
  + tests: reboot client to assert x-shellscript-per-boot is triggered
  + nocloud: parse_cmdline no longer detects nocloud-net datasource (#4204)
    (LP: 4203, #2025180)
  + Add docstring and typing to mergemanydict (#4200)
  + BSD: add dsidentify to early startup scripts (#4182) [Mina Galić]
  + handler: report errors on skipped merged cloud-config.txt parts
    (LP: #1999952)
  + Add cloud-init summit writeups (#4179) [Sally]
  + tests: Update test_clean_log for oci (#4187)
  + gce: improve ephemeral fallback NIC selection (CPC-2578) (#4163)
  + tests: pin pytest 7.3.1 to avoid adverse testpaths behavior (#4184)
  + Ephemeral Networking for FreeBSD (#2165) [Mina Galić]
  + Clarify directory syntax for nocloud local filesystem. (#4178)
  + Set default renderer as sysconfig for centos/rhel (#4165) [Ani Sinha]
  + Test static routes and netplan 0.106
  + FreeBSD fix parsing of mount and mount options (#2146) [Mina Galić]
  + test: add tracking bug id (#4164)
  + tests: can't match MAC for LXD container veth due to netplan 0.106
    (#4162)
  + Add kaiwalyakoparkar as a contributor (#4156) [Kaiwalya Koparkar]
  + BSD: remove datasource_list from cloud.cfg template (#4159) [Mina Galić]
  + launching salt-minion in masterless mode (#4110) [Denis Halturin]
  + tools: fix run-container builds for rockylinux/8 git hash mismatch
    (#4161)
  + fix doc lint: spellchecker tripped up (#4160) [Mina Galić]
  + Support Ephemeral Networking for BSD (#2127)
  + Added / fixed support for static routes on OpenBSD and FreeBSD (#2157)
    [Kadir Mueller]
  + cc_rsyslog: Refactor for better multi-platform support (#4119)
    [Mina Galić] (LP: #1798055)
  + tests: fix test_lp1835584 (#4154)
  + cloud.cfg mod names: docs and rename salt_minion and set_password (#4153)
  + tests: apt support for deb822 format .sources files on mantic
  + vultr: remove check_route check (#2151) [Jonas Chevalier]
  + Update SECURITY.md (#4150) [Indrranil Pawar]
  + Update CONTRIBUTING.rst (#4149) [Indrranil Pawar]
  + Update .github-cla-signers (#4151) [Indrranil Pawar]
  + Standardise module names in cloud.cfg.tmpl to only use underscore
    (#4128) [dermotbradley]
  + tests: update test_webhook_reporting
  + Modify PR template so autoclose works
  + doc: add missing semi-colon to nocloud cmdline docs (#4120)
  + .gitignore: extend coverage pattern (#4143) [Mina Galić]
  From 23.2.2
  + Fix NoCloud kernel commandline key parsing (#4273) (Fixes: #4271)
    (LP: #2028562)
  + Fix reference before assignment (#4292) (Fixes: #4288) (LP: #2028784)
  From 23.2.1
  + nocloud: Fix parse_cmdline detection of nocloud-net datasource (#4204)
    (Fixes: 4203) (LP: #2025180)
  From 23.2
  + BSD: simplify finding MBR partitions by removing duplicate code
  [Mina Galić]
  + tests: bump pycloudlib version for mantic builds
  + network-manager: Set higher autoconnect priority for nm keyfiles (#3671)
    [Ani Sinha]
  + alpine.py: change the locale file used (#4139) [dermotbradley]
  + cc_ntp: Sync up with current FreeBSD ntp.conf (#4122) [Mina Galić]
  + config: drop refresh_rmc_and_interface as RHEL 7 no longer supported
    [Robert Schweikert]
  + docs: Add feedback button to docs
  + net/sysconfig: enable sysconfig renderer if network manager has ifcfg-rh
    plugin (#4132) [Ani Sinha]
  + For Alpine use os-release PRETTY_NAME (#4138) [dermotbradley]
  + network_manager: add a method for ipv6 static IP configuration (#4127)
    [Ani Sinha]
  + correct misnamed template file host.mariner.tmpl (#4124) [dermotbradley]
  + nm: generate ipv6 stateful dhcp config at par with sysconfig (#4115)
    [Ani Sinha]
  + Add templates for GitHub Issues
  + Add 'peers' and 'allow' directives in cc_ntp (#3124) [Jacob Salmela]
  + FreeBSD: Fix user account locking (#4114) [Mina Galić] (GH: #1854594)
  + FreeBSD: add ResizeGrowFS class to cc_growpart (#2334) [Mina Galić]
  + Update tests in Azure TestCanDevBeReformatted class (#2771)
    [Ksenija Stanojevic]
  + Replace Launchpad references with GitHub Issues
  + Fix KeyError in iproute pformat (#3287) [Dmitry Zykov]
  + schema: read_cfg_paths call init.fetch to lookup /v/l/c/instance
  + azure/errors: introduce reportable errors for imds (#3647)
    [Chris Patterson]
  + FreeBSD (and friends): better identify MBR slices (#2168)
    [Mina Galić] (LP: #2016350)
  + azure/errors: add host reporting for dhcp errors (#2167)
    [Chris Patterson]
  + net: purge blacklist_drivers across net and azure (#2160)
    [Chris Patterson]
  + net: refactor hyper-v VF filtering and apply to get_interfaces() (#2153)
    [Chris Patterson]
  + tests: avoid leaks to underlying filesystem for /etc/cloud/clean.d
    (#2251)
  + net: refactor find_candidate_nics_on_linux() to use get_interfaces()
    (#2159) [Chris Patterson]
  + resolv_conf: Allow &gt; 3 nameservers (#2152) [Major Hayden]
  + Remove mount NTFS error message (#2134) [Ksenija Stanojevic]
  + integration tests: fix image specification parsing (#2166)
  + ci: add hypothesis scheduled GH check (#2149)
  + Move supported distros list to docs (#2162)
  + Fix logger, use instance rather than module function (#2163)
  + README: Point to Github Actions build status (#2158)
  + Revert "fix linux-specific code on bsd (#2143)" (#2161)
  + Do not generate dsa and ed25519 key types when crypto FIPS mode is
    enabled (#2142) [Ani Sinha] (LP: 2017761)
  + Add documentation label automatically (#2156)
  + sources/azure: report success to host and introduce kvp module (#2141)
    [Chris Patterson]
  + setup.py: use pkg-config for udev/rules path (#2137) [dankm]
  + openstack/static: honor the DNS servers associated with a network
    (#2138) [Gonéri Le Bouder]
  + fix linux-specific code on bsd (#2143)
  + cli: schema validation of jinja template user-data (SC-1385) (#2132)
    (LP: #1881925)
  + gce: activate network discovery on every boot (#2128)
  + tests: update integration test to assert 640 across reboots (#2145)
  + Make user/vendor data sensitive and remove log permissions (#2144)
    (LP: #2013967)
  + Update kernel command line docs (SC-1457) (#2133)
  + docs: update network configuration path links (#2140) [d1r3ct0r]
  + sources/azure: report failures to host via kvp (#2136) [Chris Patterson]
  + net: Document use of `ip route append` to add routes (#2130)
  + dhcp: Add missing mocks (#2135)
  + azure/imds: retry fetching metadata up to 300 seconds (#2121)
    [Chris Patterson]
  + [1/2] DHCP: Refactor dhcp client code  (#2122)
  + azure/errors: treat traceback_base64 as string (#2131) [Chris Patterson]
  + azure/errors: introduce reportable errors (#2129) [Chris Patterson]
  + users: schema permit empty list to indicate create no users
  + azure: introduce identity module (#2116) [Chris Patterson]
  + Standardize disabling cloud-init on non-systemd (#2112)
  + Update .github-cla-signers (#2126) [Rob Tongue]
  + NoCloud: Use seedfrom protocol to determine mode (#2107)
  + rhel: Remove sysvinit files. (#2114)
  + tox.ini: set -vvvv --showlocals for pytest (#2104) [Chris Patterson]
  + Fix NoCloud kernel commandline semi-colon args
  + run-container: make the container/VM timeout configurable (#2118)
    [Paride Legovini]
  + suse: Remove sysvinit files. (#2115)
  + test: Backport assert_call_count for old requests (#2119)
  + Add "licebmi" as contributor (#2113) [Mark Martinez]
  + Adapt DataSourceScaleway to upcoming IPv6 support (#2033)
    [Louis Bouchard]
  + rhel: make sure previous-hostname file ends with a new line (#2108)
    [Ani Sinha]
  + Adding contributors for DataSourceAkamai (#2110) [acourdavAkamai]
  + Cleanup ephemeral IP routes on exception (#2100) [sxt1001]
  + commit 09a64badfb3f51b1b391fa29be19962381a4bbeb [sxt1001] (LP: #2011291)
  + Standardize kernel commandline user interface (#2093)
  + config/cc_resizefs: fix do_resize arguments (#2106) [Chris Patterson]
  + Fix test_dhclient_exits_with_error (#2105)
  + net/dhcp: catch dhclient failures and raise NoDHCPLeaseError (#2083)
    [Chris Patterson]
  + sources/azure: move pps handling out of _poll_imds() (#2075)
    [Chris Patterson]
  + tests: bump pycloudlib version (#2102)
  + schema: do not manipulate draft4 metaschema for jsonschema 2.6.0 (#2098)
  + sources/azure/imds: don't count timeout errors as connection errors
    (#2074) [Chris Patterson]
  + Fix Python 3.12 unit test failures (#2099)
  + integration tests: Refactor instance checking (#1989)
  + ci: migrate remaining jobs from travis to gh (#2085)
  + missing ending quote in instancedata docs(#2094) [Hong L]
  + refactor: stop passing log instances to cc_* handlers (#2016) [d1r3ct0r]
  + tests/vmware: fix test_no_data_access_method failure (#2092)
    [Chris Patterson]
  + Don't change permissions of netrules target (#2076) (LP: #2011783)
  + tests/sources: patch util.get_cmdline() for datasource tests (#2091)
    [Chris Patterson]
  + macs: ignore duplicate MAC for devs with driver driver qmi_wwan (#2090)
    (LP: #2008888)
  + Fedora: Enable CA handling (#2086) [František Zatloukal]
  + Send dhcp-client-identifier for InfiniBand ports (#2043) [Waleed Mousa]
  + cc_ansible: complete the examples and doc (#2082) [Yves]
  + bddeb: for dev package, derive debhelper-compat from host system
  + apport: only prompt for cloud_name when instance-data.json is absent
  + datasource: Optimize datasource detection, fix bugs (#2060)
  + Handle non existent ca-cert-config situation (#2073) [Shreenidhi Shedi]
  + sources/azure: add networking check for all source PPS (#2061)
    [Chris Patterson]
  + do not attempt dns resolution on ip addresses (#2040)
  + chore: fix style tip (#2071)
  + Fix metadata IP in instancedata.rst (#2063) [Brian Haley]
  + util: Pass deprecation schedule in deprecate_call() (#2064)
  + config: Update grub-dpkg docs (#2058)
  + docs: Cosmetic improvements and styling (#2057) [s-makin]
  + cc_grub_dpkg: Added UEFI support (#2029) [Alexander Birkner]
  + tests: Write to /var/spool/rsyslog to adhere to apparmor profile (#2059)
  + oracle-ds: prefer system_cfg over ds network config source (#1998)
    (LP: #1956788)
  + Remove dead code (#2038)
  + source: Force OpenStack when it is only option (#2045) (LP: #2008727)
  + cc_ubuntu_advantage: improve UA logs discovery
  + sources/azure: fix regressions in IMDS behavior (#2041) [Chris Patterson]
  + tests: fix test_schema (#2042)
  + dhcp: Cleanup unused kwarg (#2037)
  + sources/vmware/imc: fix-missing-catch-few-negtive-scenarios (#2027)
    [PengpengSun]
  + dhclient_hook: remove vestigal dhclient_hook command (#2015)
  + log: Add standardized deprecation tooling (SC-1312) (#2026)
  + Enable SUSE based distros for ca handling (#2036) [Robert Schweikert]
  From 23.1.2
  + Make user/vendor data sensitive and remove log permissions
    (LP: #2013967) (CVE-2023-1786)
  From 23.1.1
  + source: Force OpenStack when it is only option (#2045)
  + sources/azure: fix regressions in IMDS behavior (#2041)
    [Chris Patterson]</changelog>
  <changelog author="Michal Vyskocil &lt;michal.vyskocil@gmail.com&gt;" date="1701432000">- Move fdupes call back to %install (boo#1214169)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1702641600">- Switch build dependency to the generic distribution-release package</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705665600">- Add cloud-init-pckg-reboot.patch (boo#1198533, bsc#1218952,  jsc#SMO-326)
  + Support reboot on package update/upgrade via the cloud-init config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705752000">- Add cloud-init-skip-empty-conf.patch
  + Skip tests with empty config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1708430400">- Prepare for RPM 4.20 switch patch syntax</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1709726400">- Hardcode distribution to suse for proper cloud.cfg generation
  (bsc#1220132).</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1711627200">- Add  cloud-init-ds-deterministic.patch (bsc#1221132)
  + Do not guess a data source when checking for a CloudStack
    environment</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318400">- Add cloud-init-no-openstack-guess.patch (bsc#1222113)
  + Do not guess if we are running on OpenStack or not. Only recognize
    the known markers and enable cloud-init if we know for sure.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318401">- Add cloud-init-no-nmcfg-needed.patch (bsc#1221726)
  + Do not require a NetworkManager config file in order to detect
    NetworkManager as the renderer</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712664000">- Update cloud-init-no-openstack-guess.patch
  + Do not enable cloud-init on systems where there is no DMI just
    because no data source has been found. No data source means
    cloud-init will not run.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1714392000">- Add cloud-init-usr-sudoers.patch (bsc#1223469)
  + Handle the existence of /usr/etc/sudoers to search for the expected
    include location</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1717416000">- Add cloud-init-skip-rename.patch (bsc#1219680)
  + Brute force appraoch to skip renames if the device is already present</changelog>
</package>
<package pkgid="043cc281921b2b85059bad2b2b388b86e52547d14cbf0e7479f1c169adff4e120dfd5ca79d19349231f4e8d41805c5b6659270d2379b659c806cc004239eb50c" name="cloud-init-doc" arch="x86_64">
  <version epoch="0" ver="23.3" rel="13.0.4.1.sr20240605"/>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1677153600">- Update to version 23.1
  + Remove patches included upstream:
  - cloud-init-btrfs-queue-resize.patch
  - cloud-init-micro-is-suse.patch
  - cloud-init-suse-afternm.patch
  - cloud-init-prefer-nm.patch
  - cloud-init-transact-up.patch
  + Forward port
  - cloud-init-write-routes.patch
  + Added
  - cloud-init-fix-ca-test.patch
  + Support transactional-updates for SUSE based distros (#1997)
    [Robert Schweikert]
  + Set ownership for new folders in Write Files Module (#1980)
    [Jack] (LP: #1990513)
  + add OpenCloudOS and TencentOS support (#1964) [wynnfeng]
  + lxd: Retry if the server isn't ready (#2025)
  + test: switch pycloudlib source to pypi (#2024)
  + test: Fix integration test deprecation message (#2023)
  + Recognize opensuse-microos, dev tooling fixes [Robert Schweikert]
  + sources/azure: refactor imds handler into own module (#1977)
    [Chris Patterson]
  + docs: deprecation generation support [1/2] (#2013)
  + add function is_virtual to distro/FreeBSD (#1957) [Mina Galić]
  + cc_ssh: support multiple hostcertificates (#2018) (LP: #1999164)
  + Fix minor schema validation regression and fixup typing (#2017)
  + doc: Reword user data debug section (#2019)
  + Overhaul/rewrite of certificate handling as follows: (#1962)
    [dermotbradley] (LP: #1931174)
  + disk_setup: use byte string when purging the partition table (#2012)
    [Stefan Prietl]
  + cli: schema also validate vendordata*.
  + ci: sort and add checks for cla signers file [Stefan Prietl]
  + Add "ederst" as contributor (#2010) [Stefan Prietl]
  + readme: add reference to packages dir (#2001)
  + docs: update downstream package list (#2002)
  + docs: add google search verification (#2000) [s-makin]
  + docs: fix 404 render use default notfound_urls_prefix in RTD conf (#2004)
  + Fix OpenStack datasource detection on bare metal (#1923)
    [Alexander Birkner] (LP: #1815990)
  + docs: add themed RTD 404 page and pointer to readthedocs-hosted (#1993)
  + schema: fix gpt labels, use type string for GUID (#1995)
  + cc_disk_setup: code cleanup (#1996)
  + netplan: keep custom strict perms when 50-cloud-init.yaml exists
  + cloud-id: better handling of change in datasource files
    [d1r3ct0r] (LP: #1998998)
  + tests: Remove restart check from test
  + Ignore duplicate macs from mscc_felix and fsl_enetc (LP: #1997922)
  + Warn on empty network key (#1990)
  + Fix Vultr cloud_interfaces usage (#1986) [eb3095]
  + cc_puppet: Update puppet service name (#1970) [d1r3ct0r] (LP: #2002969)
  + docs: Clarify networking docs (#1987)
  + lint: remove httpretty (#1985) [sxt1001]
  + cc_set_passwords: Prevent traceback when restarting ssh (#1981)
  + tests: fix lp1912844 (#1978)
  + tests: Skip ansible test on bionic (#1984)
  + Wait for NetworkManager (#1983) [Robert Schweikert]
  + docs: minor polishing (#1979) [s-makin]
  + CI: migrate integration-test to GH actions (#1969)
  + Fix permission of SSH host keys (#1971) [Ron Gebauer]
  + Fix default route rendering on v2 ipv6 (#1973) (LP: #2003562)
  + doc: fix path in net_convert command (#1975)
  + docs: update net_convert docs (#1974)
  + doc: fix dead link
  + cc_set_hostname: ignore /var/lib/cloud/data/set-hostname if it's empty
    (#1967) [Emanuele Giuseppe Esposito]
  + distros/rhel.py: _read_hostname() missing strip on "hostname" (#1941)
    [Mark Mielke]
  + integration tests: add  IBM VPC support (SC-1352) (#1915)
  + machine-id: set to uninitialized to trigger regeneration on clones
    (LP: #1999680)
  + sources/azure: retry on connection error when fetching metdata (#1968)
    [Chris Patterson]
  + Ensure ssh state accurately obtained (#1966)
  + bddeb: drop dh-systemd dependency on newer deb-based releases [d1r3ct0r]
  + doc: fix `config formats` link in cloudsigma.rst (#1960)
  + Fix wrong subp syntax in cc_set_passwords.py (#1961)
  + docs: update the PR template link to readthedocs (#1958) [d1r3ct0r]
  + ci: switch unittests to gh actions (#1956)
  + Add mount_default_fields for PhotonOS. (#1952) [Shreenidhi Shedi]
  + sources/azure: minor refactor for metadata source detection logic
    (#1936) [Chris Patterson]
  + add "CalvoM" as contributor (#1955) [d1r3ct0r]
  + ci: doc to gh actions (#1951)
  + lxd: handle 404 from missing devices route for LXD 4.0 (LP: #2001737)
  + docs: Diataxis overhaul (#1933) [s-makin]
  + vultr: Fix issue regarding cache and region codes (#1938) [eb3095]
  + cc_set_passwords: Move ssh status checking later (SC-1368) (#1909)
    (LP: #1998526)
  + Improve Wireguard module idempotency (#1940) [Fabian Lichtenegger-Lukas]
  + network/netplan: add gateways as on-link when necessary (#1931)
    [Louis Sautier] (LP: #2000596)
  + tests: test_lxd assert features.networks.zones when present (#1939)
  + Use btrfs enquque when available (#1926) [Robert Schweikert]
  + sources/azure: drop description for report_failure_to_fabric() (#1934)
    [Chris Patterson]
  + cc_disk_setup.py: fix MBR single partition creation (#1932)
    [dermotbradley] (LP: #1851438)
  + Fix typo with package_update/package_upgrade (#1927) [eb3095]
  + sources/azure: fix device driver matching for net config (#1914)
    [Chris Patterson]
  + BSD: fix duplicate macs in Ifconfig parser (#1917) [Mina Galić]
  + test: mock dns calls (#1922)
  + pycloudlib: add lunar support for integration tests (#1928)
  + nocloud: add support for dmi variable expansion for seedfrom URL
    (LP: #1994980)
  + tools: read-version drop extra call to git describe --long
  + doc: improve cc_write_files doc (#1916)
  + read-version: When insufficient tags, use cloudinit.version.get_version
  + mounts: document weird prefix in schema (#1913)
  + add utility function test cases (#1910) [sxt1001]
  + test: mock file deletion in dhcp tests (#1911)
  + Ensure network ready before cloud-init service runs on RHEL (#1893)
    (LP: #1998655)
  + docs: add copy button to code blocks (#1890) [s-makin]
  + netplan: define features.NETPLAN_CONFIG_ROOT_READ_ONLY flag
  + azure: fix support for systems without az command installed (#1908)
  + Networking Clarification (#1892)
  + Fix the distro.osfamily output problem in the openEuler system. (#1895)
    [sxt1001] (LP: #1999042)
  + pycloudlib: bump commit dropping azure api smoke test
  + net: netplan config root read-only as wifi config can contain creds
  + autoinstall: clarify docs for users
  + sources/azure: encode health report as utf-8 (#1897) [Chris Patterson]
  + Add back gateway4/6 deprecation to docs (#1898)
  + networkd: Add support for multiple [Route] sections (#1868)
    [Nigel Kukard]
  + doc: add qemu tutorial (#1863)
  + lint: fix tip-flake8 and tip-mypy (#1896)
  + Add support for setting uid when creating users on FreeBSD (#1888)
    [einsibjarni]
  + Fix exception in BSD networking code-path (#1894) [Mina Galić]
  + Append derivatives to is_rhel list in cloud.cfg.tmpl (#1887) [Louis Abel]
  + FreeBSD init: use cloudinit_enable as only rcvar (#1875) [Mina Galić]
  + feat: add support aliyun metadata security harden mode (#1865)
    [Manasseh Zhou]
  + docs: uprate analyze to performance page [s-makin]
  + test: fix lxd preseed managed network config (#1881)
  + Add support for static IPv6 addresses for FreeBSD (#1839) [einsibjarni]
  + Make 3.12 failures not fail the build (#1873)
  + Docs: adding relative links [s-makin]
  + Update read-version
  + Fix setup.py to align with PEP 440 versioning replacing trailing
  + travis: promote 3.11-dev to 3.11 (#1866)
  + test_cloud_sigma: delete useless test (#1828) [sxt1001]
  + Add "nkukard" as contributor (#1864) [Nigel Kukard]
  + tests: ds-id mocks for vmware-rpctool as utility may not exist in env
  + doc: add how to render new module doc (#1855)
  + doc: improve module creation explanation (#1851)
  + Add Support for IPv6 metadata to OpenStack (#1805)
    [Marvin Vogt] (LP: #1906849)
  + add xiaoge1001 to .github-cla-signers (#1854) [sxt1001]
  + network: Deprecate gateway{4,6} keys in network config v2 (#1794)
    (LP: #1992512)
  + VMware: Move Guest Customization transport from OVF to VMware (#1573)
    [PengpengSun]
  + doc: home page links added (#1852) [s-makin]
  From 22.4.2
  + status: handle ds not defined in status.json (#1876) (LP: #1997559)
  From 22.4.1
  + net: skip duplicate mac check for netvsc nic and its VF (#1853)
    [Anh Vo] (LP: #1844191)
  + ChangeLog: whitespace cleanup (#1850)
  + changelog: capture 22.3.1-4 releases</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1681214400">- Sensitive data exposure (bsc#1210277, CVE-2023-1786)
  + Add hidesensitivedata
  + Add cloud-init-cve-2023-1786-redact-inst-data.patch
  + Do not expose sensitive data gathered from the CSP</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1682596800">- Add cloud-init-power-rhel-only.patch (bsc#1210273)
  + Config module cc_refresh_rmc_and_interface is implemented such that
    it will only work on RH distros. Set the module availability accordingly.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1688644800">- Update cloud-init-write-routes.patch (bsc#1212879)
  + Add necessary import statement
- Enable flake8 linting, fix up patches
  + cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  + cloud-init-power-rhel-only.patch
  + cloud-init-write-routes.patch
  + datasourceLocalDisk.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1691928000">- update to 23.1.2:
  * Make user/vendor data sensitive and remove log permissions
  * source: Force OpenStack when it is only option (#2045)
  * sources/azure: fix regressions in IMDS behavior
- drop
  cloud-init-cve-2023-1786-redact-instance-data-json-main.patch (upstream)
- spec-file cleanups, including dropping flake8 (as build fails
  with newer flake8 versions)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1692014400">- Add cloud-init-flake8-fixes.patch
- Revert chnages from previous commit
  + Disabling checks the primary maintainer enabled for specific reasons
    is not a fix.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1696852800">- Update to version 23.3 (bsc#1216011, bsc#1215794, bsc#1215740)
  + Remove patches included upstream:
  - cloud-init-fix-ca-test.patch
  - cloud-init-cve-2023-1786-redact-instance-data-json-main.patch
  - cloud-init-power-rhel-only.patch
  - cloud-init-flake8-fixes.patch
  + Add
  - cloud-init-keep-flake.patch
  - cloud-init-lint-fixes.patch
  + Update
  - cloud-init-write-routes.patch (bsc#1216007)
  + Bump pycloudlib to 1!5.1.0 for ec2 mantic daily image support (#4390)
  + Fix cc_keyboard in mantic (LP: #2030788)
  + ec2: initialize get_instance_userdata return value to bytes (#4387)
    [Noah Meyerhans]
  + cc_users_groups: Add doas/opendoas support (#4363) [dermotbradley]
  + Fix pip-managed ansible
  + status: treat SubState=running and MainPID=0 as service exited
  + azure/imds: increase read-timeout to 30s (#4372) [Chris Patterson]
  + collect-logs fix memory usage (SC-1590) (#4289)
    [Alec Warren] (LP: #1980150)
  + cc_mounts: Use fallocate to create swapfile on btrfs (#4369) [王煎饼]
  + Undocument nocloud-net (#4318)
  + feat(akamai): add akamai to settings.py and apport.py (#4370)
  + read-version: fallback to get_version when git describe fails (#4366)
  + apt: fix cloud-init status --wait blocking on systemd v 253 (#4364)
  + integration tests: Pass username to pycloudlib (#4324)
  + Bump pycloudlib to 1!5.1.0 (#4353)
  + cloud.cfg.tmpl: reorganise, minimise/reduce duplication (#4272)
    [dermotbradley]
  + analyze: fix (unexpected) timestamp parsing (#4347) [Mina Galić]
  + cc_growpart: fix tests to run on FreeBSD (#4351) [Mina Galić]
  + subp: Fix spurious test failure on FreeBSD (#4355) [Mina Galić]
  + cmd/clean: fix tests on non-Linux platforms (#4352) [Mina Galić]
  + util: Fix get_proc_ppid() on non-Linux systems (#4348) [Mina Galić]
  + cc_wireguard: make tests pass on FreeBSD (#4346) [Mina Galić]
  + unittests: fix breakage in test_read_cfg_paths_fetches_cached_datasource
    (#4328) [Ani Sinha]
  + Fix test_tools.py collection (#4315)
  + cc_keyboard: add Alpine support (#4278) [dermotbradley]
  + Flake8 fixes (#4340) [Robert Schweikert]
  + cc_mounts: Fix swapfile not working on btrfs (#4319) [王煎饼] (LP: #1884127)
  + ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen (#4281)
    [Wei Zhou]
  + ec2: Support double encoded userdata (#4276) [Noah Meyerhans]
  + cc_mounts: xfs is a Linux only FS (#4334) [Mina Galić]
  + tests/net: fix TestGetInterfaces' mock coverage for get_master (#4336)
    [Chris Patterson]
  + change openEuler to openeuler and fix some bugs in openEuler (#4317)
    [sxt1001]
  + Replace flake8 with ruff (#4314)
  + NM renderer: set default IPv6 addr-gen-mode for all interfaces to eui64
    (#4291) [Ani Sinha]
  + cc_ssh_import_id: add Alpine support and add doas support (#4277)
    [dermotbradley]
  + sudoers not idempotent (SC-1589)  (#4296) [Alec Warren] (LP: #1998539)
  + Added support for Akamai Connected Cloud (formerly Linode) (#4167)
    [Will Smith]
  + Fix reference before assignment (#4292)
  + Overhaul module reference page (#4237) [Sally]
  + replaced spaces with commas for setting passenv (#4269) [Alec Warren]
  + DS VMware: modify a few log level (#4284) [PengpengSun]
  + tools/read-version refactors and unit tests (#4268)
  + Ensure get_features() grabs all features (#4285)
  + Don't always require passlib dependency (#4274)
  + tests: avoid leaks into host system checking of ovs-vsctl cmd (#4275)
  + Fix NoCloud kernel commandline key parsing (#4273)
  + testing: Clear all LRU caches after each test (#4249)
  + Remove the crypt dependency (#2139) [Gonéri Le Bouder]
  + logging: keep current file mode of log file if its stricter than the
    new mode (#4250) [Ani Sinha]
  + Remove default membership in redundant groups (#4258)
    [Dave Jones] (LP: #1923363)
  + doc: improve datasource_creation.rst (#4262)
  + Remove duplicate Integration testing button (#4261) [Rishita Shaw]
  + tools/read-version: fix the tool so that it can handle version parsing
    errors (#4234) [Ani Sinha]
  + net/dhcp: add udhcpc support (#4190) [Jean-François Roche]
  + DS VMware: add i386 arch dir to deployPkg plugin search path
    [PengpengSun]
  + LXD moved from linuxcontainers.org to Canonical [Simon Deziel]
  + cc_mounts.py: Add note about issue with creating mounts inside mounts
    (#4232) [dermotbradley]
  + lxd: install lxd from snap, not deb if absent in image
  + landscape: use landscape-config to write configuration
  + Add deprecation log during init of DataSourceDigitalOcean (#4194)
    [tyb-truth]
  + doc: fix typo on apt.primary.arches (#4238) [Dan Bungert]
  + Inspect systemd state for cloud-init status (#4230)
  + instance-data: add system-info and features to combined-cloud-config
    (#4224)
  + systemd: Block login until config stage completes (#2111) (LP: #2013403)
  + tests: proposed should invoke apt-get install -t=&lt;release&gt;-proposed
    (#4235)
  + cloud.cfg.tmpl: reinstate ca_certs entry (#4236) [dermotbradley]
  + Remove feature flag override ability (#4228)
  + tests: drop stray unrelated file presence test (#4227)
  + Update LXD URL (#4223) [Sally]
  + schema: add network v1 schema definition and validation functions
  + tests: daily PPA for devel series is version 99.daily update tests to
    match (#4225)
  + instance-data: write /run/cloud-init/combined-cloud-config.json
  + mount parse: Fix matching non-existent directories (#4222) [Mina Galić]
  + Specify build-system for pep517 (#4218)
  + Fix network v2 metric rendering (#4220)
  + Migrate content out of FAQ page (SD-1187) (#4205) [Sally]
  + setup: fix generation of init templates (#4209) [Mina Galić]
  + docs: Correct some bootcmd example wording
  + fix changelog
  + tests: reboot client to assert x-shellscript-per-boot is triggered
  + nocloud: parse_cmdline no longer detects nocloud-net datasource (#4204)
    (LP: 4203, #2025180)
  + Add docstring and typing to mergemanydict (#4200)
  + BSD: add dsidentify to early startup scripts (#4182) [Mina Galić]
  + handler: report errors on skipped merged cloud-config.txt parts
    (LP: #1999952)
  + Add cloud-init summit writeups (#4179) [Sally]
  + tests: Update test_clean_log for oci (#4187)
  + gce: improve ephemeral fallback NIC selection (CPC-2578) (#4163)
  + tests: pin pytest 7.3.1 to avoid adverse testpaths behavior (#4184)
  + Ephemeral Networking for FreeBSD (#2165) [Mina Galić]
  + Clarify directory syntax for nocloud local filesystem. (#4178)
  + Set default renderer as sysconfig for centos/rhel (#4165) [Ani Sinha]
  + Test static routes and netplan 0.106
  + FreeBSD fix parsing of mount and mount options (#2146) [Mina Galić]
  + test: add tracking bug id (#4164)
  + tests: can't match MAC for LXD container veth due to netplan 0.106
    (#4162)
  + Add kaiwalyakoparkar as a contributor (#4156) [Kaiwalya Koparkar]
  + BSD: remove datasource_list from cloud.cfg template (#4159) [Mina Galić]
  + launching salt-minion in masterless mode (#4110) [Denis Halturin]
  + tools: fix run-container builds for rockylinux/8 git hash mismatch
    (#4161)
  + fix doc lint: spellchecker tripped up (#4160) [Mina Galić]
  + Support Ephemeral Networking for BSD (#2127)
  + Added / fixed support for static routes on OpenBSD and FreeBSD (#2157)
    [Kadir Mueller]
  + cc_rsyslog: Refactor for better multi-platform support (#4119)
    [Mina Galić] (LP: #1798055)
  + tests: fix test_lp1835584 (#4154)
  + cloud.cfg mod names: docs and rename salt_minion and set_password (#4153)
  + tests: apt support for deb822 format .sources files on mantic
  + vultr: remove check_route check (#2151) [Jonas Chevalier]
  + Update SECURITY.md (#4150) [Indrranil Pawar]
  + Update CONTRIBUTING.rst (#4149) [Indrranil Pawar]
  + Update .github-cla-signers (#4151) [Indrranil Pawar]
  + Standardise module names in cloud.cfg.tmpl to only use underscore
    (#4128) [dermotbradley]
  + tests: update test_webhook_reporting
  + Modify PR template so autoclose works
  + doc: add missing semi-colon to nocloud cmdline docs (#4120)
  + .gitignore: extend coverage pattern (#4143) [Mina Galić]
  From 23.2.2
  + Fix NoCloud kernel commandline key parsing (#4273) (Fixes: #4271)
    (LP: #2028562)
  + Fix reference before assignment (#4292) (Fixes: #4288) (LP: #2028784)
  From 23.2.1
  + nocloud: Fix parse_cmdline detection of nocloud-net datasource (#4204)
    (Fixes: 4203) (LP: #2025180)
  From 23.2
  + BSD: simplify finding MBR partitions by removing duplicate code
  [Mina Galić]
  + tests: bump pycloudlib version for mantic builds
  + network-manager: Set higher autoconnect priority for nm keyfiles (#3671)
    [Ani Sinha]
  + alpine.py: change the locale file used (#4139) [dermotbradley]
  + cc_ntp: Sync up with current FreeBSD ntp.conf (#4122) [Mina Galić]
  + config: drop refresh_rmc_and_interface as RHEL 7 no longer supported
    [Robert Schweikert]
  + docs: Add feedback button to docs
  + net/sysconfig: enable sysconfig renderer if network manager has ifcfg-rh
    plugin (#4132) [Ani Sinha]
  + For Alpine use os-release PRETTY_NAME (#4138) [dermotbradley]
  + network_manager: add a method for ipv6 static IP configuration (#4127)
    [Ani Sinha]
  + correct misnamed template file host.mariner.tmpl (#4124) [dermotbradley]
  + nm: generate ipv6 stateful dhcp config at par with sysconfig (#4115)
    [Ani Sinha]
  + Add templates for GitHub Issues
  + Add 'peers' and 'allow' directives in cc_ntp (#3124) [Jacob Salmela]
  + FreeBSD: Fix user account locking (#4114) [Mina Galić] (GH: #1854594)
  + FreeBSD: add ResizeGrowFS class to cc_growpart (#2334) [Mina Galić]
  + Update tests in Azure TestCanDevBeReformatted class (#2771)
    [Ksenija Stanojevic]
  + Replace Launchpad references with GitHub Issues
  + Fix KeyError in iproute pformat (#3287) [Dmitry Zykov]
  + schema: read_cfg_paths call init.fetch to lookup /v/l/c/instance
  + azure/errors: introduce reportable errors for imds (#3647)
    [Chris Patterson]
  + FreeBSD (and friends): better identify MBR slices (#2168)
    [Mina Galić] (LP: #2016350)
  + azure/errors: add host reporting for dhcp errors (#2167)
    [Chris Patterson]
  + net: purge blacklist_drivers across net and azure (#2160)
    [Chris Patterson]
  + net: refactor hyper-v VF filtering and apply to get_interfaces() (#2153)
    [Chris Patterson]
  + tests: avoid leaks to underlying filesystem for /etc/cloud/clean.d
    (#2251)
  + net: refactor find_candidate_nics_on_linux() to use get_interfaces()
    (#2159) [Chris Patterson]
  + resolv_conf: Allow &gt; 3 nameservers (#2152) [Major Hayden]
  + Remove mount NTFS error message (#2134) [Ksenija Stanojevic]
  + integration tests: fix image specification parsing (#2166)
  + ci: add hypothesis scheduled GH check (#2149)
  + Move supported distros list to docs (#2162)
  + Fix logger, use instance rather than module function (#2163)
  + README: Point to Github Actions build status (#2158)
  + Revert "fix linux-specific code on bsd (#2143)" (#2161)
  + Do not generate dsa and ed25519 key types when crypto FIPS mode is
    enabled (#2142) [Ani Sinha] (LP: 2017761)
  + Add documentation label automatically (#2156)
  + sources/azure: report success to host and introduce kvp module (#2141)
    [Chris Patterson]
  + setup.py: use pkg-config for udev/rules path (#2137) [dankm]
  + openstack/static: honor the DNS servers associated with a network
    (#2138) [Gonéri Le Bouder]
  + fix linux-specific code on bsd (#2143)
  + cli: schema validation of jinja template user-data (SC-1385) (#2132)
    (LP: #1881925)
  + gce: activate network discovery on every boot (#2128)
  + tests: update integration test to assert 640 across reboots (#2145)
  + Make user/vendor data sensitive and remove log permissions (#2144)
    (LP: #2013967)
  + Update kernel command line docs (SC-1457) (#2133)
  + docs: update network configuration path links (#2140) [d1r3ct0r]
  + sources/azure: report failures to host via kvp (#2136) [Chris Patterson]
  + net: Document use of `ip route append` to add routes (#2130)
  + dhcp: Add missing mocks (#2135)
  + azure/imds: retry fetching metadata up to 300 seconds (#2121)
    [Chris Patterson]
  + [1/2] DHCP: Refactor dhcp client code  (#2122)
  + azure/errors: treat traceback_base64 as string (#2131) [Chris Patterson]
  + azure/errors: introduce reportable errors (#2129) [Chris Patterson]
  + users: schema permit empty list to indicate create no users
  + azure: introduce identity module (#2116) [Chris Patterson]
  + Standardize disabling cloud-init on non-systemd (#2112)
  + Update .github-cla-signers (#2126) [Rob Tongue]
  + NoCloud: Use seedfrom protocol to determine mode (#2107)
  + rhel: Remove sysvinit files. (#2114)
  + tox.ini: set -vvvv --showlocals for pytest (#2104) [Chris Patterson]
  + Fix NoCloud kernel commandline semi-colon args
  + run-container: make the container/VM timeout configurable (#2118)
    [Paride Legovini]
  + suse: Remove sysvinit files. (#2115)
  + test: Backport assert_call_count for old requests (#2119)
  + Add "licebmi" as contributor (#2113) [Mark Martinez]
  + Adapt DataSourceScaleway to upcoming IPv6 support (#2033)
    [Louis Bouchard]
  + rhel: make sure previous-hostname file ends with a new line (#2108)
    [Ani Sinha]
  + Adding contributors for DataSourceAkamai (#2110) [acourdavAkamai]
  + Cleanup ephemeral IP routes on exception (#2100) [sxt1001]
  + commit 09a64badfb3f51b1b391fa29be19962381a4bbeb [sxt1001] (LP: #2011291)
  + Standardize kernel commandline user interface (#2093)
  + config/cc_resizefs: fix do_resize arguments (#2106) [Chris Patterson]
  + Fix test_dhclient_exits_with_error (#2105)
  + net/dhcp: catch dhclient failures and raise NoDHCPLeaseError (#2083)
    [Chris Patterson]
  + sources/azure: move pps handling out of _poll_imds() (#2075)
    [Chris Patterson]
  + tests: bump pycloudlib version (#2102)
  + schema: do not manipulate draft4 metaschema for jsonschema 2.6.0 (#2098)
  + sources/azure/imds: don't count timeout errors as connection errors
    (#2074) [Chris Patterson]
  + Fix Python 3.12 unit test failures (#2099)
  + integration tests: Refactor instance checking (#1989)
  + ci: migrate remaining jobs from travis to gh (#2085)
  + missing ending quote in instancedata docs(#2094) [Hong L]
  + refactor: stop passing log instances to cc_* handlers (#2016) [d1r3ct0r]
  + tests/vmware: fix test_no_data_access_method failure (#2092)
    [Chris Patterson]
  + Don't change permissions of netrules target (#2076) (LP: #2011783)
  + tests/sources: patch util.get_cmdline() for datasource tests (#2091)
    [Chris Patterson]
  + macs: ignore duplicate MAC for devs with driver driver qmi_wwan (#2090)
    (LP: #2008888)
  + Fedora: Enable CA handling (#2086) [František Zatloukal]
  + Send dhcp-client-identifier for InfiniBand ports (#2043) [Waleed Mousa]
  + cc_ansible: complete the examples and doc (#2082) [Yves]
  + bddeb: for dev package, derive debhelper-compat from host system
  + apport: only prompt for cloud_name when instance-data.json is absent
  + datasource: Optimize datasource detection, fix bugs (#2060)
  + Handle non existent ca-cert-config situation (#2073) [Shreenidhi Shedi]
  + sources/azure: add networking check for all source PPS (#2061)
    [Chris Patterson]
  + do not attempt dns resolution on ip addresses (#2040)
  + chore: fix style tip (#2071)
  + Fix metadata IP in instancedata.rst (#2063) [Brian Haley]
  + util: Pass deprecation schedule in deprecate_call() (#2064)
  + config: Update grub-dpkg docs (#2058)
  + docs: Cosmetic improvements and styling (#2057) [s-makin]
  + cc_grub_dpkg: Added UEFI support (#2029) [Alexander Birkner]
  + tests: Write to /var/spool/rsyslog to adhere to apparmor profile (#2059)
  + oracle-ds: prefer system_cfg over ds network config source (#1998)
    (LP: #1956788)
  + Remove dead code (#2038)
  + source: Force OpenStack when it is only option (#2045) (LP: #2008727)
  + cc_ubuntu_advantage: improve UA logs discovery
  + sources/azure: fix regressions in IMDS behavior (#2041) [Chris Patterson]
  + tests: fix test_schema (#2042)
  + dhcp: Cleanup unused kwarg (#2037)
  + sources/vmware/imc: fix-missing-catch-few-negtive-scenarios (#2027)
    [PengpengSun]
  + dhclient_hook: remove vestigal dhclient_hook command (#2015)
  + log: Add standardized deprecation tooling (SC-1312) (#2026)
  + Enable SUSE based distros for ca handling (#2036) [Robert Schweikert]
  From 23.1.2
  + Make user/vendor data sensitive and remove log permissions
    (LP: #2013967) (CVE-2023-1786)
  From 23.1.1
  + source: Force OpenStack when it is only option (#2045)
  + sources/azure: fix regressions in IMDS behavior (#2041)
    [Chris Patterson]</changelog>
  <changelog author="Michal Vyskocil &lt;michal.vyskocil@gmail.com&gt;" date="1701432000">- Move fdupes call back to %install (boo#1214169)</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1702641600">- Switch build dependency to the generic distribution-release package</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705665600">- Add cloud-init-pckg-reboot.patch (boo#1198533, bsc#1218952,  jsc#SMO-326)
  + Support reboot on package update/upgrade via the cloud-init config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1705752000">- Add cloud-init-skip-empty-conf.patch
  + Skip tests with empty config</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1708430400">- Prepare for RPM 4.20 switch patch syntax</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1709726400">- Hardcode distribution to suse for proper cloud.cfg generation
  (bsc#1220132).</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1711627200">- Add  cloud-init-ds-deterministic.patch (bsc#1221132)
  + Do not guess a data source when checking for a CloudStack
    environment</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318400">- Add cloud-init-no-openstack-guess.patch (bsc#1222113)
  + Do not guess if we are running on OpenStack or not. Only recognize
    the known markers and enable cloud-init if we know for sure.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712318401">- Add cloud-init-no-nmcfg-needed.patch (bsc#1221726)
  + Do not require a NetworkManager config file in order to detect
    NetworkManager as the renderer</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1712664000">- Update cloud-init-no-openstack-guess.patch
  + Do not enable cloud-init on systems where there is no DMI just
    because no data source has been found. No data source means
    cloud-init will not run.</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1714392000">- Add cloud-init-usr-sudoers.patch (bsc#1223469)
  + Handle the existence of /usr/etc/sudoers to search for the expected
    include location</changelog>
  <changelog author="Robert Schweikert &lt;rjschwei@suse.com&gt;" date="1717416000">- Add cloud-init-skip-rename.patch (bsc#1219680)
  + Brute force appraoch to skip renames if the device is already present</changelog>
  <changelog author="Mark&#xE9;ta Machov&#xE1; &lt;mmachova@suse.com&gt;" date="1718366400">- remove dependency on /usr/bin/python3 via using the macros (bsc#1212476)</changelog>
</package>
<package pkgid="271e0bed20786f69f34e10d42208aa636607ee5cfb57ec878591223937329d23658d37d8168b14a4a1822003a65d36cc8a5e8c72bf650ae27b0eadc2e2e1d7b2" name="cmake" arch="i586">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="d996691af841310cb6c7303be223e2f510fc04da5851b3381f7099b7c28f86df31934265aad0e817c10b8d009759435bdd4e4027b2b22d94e4e8cc1aff1f6e04" name="cmake" arch="src">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="94ee5e8ccdc3655d0e7d5cc32d90ac76ba267325cc60ace73b7f8019f099aa0168802939a6d911ba92ed07a7125cc920fbba9fd71a5b1b9cf27a1960b0be1f3d" name="cmake" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="a6bb2323b0b348d140cdea614957652b552b0b747d65aa5c6dd58b32411584283196c05c6d6c35b13ea3802f9f7a9cae19838e9dc94c8f7593ed8dc2b86e177e" name="cmake" arch="i586">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="e2528faad6eb845f81447f85ff0cf0e58ada123d18136f3c8ef38eba229cf202e30200122ba2a88c93f1f73ad2bfecb621a083e937ee49f9164a922581dd6a54" name="cmake" arch="src">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="588741902967f164642bd75e2351ae39c17f9970c8e0204c9596fcc98c7667ea9090ed528d52e0df1daed98568e70b60ccd33c2014e9270511754aef6b686b80" name="cmake" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="c3e42a18a41572079eb593403d42b13fa90451f7e13ea5d43d9d39a54fe7cea54af97a177fcae39544747c50956f9fc2cf186d98fc18ab94b22f24c020cf5d96" name="cmake-doc-qhelp" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="91e2d92201cba0af7a28ad69f2ebdd4e42412d7f82590ddb571effa7a2f2c774d3105a0f03fcd77dcefa0f54a6a50ff48bfd31d2fda016b6a70b77f66a17134f" name="cmake-doc-qhelp" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="2c7463da87c1d2c0d7eafcab8f724b268af7131246ac270771b10180d8bb7d01f5fdc9914bc7197a6980cc88c23d711fd6626b042f58cae8097d08d5d018e1b5" name="cmake-full" arch="src">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="84ff2f1785c30ccfbab2b878dbf9b364d04f5c4b3260fe785885a2a5003f9e46dc3d72beb0b1fc08adc164fd340ca12ff3efe8c77722dd10c53ed4864899a6e0" name="cmake-full" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="09eecb32b81013a833fe967cdb9308bbe0f72354c037ebd10aedb25a065a0c53c93ae8c60bc73356e56385818a0fd64a4600657eb4ce68f4f28e0ef6da3f2698" name="cmake-full" arch="src">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="231a97c2100f25762c79d995fa11dd1f843759013446d4732341a212ad0b7ad9f73b5281a4972d032d7e3191f39038d5edd0e9bfb61db515105ad92355c99251" name="cmake-full" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="c1df9e0bc610876604149017b88b667b8bf8e95ca2d47605c3515a32bc4faa48c41c35fa584a8590f09f3677d341c6dcc718439f594c01c4e333ece95683ffa9" name="cmake-full-debuginfo" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="007bacf4f8e489b25a53ec6926ce557c39e1e7ada4f862490f4dc4b8b577e138e194f11e92373d25bb360b3bcfbe9309bd9cefcac36c2557ba372a4dbd1b180a" name="cmake-full-debuginfo" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="509badf386200e93e892329b411670e7df134702a9d87230786dde76c994cd4daa4444364d5166ccb3d9364b348f971a15a0c4ebc88eed47edd33d8be7da011e" name="cmake-full-debugsource" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="8585a79fb723f077386a03e4de369c271f90917da4aaf64c2752fd1fc05b2e0b712febaca4cfbc2729e1edf4515ae70ba128a99aec8129116db2dc02959cb2f4" name="cmake-full-debugsource" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="ea7af2903c317a8e286897fae26fb6c403169ef396bb7c5dc70c996bc50f1b8932261044ea755d9ddf7756c0fd4f1c06f8ef27c7cdd3797dbb43377e0c20fc22" name="cmake-gui" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="b3f79dbac051df3e5380177e8c9e82ea068dc67de9e724af15c45051acf67a35b99da8d624bae15d55c3a6b5440c73332f9f073924076aa5c94de67152f73a2a" name="cmake-gui" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="fc9ab45ee32861111167fae31e65a0cb996801151732cdfce11d7c42fa10848078555fe8e5bd1af914e94d6ab399b85d8e136d316f9214e3802e97378cfaef29" name="cmake-gui-debuginfo" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="daac33d0e8f36071315a9531a5cc4524021d9c89ab67ddf6d7c15973ff141c6863f359440409cac613333660801c2f435ad9e8f12a4b88cc06b68b71854a22e9" name="cmake-gui-debuginfo" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="ac3f9cfb56b222824f846a9067479068eec20a11ddcaf852311d6893bc91ce76e9a74316c757aac41192c6d8e708fdf267d1773cb8397bd1856547b59d53f1ef" name="cmake-man" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="686f0b9e0aec3e8182e1612dade56767db87d696e13979b655e14633e2ba4fd2482e542a2c63aec11e84e53c3d7f4288fa67e62607b3b1fffd53410fb32bb1e5" name="cmake-man" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="d48bf4d0a7cfd0c87d6f24ffd4c4c1b93a66c98915433a72ccf96edeea1067a671cc51190e38d4274f87faf7c67c28aca864b9be9b329cc126caee58eff44185" name="cmake-mini" arch="i586">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="74eb4d935a84db8bcb163f7d6041f3c26103723b48e81c5f24e6cf100312455cd877845604adebf42efda31b22f698bccaf79dd0ad34dc1dfdf939ba2c28e589" name="cmake-mini" arch="src">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="8272284178eae915444f7c135344cebd9078e97303ce12313f1563c314a1524bf115e0d3e9e65e61f45b581a9c5f2023a19c4144f3c2ea6ebd6c1dd4846093a9" name="cmake-mini" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="319bff6108c7e7593876b5c1ccdf57298e061cc1249c50945217e18409178705171337db46947cad6dcfbfb7268b269bca605bed12bec8931f94c127a2466a9a" name="cmake-mini" arch="i586">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="490430595cbc9442c73fa747a0ca1304687b9be018a94c8fc3b24eb68d46444b4d0c23264bebdcbcf29c9d035fb881e8df085f167d8fa829ab3d81383f4815c7" name="cmake-mini" arch="src">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="2ca29f783bc6e60883e168584188b779945831110f5b2803264514a4047d3ff22fe5a0a2d9867f3d9b8c691ea6614c286c13895b88971f1ab2eb026fef020543" name="cmake-mini" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="ffc9e50a712276985af819ae37880b811b87e881f640bbab157d408ccc0a86cbecf263622a35f41eda1f267d086893d4974c2e9f1b1cc0e9308093cdae113155" name="cmake-mini-debuginfo" arch="i586">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="2f451639bfdce87ff4092786e51df21b79de909b032ac3b6cfc9884f0d3e6d9f05ed84010e5b0e65b5cfd1b9bceba94a269a809939dcfed142bcdda137675b42" name="cmake-mini-debuginfo" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="870d6b9a32cd4562fcc74215d9e245148336902bdb4cc37d848bd8bccf7ea6a15bfb6e34c9161ca90a64802e58cebc613be12e798d98ce3ad0acb852bf95c1d7" name="cmake-mini-debuginfo" arch="i586">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="ceb2ce8b3b6db7f5525d5662c8832f5eed62affd865f48255484b0ebf06f47032a97a5b892b5f0d492f3d1a6463ee744fad675958940de99c55122d1c8405388" name="cmake-mini-debuginfo" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="99c793677a9dd01f981ccb58b6183fd71b327211a6a93bce92b67c091076dcb8ad27c51d0ec581eaf3785b6534b7740c85f88f294bb5b29685a7a9abbf79dfe9" name="cmake-mini-debugsource" arch="i586">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="1177b6c4ff3cb5e2ac178f67bf0de180c23858809def1bbcc31c87ca4d2751b818e5004b43bbf18284d34744f7243b81caee3162de228ea2f52bc70f8a864000" name="cmake-mini-debugsource" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="6781a63bc994a706716a69dd2ac9262d15a3ca2cc83cb1b4314e827f55787320fb0b953df5a8822ebc0607bd7ff70ee6d96c4b7df4647d4fdeee87fb68e672de" name="cmake-mini-debugsource" arch="i586">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="1fbd40677dd196978096b782d31ae5fa4a2755e596b9b8c9bc19aefd24fff8d025da2c245c023a4a453bcc5ecc7fb87dd82692e16ade89237e5a69b68b16dd39" name="cmake-mini-debugsource" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="1de40c32da5990f6ef8903f7efbe24177a295c4b57b9d6c6571833594dc6f01e3bb01c2b283913b1679a60720d64e6ee52a11046f94cd39a9a3173aec662fde6" name="cmake-ui" arch="src">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="5f64ddd482fe1c0c51a98cd74cd2afe20cdf046598de9380c3a67de0e57bb82917044b8f804da9f8078a54646cd40ad71067a600fe3871291ae73aa897f2c393" name="cmake-ui" arch="src">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="039450521dbfc65c3025de71efdcbabdad54a89c7764a2730e84ee8f16902ec1e7aafe2fe2dbf7b4b95ab80733475cf486e14a90d01a337d0cebe09ddcff1092" name="cmake-ui-debugsource" arch="x86_64">
  <version epoch="0" ver="3.29.4" rel="1.1"/>
  <changelog author="Paolo Stivanin &lt;info@paolostivanin.com&gt;" date="1697198400">- update to 3.27.7:
  * Tests: Clarify RunCMake.CTestTimeout case name
  * ctest: Restore support for --timeout values higher than default test timeout
  * Help: Document CMP0124 behavior on already-set variables
  * FindPostgreSQL: Add support for version 16</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
</package>
<package pkgid="260c9e2b16ca6a9a9356e7a395de25a02c9173c6bd267e3faabbb560038c75d8e172bf1a71ed7cfee7669f0f9b2344f3d68ac7f00ee676b803393ec377e0654f" name="cmake-ui-debugsource" arch="x86_64">
  <version epoch="0" ver="3.29.6" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1701086400">- update to 3.27.8 (bsc#1215888, CVE-2023-38545):
  * cmComputeLinkDepends: also copy the target from object link items
  * cmComputeLinkInformation: skip over linking to items for object purposes
  * Fortran: Restore support for TARGET_OBJECTS providing modules
  * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
  * GetPrerequisites: Revert “Ignore relative paths printed by ldd”
  * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
  * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
  * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1701259200">- update to 3.27.9:
  * cmake-file-api(7) "codemodel" version 2 "target" object fileSets
    field was introduced by CMake 3.26.0 with entries of its
    baseDirectories member incorrectly expressed as absolute paths
    even if they are inside the top-level source directory, now
    fixed. Clients must be updated to expect relative paths under
    the top-level source directory.
  * Fortran: Revert 3.27.0 change to module dependency scanning</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1701864000">- update to 3.28.0
  * C++ 20 named modules are now supported by Ninja Generators, in
    combination with LLVM/Clang 16.0 and newer, and GCC 14 (after
    the 2023-09-20 daily bump) and newer.
  * "HIP" language code may now be compiled for NVIDIA GPUs using
    the NVIDIA CUDA Compiler (NVCC).
  * The "exec_program()" command, which has been deprecated since
    CMake 3.0, has been removed by policy "CMP0153". Use the
    "execute_process()" command instead.
  * Generated files, in targets using File Sets, are now considered
    private by default.  Generated public headers must be specified
    using file sets.
  * The "find_library()", "find_path()", and "find_file()" commands no
    longer search in installation prefixes derived from the "PATH"
    environment variable.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1702555200">- update to 3.28.1
  * cmGeneratorTarget: disable C++ module scanning for verify targets
  * cmQtAutoGenInitializer: disable C++ module scanning for autogen sources
  * cmLocalGenerator: disable C++ module scanning for copied PCH sources
  * cmLocalGenerator: disable C++ module scanning for unity sources
  * cmGlobalXCodeGenerator: disable C++ module scanning for force-lang files
  * FindFreetype: always find the config module quietly
  * FindFreetype: also consider RelWithDebInfo-built libraries
  * FindTIFF: always find the config module quietly
  * FindTIFF: consider `IMPLIB`-using platforms
  * FindCUDAToolkit: Fix stub library representation on reconfigure
  * FindMatlab: Fix regression on Windows Registry lookup failure
  * FindFreetype: Fix success message when config module is found
  * FindTIFF: Restore support for projects that do not enable CMP0057
  * FindMatlab: Fix processing of multiple versions from Windows Registry</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1703678400">- Re-add "-Wl,--no-undefined" linker flags for executables and
  regular shared libraries. Shared library targets which are used
  as plugins/modules should use `add_library(... MODULE ...), which
  uses the "CMAKE_MODULE_LINKER_FLAGS".</changelog>
  <changelog author="Simon Lees &lt;sflees@suse.de&gt;" date="1704974400">- A quick note for the bots that boo#1217009 is already fixed
  in tumbleweed</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1704974401">- Use new enough Sphinx on SLE (jsc#PED-7572 boo#1218125).</changelog>
  <changelog author="Bj&#xF6;rn Bidar &lt;bjorn.bidar@thaodan.de&gt;" date="1705492800">- macros: Set some more variables notable %{_docdir} so that GNUInstallDirs
  works fully on openSUSE. Packages using CMAKE_INSTALL_DOCDIR fail otherwise.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1705579200">- Revert "-Wl,--no-undefined" as it still breaks packages (boo#1218620)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705665600">- fix incorrect requires on libuv1 on non-suse distributions</changelog>
  <changelog author="Stefan Br&#xFC;ns &lt;stefan.bruens@rwth-aachen.de&gt;" date="1705665601">- Revert the linker flags revert. Instead of increasing differences
  between SLE/Leap and Tumbleweed and risking silent breakage of
  dozens of packages due to underlinking, fix the one failing
  package.</changelog>
  <changelog author="Fridrich Strba &lt;fstrba@suse.com&gt;" date="1707912000">- Added patch:
  * cmake-zerojvm.patch
    + fix JVM detection on JDKs with ZERO virtual machine, like
    java-21-openjdk for armv6l</changelog>
  <changelog author="Michal Suchanek &lt;msuchanek@suse.com&gt;" date="1708603200">- Fix python dependencies: python 3.11 is only needed for build (boo#1218125).</changelog>
  <changelog author="Andreas Stieger &lt;andreas.stieger@gmx.de&gt;" date="1708862400">- update to 3.28.3:
  * Fixes for Freetype with ZLIB, execute_process, Autogen, Matlab,
    and various bugs</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1711022400">- update  to 3.29
  * The “cmake_language(EXIT)” sub-command was added to terminate
    “cmake -P” scripts with a specified exit code.
  * The “CMAKE_LINKER_TYPE” variable and corresponding “LINKER_TYPE”
    target property were added to specify what linker to use with
    some toolchains.</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712232000">- update to 3.29.1
  * IntelLLVM: Revert accidental use of -external:I with Fortran
    compilers
  * libuv: process: de-duplicate conditions for using kqueue
  * ctest: Restore enforcement of RESOURCE_LOCK test property
  * try_compile(): Include languages with _ or - when passing linker vars
  * Swift: Add CMAKE_LINKER_TYPE support
  * FindMatlab: R2024a version map</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1712923200">- update to 3.29.2
  * Fix regression on reconfigure with unnormalized
  - DCMAKE_&lt;LANG&gt;_COMPILER=
  * CMakePackageConfigHelpers: Restore undocumented
    PACKAGE_PREFIX_DIR variable
  * Swift: Ninja: Remove module dependency for executables
  * FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
  * FindOpenSSL: Update layout for Shining Light Productions</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1715169600">- update to 3.29.3
  * Tests/CXXModules: test exporting modules which include headers
  * FindBoost: Add support for Boost 1.85
  * FindHDF5: Fix detection of versions with more than three components</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1717502400">- update to 3.29.4
  * cmCxxModuleMapper: add a query for the open mode for the modmap
  * CMP0037: Restore diagnostic message for invalid ALIAS target names
  * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
  * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718798400">- update to 3.29.6:
  * The :cpack_gen:`CPack WIX Generator`'s
    :variable:`CPACK_WIX_INSTALL_SCOPE` variable, new in 3.29, now
    defaults to ``NONE``.  This restores
    compatibility with behavior of 3.28 and below: without a custom WiX
    template, it produces installers that only create start menu
    and uninstall entries for the current user, even though they
    install for all users.
  * In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted
    to ``perMachine``.  This created MSI installers that create
    start menu and uninstall entries for all users by default.
    While this behavior is better on its own, these installers do
    not cleanly replace existing installations created with MSI
    installers produced by 3.28 and below.  3.29.5 reverts the
    default for compatibility.  Projects may transition to
    ``perMachine`` on their own schedule by setting
    ``CPACK_WIX_INSTALL_SCOPE``.</changelog>
</package>
<package pkgid="bccc6b255a9493d84e66268e443af067dc30dd0a3b4ff875acca92908543afac6ce88762539fa262bf588e302f495b595a9890d5803c84f1ba5f27f2f3fff98c" name="cmctl" arch="src">
  <version epoch="0" ver="1.14.6" rel="1.0.2.1.sr20240605"/>
  <changelog author="kastl@b1-systems.de" date="1669032000">- Update to version 1.10.1:
  * Fix typos in explanatory comment
  * Always initialize tlsClientConfig if the default is nil
  * Use RenegotiateOnceAsClient and explain why
  * bump to latest go minor version to fix vulns</changelog>
  <changelog author="kastl@b1-systems.de" date="1673438400">- Update to version 1.10.2:
  * Bump containerd to fix reported vuln
  * bump base images to latest
  * Code review feedback- better comment
  * Fix integration tests
  * Ensures that only one secrets cache is created for cert-manager controller
  * avoid logging confusing error messages for external issuers
  * use template when generating tempdir in verify-crds
  * bump base images to latest versions
  * bump helm version to fix CVE-2022-23525
  * bump version of contour helm chart to 10.0.1
  * enable testing with k8s 1.26 by adding new kind image
  * bump base images to latest versions
  * bump dep versions to fix trivy-reported vulns
  * remove verify-licenses from ci-presubmit
  * bump go to 1.19.4
  * Use distinct manifest dirs for signed / unsigned manifests
  * fix x/text vuln and ignore AWS vuln</changelog>
  <changelog author="kastl@b1-systems.de" date="1673438401">- BuildRequire go1.19
- Update to version 1.11.0:
  * Bump go to 1.19.5
  * Bump containerd to fix reported vuln
  * bump base images to latest
  * Policy check ensures that cert.sepc.secretName secret gets labelled
  * Keymanager controller ensures that temporary private key Secrets are labelled
  * Issuing controller ensures that cert.spec.secretName secrets are labelled
  * Adds a new label to cert-manager API
  * move custom acmesolver image above extraArgs
  * Log error if CA source is in a namespace that is not in scope
  * Fix cainjector's namespace flag
  * Code review feedback- better comment
  * Bump golang.org/x/crypto and golang.org/x/oauth2
  * Fix integration tests
  * Ensures that only one secrets cache is created for cert-manager controller
  * bump base images to latest
  * avoid logging confusing error messages for external issuers
  * Allow custom helm values files to be supplied to make ko-deploy-certmanager
  * Remove trailing escape slash
  * various ginkgo tweaks
  * Remove duplicate ko-deploy-cert-manager make target
  * use template when generating tempdir in verify-crds
  * update LICENSES (make update-licenses)
  * vcert: upgrade to v4.23.0 to fix "Click Retry" and "WebSDK CertRequest"
  * fix(AzureDNS): suppress original message in adal.TokenRefreshError to prevent early CR reconciliations due to unique data (timestamp, Trace ID) that lands to CR status
  * helm: add option to override ACME HTTP-01 solver image
  * Bump sigs.k8s.io deps
  * Bump supported versions of k8s mentioned in the helm chart
  * Add some experimental ko based build and deploy tools
  * update base images to latest
  * Bump version of contour helm chart + images
  * Add ko tool
  * bump golang.org/x/net version to fix trivy vulns
  * update SECURITY policy to exclude vuln reports
  * Enable + use k8s 1.26 for e2e tests by default
  * Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.10.0 to 3.10.3. - [Release notes](https://github.com/helm/helm/releases) - [Commits](helm/helm@v3.10.0...v3.10.3)
  * add + use CABundle field for ACME servers in issuers
  * change wording on descriptions for Vault and TPP 'CABundle' fields
  * Update controller-runtime to v0.14.0
  * kubebuilder did not yet create a 1.26 release
  * add WithLegacy function to our fake discovery client
  * Bump k8s.io deps to v0.26.0
  * feat: Add max-concurrent-challenges parameter to helm
  * fix kubebuilder tools arm64 sha256sum
  * bump dep versions to fix trivy-reported vulns
  * Fixed a typo in helm chart values
  * bump go to 1.19.4
  * remove verify-licenses from ci-presubmit
  * Addressing review comments
  * Updating CRDs
  * Addressing review comments
  * Update internal/controller/certificates/policies/checks.go
  * Refreshing secrets when the keystore fields change
  * Gateway and GatewayClass for tests are created against beta Gateway API
  * Corrects test Gateway resources
  * Removes unused check
  * Updates Gateway API test dependency
  * Bumps Contour Helm chart version
  * Tests download Gateway installation bundle
  * Update reference to HTTPRoute docs
  * feature: update gateway api to v1beta1
  * e2e: use Vault 1.12.1 instead of the outdated 1.2.3
  * Return error when Gateway has a cross-namespace secret ref
  * Use distinct manifest dirs for signed / unsigned manifests
  * Add boilerplate comment
  * Add error case + list all supported OIDs in cannonical order
  * Make test assertion more specific to slice, need to verify ordering of rdns
  * e2e test confirming LDAP rdn literalsubject in generated certificate
  * chore(AzureDNS): added more comments as requested by @wallrj
  * Test that the Sign function *does* use the Vault namespace
  * Recreate the original behaviour of sending a Vault token to the unauthenticated sys/health endpoint.
  * Remove unused Token method
  * Remove unused Sys methods
  * Test
  * Set the Vault namespace using the official method in the vault SDK
  * Gofmt files
  * Add support for required LDAP (rfc4514) RDNs in LiteralSubject
  * feat(AzureDNS): add a test for federated SPT
  * fix: featureGates add webhook deployment in chart yaml
  * updating to match feedback and adjust the RunAsNonRoot options for http01 solver to be more descriptive
  * fail in case of invalid IP address
  * enable basicConstraints feature in e2e environments by default
  * Addressing review comments
  * improve gen.CSR and use it everywhere
  * Fix typos in explanatory comment
  * Always initialize tlsClientConfig if the default is nil
  * Use RenegotiateOnceAsClient and explain why
  * chore(Azure): improve naming, add comments
  * fix x/text vuln and ignore AWS vuln
  * bump to latest go minor version to fix vulns
  * Adding unit tests
  * add make target for updating base images
  * bump base / kind images
  * re-order Helm parameters &amp; move some values to constants
  * feat: add commonLabels to webhook configmap
  * Fixing CA flag in basic constraints extension
  * feat(Azure): add support for workload identity
  * fix: update scorecard not running
  * Fire event for informational purposes when the CertificateRequest has not yet been approved.
  * remove devel folder
  * update base and kind images
  * don't write to devel folder when updating kind images
  * final update to old devel kind images
  * minor language tweaks to README and ROADMAP
  * Remove the old Helm chart for Vault
  * [NIT] Changing variable name to denote right type
  * [NIT] Changing variable name to denote right type
  * use Vault Helm Chart provied by Hashicorp
  * Add scorecard badge to README
  * Add Scorecard Action yml</changelog>
  <changelog author="kastl@b1-systems.de" date="1681387200">- Update to version 1.11.1:
  * Bump distroless base images and kind versions
  * make: force the use of registry.k8s.io by ingressnginx
  * update k8s.gcr.io to registry.k8s.io
  * use jetstack vcert fork to properly reset on error for TPP
  * bump go version
  * update base images to latest
  * bump dependencies to fix CVEs
  * e2e: the vault addon was incorrectly using StdoutPipe
  * bump base images to latest
  * Code review feedback: fix imports
  * Resets secrets lister in RFC2136 conformance tests
  * RFC2136 solver has an init option to reset secrets lister
  * A bunch of comments on webhook solver functionality
  * Bump keystore-go to v4.4.1
  * Use fake kube apiserver version when generating helm template
    in cmctl x install</changelog>
  <changelog author="kastl@b1-systems.de" date="1683720000">- Update to version 1.11.2:
  * Bump kube libs
  * Bump Docker
  * [release-1.11] Bump go and base images to latest
  * Adds kube 1.27 kind image
  * [release-1.11] add gcb configuration file for building
    cert-manager when tag pushed
  * add go workspace files to gitignore</changelog>
  <changelog author="kastl@b1-systems.de" date="1684756800">- Update to version 1.12.0:
  changelog to large to add, please see here
  https://github.com/cert-manager/cert-manager/releases/tag/v1.12.0
- BuildRequire go1.20</changelog>
  <changelog author="kastl@b1-systems.de" date="1685102400">- Update to version 1.12.1:
  * Bump cert-manager in cmctl to latest 1.12 commit
  * Add a note that folks should not use top level helm
    featureGates value to pass webhook flags
  * Bump sigs.k8s.io/controller-runtime to v0.15.0
  * Don't run API Priority and Fairness controller in webhook
    extension apiserver
  * Bump k8s.io dependencies
  * Bumps kubebuilder SHAs</changelog>
  <changelog author="kastl@b1-systems.de" date="1686916800">- Update to version 1.12.2:
  * if wait is set to 0, we still want to check the API once</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1690459200">- update to 1.12.3:
  * BUGFIX: 1-character bug was causing invalid log messages and a
    memory leak (#6235, @jetstack-bot)</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1693915200">- update to 1.12.4:
  no changes in cmctl in this release, all changes betweeen 1.12.3
  and 1.12.4 are in other parts of the code.
  Nevertheless, to keep in sync, we release this version.</changelog>
  <changelog author="kastl@b1-systems.de" date="1694606400">- Update to version 1.13.0:
  * update cert-manager version imported by cmctl to the latest
    'release-1.13' commit
  * upgrade dependencies
  * fix trivy CVE alert for cyphar/filepath-securejoin
  * upgrade docker dependencies
  * upgrade cert-manager to latest master digest
  * upgrade to k8s 1.28.1
  * upgrade all dependencies
  * cleanup: some redundant code clean up
  * update comment and explain why we use cmdutil.CheckErr
  * check api, only log if -v is set
  * use logging library in cmctl
  * downgrade k8s.io/kube-openapi
  * run 'make tidy'
  * Bump k8s.io dependencies
  * add validation to pki CertificateTemplate function and add
    support for add DontAllowInsecureCSRUsageDefinition featuregate
    to use old behavior in controller
  * Update cmd/cmctl's go.mod to v1.13.0-alpha.0
  * if wait is set to 0, we still want to check the API once
  * Bump sigs.k8s.io/controller-runtime to v0.15.0
  * Updates cmctl to point at latest cert-manager
  * Bump k8s.io dependencies
  * upgrade all our docker deps
  * replace go.mod replace statements with require statements
  * allow importing the ctl cmd package
  * make update-licenses
  * Bumps Helm to latest release
  * Bumps c/r to latest commit
  * use a concrete cert-manager version for cmctl
  * replace deprecated wait.PollUntil() and wait.Poll()</changelog>
  <changelog author="kastl@b1-systems.de" date="1695816000">- Update to version 1.13.1:
  * import latest release-1.13 commit in cmctl
  * fix go-restful 'DO NOT USE' version</changelog>
  <changelog author="kastl@b1-systems.de" date="1698667200">- Update to version 1.13.2:
  * update ctl's cert-manager dependency to latest 1.13 commit
  * bump go dependencies to fix remaining HTTP2 CVE alerts
  * bump otel version and related dependencies
  * [release-1.13] Bump /x/net to address CVE-2023-44487 /
    CVE-2023-39325
  * [release-1.13] update go-licenses to incorporate Tim's changes</changelog>
  <changelog author="kastl@b1-systems.de" date="1702036800">- Update to version 1.13.3:
  * upgrade otel, docker and jose to fix CVE alerts</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706961600">- Update to version 1.14.1 (1.14.0 was not released):
  cert-manager 1.14 brings a variety of features, security
  improvements and bug fixes, including: support for creating X.509
  certificates with "Other Name" fields, and support for creating
  CA certificates with "Name Constraints" and "Authority
  Information Accessors" extensions.
  * Changes since 1.14.0:
  - Fix broken cainjector image value in Helm chart (#6693,
    @SgtCoDFish)
  - Fix bug in cmctl namespace detection which prevented it being
    used as a startupapicheck image in namespaces other than
    cert-manager. (#6706, @inteon)
  - Fix bug in cmctl which caused cmctl experimental install to
    panic. (#6706, @inteon)
  * Breaking Changes
  - The startupapicheck job uses a new OCI image called
    "startupapicheck", instead of the ctl image.  If you run in
    an environment in which images cannot be pulled, be sure to
    include the new image.
  - The KeyUsage and BasicConstraints extensions will now be
    encoded as critical in the CertificateRequest's CSR blob.
  * New X.509 Features
  - The cert-manager Certificate resource now allows you to
    configure a subset of "Other Name" SANs, which are described
    in the Subject Alternative Name section of RFC 5280 (on page
    37).
  - We specifically support any otherName type with a UTF-8
    value, such as the User Principal Name or sAMAccountName.
    These are useful when issuing unique certificates for
    authenticating with LDAP systems such as Microsoft Active
    Directory.  The feature is still in alpha stage and requires
    you to enable the OtherName feature flag in the controller
    and webhook components.
  * New CA certificate Features
  - You can now specify the X.509 v3 Authority Information
    Accessors extension, with URLs for certificates issued by the
    CA issuer.
  - Users can now use name constraints in CA certificates. To
    know more details on name constraints check out RFC section
    https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10
  * Security
  - An ongoing security audit of the cert-manager code revealed
    some weaknesses which we have addressed in this release, such
    as using more secure default settings in the HTTP servers
    that serve metrics, healthz and pprof endpoints.  This will
    help mitigate denial-of-service attacks against those
    important services.
  - All the cert-manager containers are now configured with read
    only root file system by default, to prevent unexpected
    changes to the file system of the OCI image.
  - And it is now possible to configure the metrics server to use
    HTTPS rather than HTTP, so that clients can verify the
    identity of the metrics server.
  * Other
  - The liveness probe of the cert-manager controller Pod is now
    enabled by default.
  - There is a new option .spec.keystores.pkcs12.algorithms to
    specify encryption and MAC algorithms for PKCS.</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1707393600">- Update to version 1.14.2:
  * Bug or Regression
  - BUGFIX: cert-manager CA and SelfSigned issuers incorrectly
    copied the critical flag from the CSR instead of
    re-calculating that field themselves. (#6727, @jetstack-bot)
  - Helm: Fix a bug in the logic that differentiates between 0
    and an empty value. (#6729, @jetstack-bot)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1708776000">- Update to version 1.14.3:
  * run 'make update-licenses'
  * bump base images and CVE dependencies
  * Update cmd/ctl's go.mod to v1.14.2</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710504000">- Update to version 1.14.4:
  * upgrade Helm to fix CVE-2024-26147
  * upgrade google.golang.org/protobuf fixing GO-2024-2611
  * Update cmd/ctl's go.mod to v1.14.3</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714046400">- Update to version 1.14.5:
  * [release-1.14] fix CVE-2023-45288, bump base images, bump go
  * make update-licenses
  * Bump github.com/go-jose/go-jose to v3.0.3 to fix CVE-2024-28180
  * Update cmd/ctl's go.mod to v1.14.4</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1717761600">- Update to version 1.14.6:
  * Update cmd/ctl's go.mod to v1.14.5</changelog>
</package>
<package pkgid="6a8966e94a5e29abfda9277c63e3157ca29985b309c3798fd006601b24c87489326f13d3b06f59d489522626ad646c4b5dd036794c13c97ad65347614b2bab63" name="cmctl" arch="x86_64">
  <version epoch="0" ver="1.14.6" rel="1.0.2.1.sr20240605"/>
  <changelog author="kastl@b1-systems.de" date="1669032000">- Update to version 1.10.1:
  * Fix typos in explanatory comment
  * Always initialize tlsClientConfig if the default is nil
  * Use RenegotiateOnceAsClient and explain why
  * bump to latest go minor version to fix vulns</changelog>
  <changelog author="kastl@b1-systems.de" date="1673438400">- Update to version 1.10.2:
  * Bump containerd to fix reported vuln
  * bump base images to latest
  * Code review feedback- better comment
  * Fix integration tests
  * Ensures that only one secrets cache is created for cert-manager controller
  * avoid logging confusing error messages for external issuers
  * use template when generating tempdir in verify-crds
  * bump base images to latest versions
  * bump helm version to fix CVE-2022-23525
  * bump version of contour helm chart to 10.0.1
  * enable testing with k8s 1.26 by adding new kind image
  * bump base images to latest versions
  * bump dep versions to fix trivy-reported vulns
  * remove verify-licenses from ci-presubmit
  * bump go to 1.19.4
  * Use distinct manifest dirs for signed / unsigned manifests
  * fix x/text vuln and ignore AWS vuln</changelog>
  <changelog author="kastl@b1-systems.de" date="1673438401">- BuildRequire go1.19
- Update to version 1.11.0:
  * Bump go to 1.19.5
  * Bump containerd to fix reported vuln
  * bump base images to latest
  * Policy check ensures that cert.sepc.secretName secret gets labelled
  * Keymanager controller ensures that temporary private key Secrets are labelled
  * Issuing controller ensures that cert.spec.secretName secrets are labelled
  * Adds a new label to cert-manager API
  * move custom acmesolver image above extraArgs
  * Log error if CA source is in a namespace that is not in scope
  * Fix cainjector's namespace flag
  * Code review feedback- better comment
  * Bump golang.org/x/crypto and golang.org/x/oauth2
  * Fix integration tests
  * Ensures that only one secrets cache is created for cert-manager controller
  * bump base images to latest
  * avoid logging confusing error messages for external issuers
  * Allow custom helm values files to be supplied to make ko-deploy-certmanager
  * Remove trailing escape slash
  * various ginkgo tweaks
  * Remove duplicate ko-deploy-cert-manager make target
  * use template when generating tempdir in verify-crds
  * update LICENSES (make update-licenses)
  * vcert: upgrade to v4.23.0 to fix "Click Retry" and "WebSDK CertRequest"
  * fix(AzureDNS): suppress original message in adal.TokenRefreshError to prevent early CR reconciliations due to unique data (timestamp, Trace ID) that lands to CR status
  * helm: add option to override ACME HTTP-01 solver image
  * Bump sigs.k8s.io deps
  * Bump supported versions of k8s mentioned in the helm chart
  * Add some experimental ko based build and deploy tools
  * update base images to latest
  * Bump version of contour helm chart + images
  * Add ko tool
  * bump golang.org/x/net version to fix trivy vulns
  * update SECURITY policy to exclude vuln reports
  * Enable + use k8s 1.26 for e2e tests by default
  * Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.10.0 to 3.10.3. - [Release notes](https://github.com/helm/helm/releases) - [Commits](helm/helm@v3.10.0...v3.10.3)
  * add + use CABundle field for ACME servers in issuers
  * change wording on descriptions for Vault and TPP 'CABundle' fields
  * Update controller-runtime to v0.14.0
  * kubebuilder did not yet create a 1.26 release
  * add WithLegacy function to our fake discovery client
  * Bump k8s.io deps to v0.26.0
  * feat: Add max-concurrent-challenges parameter to helm
  * fix kubebuilder tools arm64 sha256sum
  * bump dep versions to fix trivy-reported vulns
  * Fixed a typo in helm chart values
  * bump go to 1.19.4
  * remove verify-licenses from ci-presubmit
  * Addressing review comments
  * Updating CRDs
  * Addressing review comments
  * Update internal/controller/certificates/policies/checks.go
  * Refreshing secrets when the keystore fields change
  * Gateway and GatewayClass for tests are created against beta Gateway API
  * Corrects test Gateway resources
  * Removes unused check
  * Updates Gateway API test dependency
  * Bumps Contour Helm chart version
  * Tests download Gateway installation bundle
  * Update reference to HTTPRoute docs
  * feature: update gateway api to v1beta1
  * e2e: use Vault 1.12.1 instead of the outdated 1.2.3
  * Return error when Gateway has a cross-namespace secret ref
  * Use distinct manifest dirs for signed / unsigned manifests
  * Add boilerplate comment
  * Add error case + list all supported OIDs in cannonical order
  * Make test assertion more specific to slice, need to verify ordering of rdns
  * e2e test confirming LDAP rdn literalsubject in generated certificate
  * chore(AzureDNS): added more comments as requested by @wallrj
  * Test that the Sign function *does* use the Vault namespace
  * Recreate the original behaviour of sending a Vault token to the unauthenticated sys/health endpoint.
  * Remove unused Token method
  * Remove unused Sys methods
  * Test
  * Set the Vault namespace using the official method in the vault SDK
  * Gofmt files
  * Add support for required LDAP (rfc4514) RDNs in LiteralSubject
  * feat(AzureDNS): add a test for federated SPT
  * fix: featureGates add webhook deployment in chart yaml
  * updating to match feedback and adjust the RunAsNonRoot options for http01 solver to be more descriptive
  * fail in case of invalid IP address
  * enable basicConstraints feature in e2e environments by default
  * Addressing review comments
  * improve gen.CSR and use it everywhere
  * Fix typos in explanatory comment
  * Always initialize tlsClientConfig if the default is nil
  * Use RenegotiateOnceAsClient and explain why
  * chore(Azure): improve naming, add comments
  * fix x/text vuln and ignore AWS vuln
  * bump to latest go minor version to fix vulns
  * Adding unit tests
  * add make target for updating base images
  * bump base / kind images
  * re-order Helm parameters &amp; move some values to constants
  * feat: add commonLabels to webhook configmap
  * Fixing CA flag in basic constraints extension
  * feat(Azure): add support for workload identity
  * fix: update scorecard not running
  * Fire event for informational purposes when the CertificateRequest has not yet been approved.
  * remove devel folder
  * update base and kind images
  * don't write to devel folder when updating kind images
  * final update to old devel kind images
  * minor language tweaks to README and ROADMAP
  * Remove the old Helm chart for Vault
  * [NIT] Changing variable name to denote right type
  * [NIT] Changing variable name to denote right type
  * use Vault Helm Chart provied by Hashicorp
  * Add scorecard badge to README
  * Add Scorecard Action yml</changelog>
  <changelog author="kastl@b1-systems.de" date="1681387200">- Update to version 1.11.1:
  * Bump distroless base images and kind versions
  * make: force the use of registry.k8s.io by ingressnginx
  * update k8s.gcr.io to registry.k8s.io
  * use jetstack vcert fork to properly reset on error for TPP
  * bump go version
  * update base images to latest
  * bump dependencies to fix CVEs
  * e2e: the vault addon was incorrectly using StdoutPipe
  * bump base images to latest
  * Code review feedback: fix imports
  * Resets secrets lister in RFC2136 conformance tests
  * RFC2136 solver has an init option to reset secrets lister
  * A bunch of comments on webhook solver functionality
  * Bump keystore-go to v4.4.1
  * Use fake kube apiserver version when generating helm template
    in cmctl x install</changelog>
  <changelog author="kastl@b1-systems.de" date="1683720000">- Update to version 1.11.2:
  * Bump kube libs
  * Bump Docker
  * [release-1.11] Bump go and base images to latest
  * Adds kube 1.27 kind image
  * [release-1.11] add gcb configuration file for building
    cert-manager when tag pushed
  * add go workspace files to gitignore</changelog>
  <changelog author="kastl@b1-systems.de" date="1684756800">- Update to version 1.12.0:
  changelog to large to add, please see here
  https://github.com/cert-manager/cert-manager/releases/tag/v1.12.0
- BuildRequire go1.20</changelog>
  <changelog author="kastl@b1-systems.de" date="1685102400">- Update to version 1.12.1:
  * Bump cert-manager in cmctl to latest 1.12 commit
  * Add a note that folks should not use top level helm
    featureGates value to pass webhook flags
  * Bump sigs.k8s.io/controller-runtime to v0.15.0
  * Don't run API Priority and Fairness controller in webhook
    extension apiserver
  * Bump k8s.io dependencies
  * Bumps kubebuilder SHAs</changelog>
  <changelog author="kastl@b1-systems.de" date="1686916800">- Update to version 1.12.2:
  * if wait is set to 0, we still want to check the API once</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1690459200">- update to 1.12.3:
  * BUGFIX: 1-character bug was causing invalid log messages and a
    memory leak (#6235, @jetstack-bot)</changelog>
  <changelog author="Johannes Kastl &lt;kastl@b1-systems.de&gt;" date="1693915200">- update to 1.12.4:
  no changes in cmctl in this release, all changes betweeen 1.12.3
  and 1.12.4 are in other parts of the code.
  Nevertheless, to keep in sync, we release this version.</changelog>
  <changelog author="kastl@b1-systems.de" date="1694606400">- Update to version 1.13.0:
  * update cert-manager version imported by cmctl to the latest
    'release-1.13' commit
  * upgrade dependencies
  * fix trivy CVE alert for cyphar/filepath-securejoin
  * upgrade docker dependencies
  * upgrade cert-manager to latest master digest
  * upgrade to k8s 1.28.1
  * upgrade all dependencies
  * cleanup: some redundant code clean up
  * update comment and explain why we use cmdutil.CheckErr
  * check api, only log if -v is set
  * use logging library in cmctl
  * downgrade k8s.io/kube-openapi
  * run 'make tidy'
  * Bump k8s.io dependencies
  * add validation to pki CertificateTemplate function and add
    support for add DontAllowInsecureCSRUsageDefinition featuregate
    to use old behavior in controller
  * Update cmd/cmctl's go.mod to v1.13.0-alpha.0
  * if wait is set to 0, we still want to check the API once
  * Bump sigs.k8s.io/controller-runtime to v0.15.0
  * Updates cmctl to point at latest cert-manager
  * Bump k8s.io dependencies
  * upgrade all our docker deps
  * replace go.mod replace statements with require statements
  * allow importing the ctl cmd package
  * make update-licenses
  * Bumps Helm to latest release
  * Bumps c/r to latest commit
  * use a concrete cert-manager version for cmctl
  * replace deprecated wait.PollUntil() and wait.Poll()</changelog>
  <changelog author="kastl@b1-systems.de" date="1695816000">- Update to version 1.13.1:
  * import latest release-1.13 commit in cmctl
  * fix go-restful 'DO NOT USE' version</changelog>
  <changelog author="kastl@b1-systems.de" date="1698667200">- Update to version 1.13.2:
  * update ctl's cert-manager dependency to latest 1.13 commit
  * bump go dependencies to fix remaining HTTP2 CVE alerts
  * bump otel version and related dependencies
  * [release-1.13] Bump /x/net to address CVE-2023-44487 /
    CVE-2023-39325
  * [release-1.13] update go-licenses to incorporate Tim's changes</changelog>
  <changelog author="kastl@b1-systems.de" date="1702036800">- Update to version 1.13.3:
  * upgrade otel, docker and jose to fix CVE alerts</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1706961600">- Update to version 1.14.1 (1.14.0 was not released):
  cert-manager 1.14 brings a variety of features, security
  improvements and bug fixes, including: support for creating X.509
  certificates with "Other Name" fields, and support for creating
  CA certificates with "Name Constraints" and "Authority
  Information Accessors" extensions.
  * Changes since 1.14.0:
  - Fix broken cainjector image value in Helm chart (#6693,
    @SgtCoDFish)
  - Fix bug in cmctl namespace detection which prevented it being
    used as a startupapicheck image in namespaces other than
    cert-manager. (#6706, @inteon)
  - Fix bug in cmctl which caused cmctl experimental install to
    panic. (#6706, @inteon)
  * Breaking Changes
  - The startupapicheck job uses a new OCI image called
    "startupapicheck", instead of the ctl image.  If you run in
    an environment in which images cannot be pulled, be sure to
    include the new image.
  - The KeyUsage and BasicConstraints extensions will now be
    encoded as critical in the CertificateRequest's CSR blob.
  * New X.509 Features
  - The cert-manager Certificate resource now allows you to
    configure a subset of "Other Name" SANs, which are described
    in the Subject Alternative Name section of RFC 5280 (on page
    37).
  - We specifically support any otherName type with a UTF-8
    value, such as the User Principal Name or sAMAccountName.
    These are useful when issuing unique certificates for
    authenticating with LDAP systems such as Microsoft Active
    Directory.  The feature is still in alpha stage and requires
    you to enable the OtherName feature flag in the controller
    and webhook components.
  * New CA certificate Features
  - You can now specify the X.509 v3 Authority Information
    Accessors extension, with URLs for certificates issued by the
    CA issuer.
  - Users can now use name constraints in CA certificates. To
    know more details on name constraints check out RFC section
    https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10
  * Security
  - An ongoing security audit of the cert-manager code revealed
    some weaknesses which we have addressed in this release, such
    as using more secure default settings in the HTTP servers
    that serve metrics, healthz and pprof endpoints.  This will
    help mitigate denial-of-service attacks against those
    important services.
  - All the cert-manager containers are now configured with read
    only root file system by default, to prevent unexpected
    changes to the file system of the OCI image.
  - And it is now possible to configure the metrics server to use
    HTTPS rather than HTTP, so that clients can verify the
    identity of the metrics server.
  * Other
  - The liveness probe of the cert-manager controller Pod is now
    enabled by default.
  - There is a new option .spec.keystores.pkcs12.algorithms to
    specify encryption and MAC algorithms for PKCS.</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1707393600">- Update to version 1.14.2:
  * Bug or Regression
  - BUGFIX: cert-manager CA and SelfSigned issuers incorrectly
    copied the critical flag from the CSR instead of
    re-calculating that field themselves. (#6727, @jetstack-bot)
  - Helm: Fix a bug in the logic that differentiates between 0
    and an empty value. (#6729, @jetstack-bot)</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1708776000">- Update to version 1.14.3:
  * run 'make update-licenses'
  * bump base images and CVE dependencies
  * Update cmd/ctl's go.mod to v1.14.2</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1710504000">- Update to version 1.14.4:
  * upgrade Helm to fix CVE-2024-26147
  * upgrade google.golang.org/protobuf fixing GO-2024-2611
  * Update cmd/ctl's go.mod to v1.14.3</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1714046400">- Update to version 1.14.5:
  * [release-1.14] fix CVE-2023-45288, bump base images, bump go
  * make update-licenses
  * Bump github.com/go-jose/go-jose to v3.0.3 to fix CVE-2024-28180
  * Update cmd/ctl's go.mod to v1.14.4</changelog>
  <changelog author="opensuse_buildservice@ojkastl.de" date="1717761600">- Update to version 1.14.6:
  * Update cmd/ctl's go.mod to v1.14.5</changelog>
</package>
<package pkgid="8273f115cafbaa47438d72411934b510847d105c9aa1459ef1ac6e7fd789e45f0d9d373c3a627dff15076f2bccd70474e11af83d088c30324030e6dbba1426d0" name="cmocka" arch="src">
  <version epoch="0" ver="1.1.7" rel="4.1"/>
  <changelog author="asn@cryptomilk.org" date="1410436800">- Update to version 0.4.1
  * Added CMOCKA_TEST_ABORT env variable to leave threading apps.
  * Fixed count parameter of expect_check() macro.
  * Fixed reporting the number of tests.
  * Fixed cmake config files.</changelog>
  <changelog author="asn@cryptomilk.org" date="1424088000">- Update to version 1.0.0
  * Added new test runner with group fixtures. The old runner is deprecated
  * Added an extensible message output formatter
  * Added jUnit XML message output
  * Added subunit message output
  * Added Test Anything Protocol message output
  * Added skip() command
  * Added test_realloc()
  * Added a cmockery compat header
  * Fixed a lot of bugs on Windows</changelog>
  <changelog author="asn@cryptomilk.org" date="1424174400">- Turn on unit tests</changelog>
  <changelog author="asn@cryptomilk.org" date="1424174401">- Add missing requires for cmake and pkg-config</changelog>
  <changelog author="asn@cryptomilk.org" date="1426161600">- Update to version 1.0.1
  * Added a macro for assert_ptr_equal().
  * Fixed test_realloc() if 0 size is passed.
  * Fixed objects packaging bug.
  * Fixed building with newer gcc versions.</changelog>
  <changelog author="tchvatal@suse.com" date="1436875200">- Use properly %cmake macro to build nicely with all the linker/cflags
- Use proper Url and Source
- Properly fails on crashing tests instead of finishing build
- Enable cmockery support</changelog>
  <changelog author="asn@cryptomilk.org" date="1436961600">- Do not turn of rpath support</changelog>
  <changelog author="asn@cryptomilk.org" date="1474459200">- Update to version 1.1.0
  * Added support to catch multiple exceptions
  * Added support to verify call ordering
  * Added support to pass initial data to test cases
  * Added will_return_maybe() for ignoring mock returns
  * Added subtests for groups using TAP output
  * Added support to write multiple XML files for groups
  * Improved documentation
  * Fixed XML output generataion
  * Fixed Windows builds with VS2015</changelog>
  <changelog author="asn@cryptomilk.org" date="1477396800">- Fix url for Source0</changelog>
  <changelog author="asn@cryptomilk.org" date="1491566400">- Update to version 1.1.1
  * Fixed TAP output
  * Fixed cmocka on Windows x64
  * Fixed xUnit output durations</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1535544000">- Update to version 1.1.2
  * Added function to filter tests (cmocka_set_test_filter)
  * Added new mocking example (uptime)
  * Fixed fixture error reporting
  * Fixed compiler flags detection
  * Some improvement for API documentation
- Added HTML documentation</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1535630400">- Fix packaging the documentation
- Added 0001-cmake-Only-support-building-docs-the-on-cmake-3.9.patch</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1538049600">- Update to version 1.1.3
  * Fixed subunit output on failures
  * Do not abort if a test is skipped
  * Switched to Modern CMake
- Removed 0001-cmake-Only-support-building-docs-the-on-cmake-3.9.patch</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1553774400">- Update to version 1.1.5
  * Added cmocka_set_skip_filter()
  * cmocka version 1.1.4
  * Added assert_float(_not)_equal()
  * Added expect_any_always()
  * Small bug fixes</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1556107200">- Disable LTO (boo#1133122).</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1676635200">- Update to version 1.1.6
  * Added new assert macros to compare 2 double given an epsilon
  * Added meson build system
  * Added header with version to TAP13 output
  * Fixed issues with MSVC
  * Fixed TAP output for skipped tests
  * Fixed issue with fail_msg
  * CMake generated configs for find_package(cmocka)
  * Documentation improvements</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1677499200">- Update to version 1.1.7
  * Fixed tarball generation</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1683288000">- Add missing cmake config files for 32bit packages</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1692792000">- split off -doc and -cmake subpackages, which aren't necessary
  for basic development with cmocka, to avoid pulling in the
  entire cmake-full package (38MB) with libcmocka-devel
- minor simplifications in spec file</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1717761600">- Fix baselibs.conf for libcmocka-cmake subpackage</changelog>
</package>
<package pkgid="ab455e7d3211b6a897b5aaf1f4f5a8e44a9b6df1071c1c5214c82d7d2c5bf11883c75905a3659c9161b5dff59dfe525f0058371446c041e72b600c749fe0aae2" name="cmocka-debugsource" arch="i586">
  <version epoch="0" ver="1.1.7" rel="4.1"/>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1535544000">- Update to version 1.1.2
  * Added function to filter tests (cmocka_set_test_filter)
  * Added new mocking example (uptime)
  * Fixed fixture error reporting
  * Fixed compiler flags detection
  * Some improvement for API documentation
- Added HTML documentation</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1535630400">- Fix packaging the documentation
- Added 0001-cmake-Only-support-building-docs-the-on-cmake-3.9.patch</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1538049600">- Update to version 1.1.3
  * Fixed subunit output on failures
  * Do not abort if a test is skipped
  * Switched to Modern CMake
- Removed 0001-cmake-Only-support-building-docs-the-on-cmake-3.9.patch</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1553774400">- Update to version 1.1.5
  * Added cmocka_set_skip_filter()
  * cmocka version 1.1.4
  * Added assert_float(_not)_equal()
  * Added expect_any_always()
  * Small bug fixes</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1556107200">- Disable LTO (boo#1133122).</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1676635200">- Update to version 1.1.6
  * Added new assert macros to compare 2 double given an epsilon
  * Added meson build system
  * Added header with version to TAP13 output
  * Fixed issues with MSVC
  * Fixed TAP output for skipped tests
  * Fixed issue with fail_msg
  * CMake generated configs for find_package(cmocka)
  * Documentation improvements</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1677499200">- Update to version 1.1.7
  * Fixed tarball generation</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1683288000">- Add missing cmake config files for 32bit packages</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1692792000">- split off -doc and -cmake subpackages, which aren't necessary
  for basic development with cmocka, to avoid pulling in the
  entire cmake-full package (38MB) with libcmocka-devel
- minor simplifications in spec file</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1717761600">- Fix baselibs.conf for libcmocka-cmake subpackage</changelog>
</package>
<package pkgid="315f486167f2dd1b67541ea047ce18c0f69625f287c92154393ebae8f01decf895d75d53a364469f1fd635aaea818b94750a8a673b750a51e8bebf73ef130513" name="cmocka-debugsource" arch="x86_64">
  <version epoch="0" ver="1.1.7" rel="4.1"/>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1535544000">- Update to version 1.1.2
  * Added function to filter tests (cmocka_set_test_filter)
  * Added new mocking example (uptime)
  * Fixed fixture error reporting
  * Fixed compiler flags detection
  * Some improvement for API documentation
- Added HTML documentation</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1535630400">- Fix packaging the documentation
- Added 0001-cmake-Only-support-building-docs-the-on-cmake-3.9.patch</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1538049600">- Update to version 1.1.3
  * Fixed subunit output on failures
  * Do not abort if a test is skipped
  * Switched to Modern CMake
- Removed 0001-cmake-Only-support-building-docs-the-on-cmake-3.9.patch</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1553774400">- Update to version 1.1.5
  * Added cmocka_set_skip_filter()
  * cmocka version 1.1.4
  * Added assert_float(_not)_equal()
  * Added expect_any_always()
  * Small bug fixes</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1556107200">- Disable LTO (boo#1133122).</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1676635200">- Update to version 1.1.6
  * Added new assert macros to compare 2 double given an epsilon
  * Added meson build system
  * Added header with version to TAP13 output
  * Fixed issues with MSVC
  * Fixed TAP output for skipped tests
  * Fixed issue with fail_msg
  * CMake generated configs for find_package(cmocka)
  * Documentation improvements</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1677499200">- Update to version 1.1.7
  * Fixed tarball generation</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1683288000">- Add missing cmake config files for 32bit packages</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1692792000">- split off -doc and -cmake subpackages, which aren't necessary
  for basic development with cmocka, to avoid pulling in the
  entire cmake-full package (38MB) with libcmocka-devel
- minor simplifications in spec file</changelog>
  <changelog author="Andreas Schneider &lt;asn@cryptomilk.org&gt;" date="1717761600">- Fix baselibs.conf for libcmocka-cmake subpackage</changelog>
</package>
<package pkgid="7e528823a3e0c36ef4033c02205ea6f0adad4b0570ac54075f7ffb4af0036ae5fde95a6a1e0a21edbd0b0450e8afd0a2fff19e770246f4662db4bc49a1a4b297" name="cni" arch="src">
  <version epoch="0" ver="1.2.2" rel="1.0.2.1.sr20240605"/>
  <changelog author="kmacinnes@suse.com" date="1516276800">- Add snapper as a requirement, to provide mksubvolume</changelog>
  <changelog author="kmacinnes@suse.com" date="1517227200">- Use full/absolute path for mksubvolume
- Change snapper Requires to a Requires(post)</changelog>
  <changelog author="jmassaguerpla@suse.com" date="1522843200">- Remove creating subvolumes. This should be in another package (kubernetes-kubelet)</changelog>
  <changelog author="dcassany@suse.com" date="1528113600">- Make use of %license macro</changelog>
  <changelog author="dcassany@suse.com" date="1528200000">- Refactor %license usage to a simpler form</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1558094400">- Update to version 0.7.0:
  * Spec changes:
    + Use more RFC2119 style language in specification (must, should...)
    + add notes about ADD/DEL ordering
    + Make the container ID required and unique.
    + remove the version parameter from ADD and DEL commands.
    + Network interface name matters
    + be explicit about optional and required structure members
    + add CHECK method
    + Add a well-known error for "try again"
    + SPEC.md: clarify meaning of 'routes'
  * Library changes:
    + pkg/types: Makes IPAM concrete type
    + libcni: return error if Type is empty
    + skel: VERSION shouldn't block on stdin
    + non-pointer instances of types.Route now correctly marshal to JSON
    + libcni: add ValidateNetwork and ValidateNetworkList functions
    + pkg/skel: return error if JSON config has no network name
    + skel: add support for plugin version string
    + libcni: make exec handling an interface for better downstream testing
    + libcni: api now takes a Context to allow operations to be timed out or cancelled
    + types/version: add helper to parse PrevResult
    + skel: only print about message, not errors
    + skel,invoke,libcni: implementation of CHECK method
    + cnitool: Honor interface name supplied via CNI_IFNAME environment variable.
    + cnitool: validate correct number of args
    + Don't copy gw from IP4.Gateway to Route.GW When converting from 0.2.0
    + add PrintTo method to Result interface
    + Return a better error when the plugin returns none
- Install sleep binary into CNI plugin directory
- Restore build.sh script which was removed upstream</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1563278400">- Update to version 0.7.1 (bsc#1160460):
  * Library changes:
    + invoke : ensure custom envs of CNIArgs are prepended to process envs
    + add GetNetworkListCachedResult to CNI interface
    + delegate : allow delegation funcs override CNI_COMMAND env automatically in heritance
  * Documentation &amp; Convention changes:
    + Update cnitool documentation for spec v0.4.0
    + Add cni-route-override to CNI plugin list
  * Build and test changes:
    + Release: bump go to v1.12</changelog>
  <changelog author="Sascha Grunert &lt;sgrunert@suse.com&gt;" date="1578916800">- Set correct CNI version for 99-loopback.conf</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1601553600">- Update to version 0.8.0:
  * Specification and Conventions changes
    + docs: add ips and mac to well-known capabilities
    + add interface name validation
    + Add GUID to well known Capabilities
    + Add DeviceID attribute to RuntimeConfig
    + Typo fixes for infiniband GUID
    + Fix linting issues in docs, add headers to json example, update errors into table
  * Documentation changes
    + Update cnitool docs
    + Remove extra ',' chars which makes conflist examples invalid.
  * libcni changes
    + Remove Result.String method
    + libcni: add config caching [v2]
    + clean up : fix staticcheck warnings
    + libcni: add InitCNIConfigWithCacheDir() and deprecate RuntimeConfig.CacheDir
    + skel: clean up errors in skel and add some well-known error codes
    + libcni: find plugin in exec
    + validate containerID and networkName
    + skel: remove needless functions and types
    + libcni: also cache IfName
    + libcni: fix cache file 'result' key name
    + Bump Go version to 1.13
    + When CNI version isn't supplied in config, use default.
    + intercept netplugin std error
    + invoke: capture and return stderr if plugin exits unexpectedly
    + Retry exec commands on text file busy</changelog>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1615896000">- Set GO111MODULE=auto to build with go1.16+
  * Default changed to GO111MODULE=on in go1.16
  * Set temporarily until using upstream release with go.mod
  * Drop BuildRequires: golang-packaging not currently using macros
  * Add BuildRequires: golang(API) &gt;= 1.13 recommended dependency expression</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1619265600">- use buildmode=pie (cnitool is installed into sbindir)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1622462400">- Update to version 0.8.1:
  * This is a security release that fixes a single bug: bsc#1181961 aka CVE-2021-20206
  - Tighten up plugin-finding logic (#811).</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1648296000">- Update to version v1.0.1:
  * Rewritten spec
    + non-List configurations are removed
    + the version field in the interfaces array was redundant and
    is removed
  * libcni improvements
- Employ RPM macros.go where feasible
- Use vendor tarball
- Remove ./build.sh</changelog>
  <changelog author="Andrea Manzini &lt;andrea.manzini@suse.com&gt;" date="1668081600">- Update to version 1.1.2:
  * spec: fix format
  * libcni: handle empty version when parsing version
  * [exec-plugins]: support plugin lists
  This is a minor update to the CNI libraries and tooling.
  This does not bump the protocol / spec version, which remains at v1.0.0</changelog>
  <changelog author="andrea.manzini@suse.com" date="1672315200">- Update to version 1.1.2:
  * Fix successfully unmarshalled nil raw result
  * spec: fix format
  * invoke: if Result CNIVersion is empty use netconf CNIVersion
  * cnitool: address golint error
  * libcni: handle empty version when parsing version
  * Switch to ginkgo/v2
  * add security heading to README
  * Maintainers: add Mike Zappa
  * introduce hybridnet to thrid-party plugins
  * Fix incorrect pointer inputs to `json.Unmarshal`
  * fix version of cni v0.8.1 does not have a directory of github.com/containernetworking/cni/pkg/types/100 refer to https://github.com/containernetworking/cni/tree/v0.8.1/pkg/types
  * Spec: Container runtime shall tear down namespaces
  * Update README.md
  * Updated README.md to include Netlox loxilight CNI
  * documentation: update Multus link in README.md to point to the k8snetworkplumbingwg repository
  * [exec-plugins]: support plugin lists
  * skel: remove superfluous err nil check in (*dispatcher).pluginMain
  * Remove Gabe Rosenhouse as maintainer
  * skel: print out CNI versions supported in help text.</changelog>
  <changelog author="Andrea Manzini &lt;andrea.manzini@suse.com&gt;" date="1672401600">- added patch 0001-fix-upstream-CVE-2021-38561.patch for [bsc#1206711]</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1696852800">- Bump BuildRequired golang version to &gt;= 1.21, fixes bsc#1216006</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1713268800">- Remove 0001-fix-upstream-CVE-2021-38561.patch, patch has been merged into
  golang.org/x/text version 0.3.7, vendored bundle now contains 0.14.0
- Stop shipping development files DCO &amp; CONTRIBUTING.md
- New upstream release 1.2.0 with spec 1.1.0:
  * GC verb
  * STATUS verb
  * Version negotiation</changelog>
  <changelog author="dcermak@suse.com" date="1718884800">- Update to version 1.2.1:
  * SPEC: add warning about preserving shared resources for GC
  * Fix faulty json.Marshal behavior for embeds types.NetConf
  * libcni: implement disableGC
  * Spec: add disableGC flag
  * GetCachedAttachments should ignore missing directories
  * libcni: always delete the cache on conflist for CNI DEL
  * supplement ns building files for darwin os</changelog>
  <changelog author="dcermak@suse.com" date="1719316800">- Update to version 1.2.2:
  * libcni: remove use of Masterminds/semver</changelog>
</package>
<package pkgid="553660b3e6896458dc46575f10b2ca67ab410becfd0c41259f52350074c02cf50db3ab9cf84e13f5ac62bc6092511ce4f2f892fed74860292b0fbcea6bad9cac" name="cni" arch="x86_64">
  <version epoch="0" ver="1.2.2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1615896000">- Set GO111MODULE=auto to build with go1.16+
  * Default changed to GO111MODULE=on in go1.16
  * Set temporarily until using upstream release with go.mod
  * Drop BuildRequires: golang-packaging not currently using macros
  * Add BuildRequires: golang(API) &gt;= 1.13 recommended dependency expression</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1619265600">- use buildmode=pie (cnitool is installed into sbindir)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1622462400">- Update to version 0.8.1:
  * This is a security release that fixes a single bug: bsc#1181961 aka CVE-2021-20206
  - Tighten up plugin-finding logic (#811).</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1648296000">- Update to version v1.0.1:
  * Rewritten spec
    + non-List configurations are removed
    + the version field in the interfaces array was redundant and
    is removed
  * libcni improvements
- Employ RPM macros.go where feasible
- Use vendor tarball
- Remove ./build.sh</changelog>
  <changelog author="Andrea Manzini &lt;andrea.manzini@suse.com&gt;" date="1668081600">- Update to version 1.1.2:
  * spec: fix format
  * libcni: handle empty version when parsing version
  * [exec-plugins]: support plugin lists
  This is a minor update to the CNI libraries and tooling.
  This does not bump the protocol / spec version, which remains at v1.0.0</changelog>
  <changelog author="andrea.manzini@suse.com" date="1672315200">- Update to version 1.1.2:
  * Fix successfully unmarshalled nil raw result
  * spec: fix format
  * invoke: if Result CNIVersion is empty use netconf CNIVersion
  * cnitool: address golint error
  * libcni: handle empty version when parsing version
  * Switch to ginkgo/v2
  * add security heading to README
  * Maintainers: add Mike Zappa
  * introduce hybridnet to thrid-party plugins
  * Fix incorrect pointer inputs to `json.Unmarshal`
  * fix version of cni v0.8.1 does not have a directory of github.com/containernetworking/cni/pkg/types/100 refer to https://github.com/containernetworking/cni/tree/v0.8.1/pkg/types
  * Spec: Container runtime shall tear down namespaces
  * Update README.md
  * Updated README.md to include Netlox loxilight CNI
  * documentation: update Multus link in README.md to point to the k8snetworkplumbingwg repository
  * [exec-plugins]: support plugin lists
  * skel: remove superfluous err nil check in (*dispatcher).pluginMain
  * Remove Gabe Rosenhouse as maintainer
  * skel: print out CNI versions supported in help text.</changelog>
  <changelog author="Andrea Manzini &lt;andrea.manzini@suse.com&gt;" date="1672401600">- added patch 0001-fix-upstream-CVE-2021-38561.patch for [bsc#1206711]</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1696852800">- Bump BuildRequired golang version to &gt;= 1.21, fixes bsc#1216006</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1713268800">- Remove 0001-fix-upstream-CVE-2021-38561.patch, patch has been merged into
  golang.org/x/text version 0.3.7, vendored bundle now contains 0.14.0
- Stop shipping development files DCO &amp; CONTRIBUTING.md
- New upstream release 1.2.0 with spec 1.1.0:
  * GC verb
  * STATUS verb
  * Version negotiation</changelog>
  <changelog author="dcermak@suse.com" date="1718884800">- Update to version 1.2.1:
  * SPEC: add warning about preserving shared resources for GC
  * Fix faulty json.Marshal behavior for embeds types.NetConf
  * libcni: implement disableGC
  * Spec: add disableGC flag
  * GetCachedAttachments should ignore missing directories
  * libcni: always delete the cache on conflist for CNI DEL
  * supplement ns building files for darwin os</changelog>
  <changelog author="dcermak@suse.com" date="1719316800">- Update to version 1.2.2:
  * libcni: remove use of Masterminds/semver</changelog>
</package>
<package pkgid="1245ed6e6be82c7a36f3d7ee6bea552f62b14896be7830f6612b8940dc7915637e21b176411c26adf5a5a490644503c8609ebc827fc1394e4fcb52b185620314" name="cni-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.2.2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Jeff Kowalczyk &lt;jkowalczyk@suse.com&gt;" date="1615896000">- Set GO111MODULE=auto to build with go1.16+
  * Default changed to GO111MODULE=on in go1.16
  * Set temporarily until using upstream release with go.mod
  * Drop BuildRequires: golang-packaging not currently using macros
  * Add BuildRequires: golang(API) &gt;= 1.13 recommended dependency expression</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1619265600">- use buildmode=pie (cnitool is installed into sbindir)</changelog>
  <changelog author="John Paul Adrian Glaubitz &lt;adrian.glaubitz@suse.com&gt;" date="1622462400">- Update to version 0.8.1:
  * This is a security release that fixes a single bug: bsc#1181961 aka CVE-2021-20206
  - Tighten up plugin-finding logic (#811).</changelog>
  <changelog author="Enrico Belleri &lt;idesmi@protonmail.com&gt;" date="1648296000">- Update to version v1.0.1:
  * Rewritten spec
    + non-List configurations are removed
    + the version field in the interfaces array was redundant and
    is removed
  * libcni improvements
- Employ RPM macros.go where feasible
- Use vendor tarball
- Remove ./build.sh</changelog>
  <changelog author="Andrea Manzini &lt;andrea.manzini@suse.com&gt;" date="1668081600">- Update to version 1.1.2:
  * spec: fix format
  * libcni: handle empty version when parsing version
  * [exec-plugins]: support plugin lists
  This is a minor update to the CNI libraries and tooling.
  This does not bump the protocol / spec version, which remains at v1.0.0</changelog>
  <changelog author="andrea.manzini@suse.com" date="1672315200">- Update to version 1.1.2:
  * Fix successfully unmarshalled nil raw result
  * spec: fix format
  * invoke: if Result CNIVersion is empty use netconf CNIVersion
  * cnitool: address golint error
  * libcni: handle empty version when parsing version
  * Switch to ginkgo/v2
  * add security heading to README
  * Maintainers: add Mike Zappa
  * introduce hybridnet to thrid-party plugins
  * Fix incorrect pointer inputs to `json.Unmarshal`
  * fix version of cni v0.8.1 does not have a directory of github.com/containernetworking/cni/pkg/types/100 refer to https://github.com/containernetworking/cni/tree/v0.8.1/pkg/types
  * Spec: Container runtime shall tear down namespaces
  * Update README.md
  * Updated README.md to include Netlox loxilight CNI
  * documentation: update Multus link in README.md to point to the k8snetworkplumbingwg repository
  * [exec-plugins]: support plugin lists
  * skel: remove superfluous err nil check in (*dispatcher).pluginMain
  * Remove Gabe Rosenhouse as maintainer
  * skel: print out CNI versions supported in help text.</changelog>
  <changelog author="Andrea Manzini &lt;andrea.manzini@suse.com&gt;" date="1672401600">- added patch 0001-fix-upstream-CVE-2021-38561.patch for [bsc#1206711]</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1696852800">- Bump BuildRequired golang version to &gt;= 1.21, fixes bsc#1216006</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1713268800">- Remove 0001-fix-upstream-CVE-2021-38561.patch, patch has been merged into
  golang.org/x/text version 0.3.7, vendored bundle now contains 0.14.0
- Stop shipping development files DCO &amp; CONTRIBUTING.md
- New upstream release 1.2.0 with spec 1.1.0:
  * GC verb
  * STATUS verb
  * Version negotiation</changelog>
  <changelog author="dcermak@suse.com" date="1718884800">- Update to version 1.2.1:
  * SPEC: add warning about preserving shared resources for GC
  * Fix faulty json.Marshal behavior for embeds types.NetConf
  * libcni: implement disableGC
  * Spec: add disableGC flag
  * GetCachedAttachments should ignore missing directories
  * libcni: always delete the cache on conflist for CNI DEL
  * supplement ns building files for darwin os</changelog>
  <changelog author="dcermak@suse.com" date="1719316800">- Update to version 1.2.2:
  * libcni: remove use of Masterminds/semver</changelog>
</package>
<package pkgid="0f487743086bc1efad4433d2f7fb48e78d000fba3becebc1267d7a2860d2eaff9fba3c1fe967fd24c08b09397425e7ef490adf5dff1c8d8ac931f7c20d36e485" name="colord-kde" arch="src">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Improve CMakePresets.json
  * Drop unused KIO dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Extract i18n messages from *.qml (kde#432073)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Extract i18n messages from *.qml
  * Const'ify pointer
  * Drop unused kconfigwidgets dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="21f41d9e045ee9bb325ba35a2d30b9ded1f541f919aa9cb5b1022d924201f8988732bc15317a38b4a10052eb457529cfc36542706292030de86d2ccbcc9d53f0" name="colord-kde" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Improve CMakePresets.json
  * Drop unused KIO dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Extract i18n messages from *.qml (kde#432073)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Extract i18n messages from *.qml
  * Const'ify pointer
  * Drop unused kconfigwidgets dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="5c19db5bec023a65d8a3b10b973a8f3ba0d8e6cad9b36b1fc3262dc176f3574bbcafb1e88339c4a268dad213588b0f93f626b6d8c341188f4086ff6dfe3847f5" name="colord-kde-debuginfo" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Improve CMakePresets.json
  * Drop unused KIO dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Extract i18n messages from *.qml (kde#432073)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Extract i18n messages from *.qml
  * Const'ify pointer
  * Drop unused kconfigwidgets dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="de109df754ff5aeac3400f3b5ad5f44e20bb448f6f78c463df9ae68071ca6a98ceef438a949d13fc93f078d7c63ebca5139841023aff66e0d75bd71ca2eeee87" name="colord-kde-debugsource" arch="x86_64">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Improve CMakePresets.json
  * Drop unused KIO dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Extract i18n messages from *.qml (kde#432073)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Extract i18n messages from *.qml
  * Const'ify pointer
  * Drop unused kconfigwidgets dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="4403aeaa32971e42f579b99ef2cf21c4075d8851baedcb0c22e2641a64625165fefa1c96ca1da15b6178815b7d30041c2090d1cd9c81661a16c289aa2ae93c4b" name="colord-kde-lang" arch="noarch">
  <version epoch="0" ver="24.05.1" rel="1.1"/>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1679054400">- Update to 23.03.80
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1680264000">- Update to 23.03.90
  * New feature release</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1681560000">- Update to 23.04.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.0/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1683633600">- Update to 23.04.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.1/
- No code change since 23.04.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1686052800">- Update to 23.04.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.2/
- No code change since 23.04.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1688472000">- Update to 23.04.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.04.3/
- No code change since 23.04.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1690891200">- Update to 23.07.80
  * New feature release
- Changes since 23.04.3:
  * Improve CMakePresets.json
  * Drop unused KIO dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692014400">- Update to 23.07.90
  * New feature release
- No code change since 23.07.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1692532800">- Update to 23.08.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.0/
- No code change since 23.07.90</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1694520000">- Update to 23.08.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.1/
- No code change since 23.08.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1696939200">- Update to 23.08.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.2/
- No code change since 23.08.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1699358400">- Update to 23.08.3
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.3/
- No code change since 23.08.2</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1701777600">- Update to 23.08.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/23.08.4/
- No code change since 23.08.3</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1707480000">- Update to 24.01.95
  * https://kde.org/announcements/megarelease/6/rc2/</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1708689600">- Update to 24.02.0
  * New feature release
- Changes since 24.01.95:
  * Extract i18n messages from *.qml (kde#432073)</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1710849600">- Update to 24.02.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.1/
- No code change since 24.02.0</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1712664000">- Update to 24.02.2
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.02.2/
- No code change since 24.02.1</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1714737600">- Update to 24.04.80
  * New feature release
- Changes since 24.02.2:
  * Extract i18n messages from *.qml
  * Const'ify pointer
  * Drop unused kconfigwidgets dependency</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1716120000">- Update to 24.05.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.0/
- No code change since 24.04.80</changelog>
  <changelog author="Christophe Marin &lt;christophe@krop.fr&gt;" date="1718193600">- Update to 24.05.1
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/gear/24.05.1/
- No code change since 24.05.0</changelog>
</package>
<package pkgid="c4fc48777b3d68bb3aa0a6aa2d036460ebe1bf6be6249687eeb032dc7fa1785e2f9fe98edff4ff34cef9d984ae9d33a5b211849f51c2f2544a46a03b81b69fe9" name="conntrack-tools" arch="src">
  <version epoch="0" ver="1.4.8" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1338465600">- Resolve compilation failure due to missing #include</changelog>
  <changelog author="jengelh@inai.de" date="1343736000">- Update to new upstream release 1.2.2
  * conntrackd: commit operation has to be synchronous
  * conntrackd: implement selective flushing for -t and -F commands</changelog>
  <changelog author="jengelh@inai.de" date="1349697600">- Update to new upstream release 1.4.0
  * This release adds the user-space helper infrastructure which
  includes the RPC portmapper (to support NFSv3) and Oracle*TNS
  helpers.</changelog>
  <changelog author="sbrabec@suse.cz" date="1353412800">- Verify GPG signature</changelog>
  <changelog author="jengelh@inai.de" date="1362398400">- Update to new upstream release 1.4.1
  * conntrack: add support to dump the dying and unconfirmed list via
  ctnetlink
  * conntrackd: fix deadlock due to wrong nested signal blocking</changelog>
  <changelog author="jengelh@inai.de" date="1375876800">- Update to new upstream release 1.4.2
  * This release includes bugfixes and the connlabel support.</changelog>
  <changelog author="jengelh@inai.de" date="1411473600">- Drop gpg-offline build-time requirement; this is now handled by
  the local source validator</changelog>
  <changelog author="jengelh@inai.de" date="1420718400">- Update to new git snapshot 1.4.2.g26
  * Chromecast/SSDP support, SSDP userspace helper
  * TFTP userspace helper support
  * Support for attaching expectations via nfqueue
  * Fix directory lookup for helper plugins
  * Fixes a possible crash if conntrackd sees DCCP, SCTP and ICMPv6
  traffic and the corresponding kernel modules that track this
  traffic are not available. [bnc#942419, CVE-2015-6496]</changelog>
  <changelog author="jengelh@inai.de" date="1441800000">- Update to new upstream release 1.4.3
  * conntrack: fix expectation entry creation
  * expect: Fix wrong memset usage
  * cthelper: don't pass up a 0 length queue
  * conntrackd: allow strings with underscore from flex scanner
  * conntrack: fix setting labels in updates</changelog>
  <changelog author="jengelh@inai.de" date="1471867200">- Update to new upstream release 1.4.4
  * conntrackd: add systemd support
  * conntrack: support delete by label
  * conntrack: add support for netmask filtering
  * conntrack: add support for CIDR notation
  * conntrack: Add missing tables "dying" and "unconfirmed"
  to usage output.</changelog>
  <changelog author="jengelh@inai.de" date="1516104000">- submission from lars@linux-schulserver.de, partially applied
- split out new subpackage "conntrackd" for the eponymous
  daemon (has systemd dependencies)
- add systemd service, logrotate config, sample sysconfig,
  and sample config file.</changelog>
  <changelog author="jengelh@inai.de" date="1521201600">- Add tirpc for openSUSE 15 and onwards.</changelog>
  <changelog author="jengelh@inai.de" date="1525176000">- Update to new upstream release 1.4.5
  * new synproxy support
  * improved logging support (both stdout/stderr and log files)
  * new mDNS ct helper
  * deprecate unix backlog configuration
  * drop old/obsolete/deprecated conntrackd.conf config options
  * improved support for UPnP in the SSDP ct helper
  * add stronger TCP flags support
  * conntrack CLI tool: new support for IPv6 NAT
  * nfct CLI tool: some improvements to the build (-z lazy)</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563192000">- Fix 1.4.5 parser issues (bsc#1141480):
  conntrackd-use-strncpy-to-unix-path.patch
  conntrackd-Use-strdup-in-lexer.patch
  conntrackd-use-correct-max-unix-path-length.patch</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563883200">- conntrackd-cthelper-Add-new-SLP-helper.patch:
  userspace conntrack helper for SLP (Service Location Protocol) to
  replace SUSE specific kernel helper (rejected by upstream) from
  openSUSE / SLE kernel packages (FATE#324143 bsc#1127886)
- run autoreconf before build (patch above touches Makefile.am)
- add commented out conntrack helper config example to default
  conntrackd.conf
- drop deprecated (and ignored) options Nice and UNIX/Backlog from
  default conntrackd.conf</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1585742400">- Update to release 1.4.6
  * conntrackd: fix UDP IPv6 destination address not being usable
  * conntrack: Allow protocol number zero
  * conntrackd: cthelper: Add new SLP helper
- Drop conntrackd-Use-strdup-in-lexer.patch,
  conntrackd-use-strncpy-to-unix-path.patch,
  conntrackd-cthelper-Add-new-SLP-helper.patch,
  conntrackd-use-correct-max-unix-path-length.patch (merged)
- Drop require on systemd, since it can run in a namespace without.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Modified:
  * conntrackd.service</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1665057600">- Update to release 1.4.7
  * Changes to the "conntrack" program:
  * "clash_resolve" and "chaintoolong" stats counters
  * Defaults to the `unspec` family if the `-f` flag is absent,
    so as to improve support for dual-stack setups.
  * Support filtering events by IP address family.
  * Support flushing per IP address family.
  * Added the `save` output format representing data in conntrack
    parameters, and support for loading such files back.
  * Remove the `-o userspace` flag and always tag user space
    triggered events.
  * Introduce the `-A` flags, a variant of `-I` which does not
    fail if the entry exists already.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1695988800">- Update to release 1.4.8
  * Fix spurious EOPNOSUPP and ENOBUFS errors with -U/--update
    command.
  * Fix spurious ENOENT -D/--delete.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="1e5765929caaca813d66259566943ea71bdfeb9cd7ce6ac6c3e1e469f141740e360a65d6c239111b4723edbec337211979b652c097d7ddddc9efa4d5ee10e9b5" name="conntrack-tools" arch="x86_64">
  <version epoch="0" ver="1.4.8" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1516104000">- submission from lars@linux-schulserver.de, partially applied
- split out new subpackage "conntrackd" for the eponymous
  daemon (has systemd dependencies)
- add systemd service, logrotate config, sample sysconfig,
  and sample config file.</changelog>
  <changelog author="jengelh@inai.de" date="1521201600">- Add tirpc for openSUSE 15 and onwards.</changelog>
  <changelog author="jengelh@inai.de" date="1525176000">- Update to new upstream release 1.4.5
  * new synproxy support
  * improved logging support (both stdout/stderr and log files)
  * new mDNS ct helper
  * deprecate unix backlog configuration
  * drop old/obsolete/deprecated conntrackd.conf config options
  * improved support for UPnP in the SSDP ct helper
  * add stronger TCP flags support
  * conntrack CLI tool: new support for IPv6 NAT
  * nfct CLI tool: some improvements to the build (-z lazy)</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563192000">- Fix 1.4.5 parser issues (bsc#1141480):
  conntrackd-use-strncpy-to-unix-path.patch
  conntrackd-Use-strdup-in-lexer.patch
  conntrackd-use-correct-max-unix-path-length.patch</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563883200">- conntrackd-cthelper-Add-new-SLP-helper.patch:
  userspace conntrack helper for SLP (Service Location Protocol) to
  replace SUSE specific kernel helper (rejected by upstream) from
  openSUSE / SLE kernel packages (FATE#324143 bsc#1127886)
- run autoreconf before build (patch above touches Makefile.am)
- add commented out conntrack helper config example to default
  conntrackd.conf
- drop deprecated (and ignored) options Nice and UNIX/Backlog from
  default conntrackd.conf</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1585742400">- Update to release 1.4.6
  * conntrackd: fix UDP IPv6 destination address not being usable
  * conntrack: Allow protocol number zero
  * conntrackd: cthelper: Add new SLP helper
- Drop conntrackd-Use-strdup-in-lexer.patch,
  conntrackd-use-strncpy-to-unix-path.patch,
  conntrackd-cthelper-Add-new-SLP-helper.patch,
  conntrackd-use-correct-max-unix-path-length.patch (merged)
- Drop require on systemd, since it can run in a namespace without.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Modified:
  * conntrackd.service</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1665057600">- Update to release 1.4.7
  * Changes to the "conntrack" program:
  * "clash_resolve" and "chaintoolong" stats counters
  * Defaults to the `unspec` family if the `-f` flag is absent,
    so as to improve support for dual-stack setups.
  * Support filtering events by IP address family.
  * Support flushing per IP address family.
  * Added the `save` output format representing data in conntrack
    parameters, and support for loading such files back.
  * Remove the `-o userspace` flag and always tag user space
    triggered events.
  * Introduce the `-A` flags, a variant of `-I` which does not
    fail if the entry exists already.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1695988800">- Update to release 1.4.8
  * Fix spurious EOPNOSUPP and ENOBUFS errors with -U/--update
    command.
  * Fix spurious ENOENT -D/--delete.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="003d9e073be8f8f3a161a95963739ff0b7efe38368f0118c385b1fb69928e2e730ca10812b32e93aa493beb50317d21800f858bf9854975aa017484b4a5ecb6c" name="conntrack-tools-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.4.8" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1516104000">- submission from lars@linux-schulserver.de, partially applied
- split out new subpackage "conntrackd" for the eponymous
  daemon (has systemd dependencies)
- add systemd service, logrotate config, sample sysconfig,
  and sample config file.</changelog>
  <changelog author="jengelh@inai.de" date="1521201600">- Add tirpc for openSUSE 15 and onwards.</changelog>
  <changelog author="jengelh@inai.de" date="1525176000">- Update to new upstream release 1.4.5
  * new synproxy support
  * improved logging support (both stdout/stderr and log files)
  * new mDNS ct helper
  * deprecate unix backlog configuration
  * drop old/obsolete/deprecated conntrackd.conf config options
  * improved support for UPnP in the SSDP ct helper
  * add stronger TCP flags support
  * conntrack CLI tool: new support for IPv6 NAT
  * nfct CLI tool: some improvements to the build (-z lazy)</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563192000">- Fix 1.4.5 parser issues (bsc#1141480):
  conntrackd-use-strncpy-to-unix-path.patch
  conntrackd-Use-strdup-in-lexer.patch
  conntrackd-use-correct-max-unix-path-length.patch</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563883200">- conntrackd-cthelper-Add-new-SLP-helper.patch:
  userspace conntrack helper for SLP (Service Location Protocol) to
  replace SUSE specific kernel helper (rejected by upstream) from
  openSUSE / SLE kernel packages (FATE#324143 bsc#1127886)
- run autoreconf before build (patch above touches Makefile.am)
- add commented out conntrack helper config example to default
  conntrackd.conf
- drop deprecated (and ignored) options Nice and UNIX/Backlog from
  default conntrackd.conf</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1585742400">- Update to release 1.4.6
  * conntrackd: fix UDP IPv6 destination address not being usable
  * conntrack: Allow protocol number zero
  * conntrackd: cthelper: Add new SLP helper
- Drop conntrackd-Use-strdup-in-lexer.patch,
  conntrackd-use-strncpy-to-unix-path.patch,
  conntrackd-cthelper-Add-new-SLP-helper.patch,
  conntrackd-use-correct-max-unix-path-length.patch (merged)
- Drop require on systemd, since it can run in a namespace without.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Modified:
  * conntrackd.service</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1665057600">- Update to release 1.4.7
  * Changes to the "conntrack" program:
  * "clash_resolve" and "chaintoolong" stats counters
  * Defaults to the `unspec` family if the `-f` flag is absent,
    so as to improve support for dual-stack setups.
  * Support filtering events by IP address family.
  * Support flushing per IP address family.
  * Added the `save` output format representing data in conntrack
    parameters, and support for loading such files back.
  * Remove the `-o userspace` flag and always tag user space
    triggered events.
  * Introduce the `-A` flags, a variant of `-I` which does not
    fail if the entry exists already.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1695988800">- Update to release 1.4.8
  * Fix spurious EOPNOSUPP and ENOBUFS errors with -U/--update
    command.
  * Fix spurious ENOENT -D/--delete.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="9cdec8353c8ea895420ff69c4c9d27e73b9a33c4ea9a23879687bce40a520a3780826a3bd4b7e20bd5c8652c7f5c594e9f69283b453aef2816e4df5618841409" name="conntrack-tools-debugsource" arch="x86_64">
  <version epoch="0" ver="1.4.8" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1516104000">- submission from lars@linux-schulserver.de, partially applied
- split out new subpackage "conntrackd" for the eponymous
  daemon (has systemd dependencies)
- add systemd service, logrotate config, sample sysconfig,
  and sample config file.</changelog>
  <changelog author="jengelh@inai.de" date="1521201600">- Add tirpc for openSUSE 15 and onwards.</changelog>
  <changelog author="jengelh@inai.de" date="1525176000">- Update to new upstream release 1.4.5
  * new synproxy support
  * improved logging support (both stdout/stderr and log files)
  * new mDNS ct helper
  * deprecate unix backlog configuration
  * drop old/obsolete/deprecated conntrackd.conf config options
  * improved support for UPnP in the SSDP ct helper
  * add stronger TCP flags support
  * conntrack CLI tool: new support for IPv6 NAT
  * nfct CLI tool: some improvements to the build (-z lazy)</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563192000">- Fix 1.4.5 parser issues (bsc#1141480):
  conntrackd-use-strncpy-to-unix-path.patch
  conntrackd-Use-strdup-in-lexer.patch
  conntrackd-use-correct-max-unix-path-length.patch</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563883200">- conntrackd-cthelper-Add-new-SLP-helper.patch:
  userspace conntrack helper for SLP (Service Location Protocol) to
  replace SUSE specific kernel helper (rejected by upstream) from
  openSUSE / SLE kernel packages (FATE#324143 bsc#1127886)
- run autoreconf before build (patch above touches Makefile.am)
- add commented out conntrack helper config example to default
  conntrackd.conf
- drop deprecated (and ignored) options Nice and UNIX/Backlog from
  default conntrackd.conf</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1585742400">- Update to release 1.4.6
  * conntrackd: fix UDP IPv6 destination address not being usable
  * conntrack: Allow protocol number zero
  * conntrackd: cthelper: Add new SLP helper
- Drop conntrackd-Use-strdup-in-lexer.patch,
  conntrackd-use-strncpy-to-unix-path.patch,
  conntrackd-cthelper-Add-new-SLP-helper.patch,
  conntrackd-use-correct-max-unix-path-length.patch (merged)
- Drop require on systemd, since it can run in a namespace without.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Modified:
  * conntrackd.service</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1665057600">- Update to release 1.4.7
  * Changes to the "conntrack" program:
  * "clash_resolve" and "chaintoolong" stats counters
  * Defaults to the `unspec` family if the `-f` flag is absent,
    so as to improve support for dual-stack setups.
  * Support filtering events by IP address family.
  * Support flushing per IP address family.
  * Added the `save` output format representing data in conntrack
    parameters, and support for loading such files back.
  * Remove the `-o userspace` flag and always tag user space
    triggered events.
  * Introduce the `-A` flags, a variant of `-I` which does not
    fail if the entry exists already.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1695988800">- Update to release 1.4.8
  * Fix spurious EOPNOSUPP and ENOBUFS errors with -U/--update
    command.
  * Fix spurious ENOENT -D/--delete.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="e98a7c9ccda9e6da9d73d396bd68a05e002e03f6e3c08db21c2c4a57a160008811d1f484b8bde101f575cf22f060358d55d53c82c36ba7739a7c9ad0712329af" name="conntrackd" arch="x86_64">
  <version epoch="0" ver="1.4.8" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1516104000">- submission from lars@linux-schulserver.de, partially applied
- split out new subpackage "conntrackd" for the eponymous
  daemon (has systemd dependencies)
- add systemd service, logrotate config, sample sysconfig,
  and sample config file.</changelog>
  <changelog author="jengelh@inai.de" date="1521201600">- Add tirpc for openSUSE 15 and onwards.</changelog>
  <changelog author="jengelh@inai.de" date="1525176000">- Update to new upstream release 1.4.5
  * new synproxy support
  * improved logging support (both stdout/stderr and log files)
  * new mDNS ct helper
  * deprecate unix backlog configuration
  * drop old/obsolete/deprecated conntrackd.conf config options
  * improved support for UPnP in the SSDP ct helper
  * add stronger TCP flags support
  * conntrack CLI tool: new support for IPv6 NAT
  * nfct CLI tool: some improvements to the build (-z lazy)</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563192000">- Fix 1.4.5 parser issues (bsc#1141480):
  conntrackd-use-strncpy-to-unix-path.patch
  conntrackd-Use-strdup-in-lexer.patch
  conntrackd-use-correct-max-unix-path-length.patch</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563883200">- conntrackd-cthelper-Add-new-SLP-helper.patch:
  userspace conntrack helper for SLP (Service Location Protocol) to
  replace SUSE specific kernel helper (rejected by upstream) from
  openSUSE / SLE kernel packages (FATE#324143 bsc#1127886)
- run autoreconf before build (patch above touches Makefile.am)
- add commented out conntrack helper config example to default
  conntrackd.conf
- drop deprecated (and ignored) options Nice and UNIX/Backlog from
  default conntrackd.conf</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1585742400">- Update to release 1.4.6
  * conntrackd: fix UDP IPv6 destination address not being usable
  * conntrack: Allow protocol number zero
  * conntrackd: cthelper: Add new SLP helper
- Drop conntrackd-Use-strdup-in-lexer.patch,
  conntrackd-use-strncpy-to-unix-path.patch,
  conntrackd-cthelper-Add-new-SLP-helper.patch,
  conntrackd-use-correct-max-unix-path-length.patch (merged)
- Drop require on systemd, since it can run in a namespace without.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Modified:
  * conntrackd.service</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1665057600">- Update to release 1.4.7
  * Changes to the "conntrack" program:
  * "clash_resolve" and "chaintoolong" stats counters
  * Defaults to the `unspec` family if the `-f` flag is absent,
    so as to improve support for dual-stack setups.
  * Support filtering events by IP address family.
  * Support flushing per IP address family.
  * Added the `save` output format representing data in conntrack
    parameters, and support for loading such files back.
  * Remove the `-o userspace` flag and always tag user space
    triggered events.
  * Introduce the `-A` flags, a variant of `-I` which does not
    fail if the entry exists already.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1695988800">- Update to release 1.4.8
  * Fix spurious EOPNOSUPP and ENOBUFS errors with -U/--update
    command.
  * Fix spurious ENOENT -D/--delete.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="270831cd9e9e0b3297115024c712de596e2536360312bb0c1a8fd8db62748bbad6ebfd02663c0a9cbe1fb714a116b7bd08fe7dfa707e7071f8da135c1f5d7ab9" name="conntrackd-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.4.8" rel="2.1"/>
  <changelog author="jengelh@inai.de" date="1516104000">- submission from lars@linux-schulserver.de, partially applied
- split out new subpackage "conntrackd" for the eponymous
  daemon (has systemd dependencies)
- add systemd service, logrotate config, sample sysconfig,
  and sample config file.</changelog>
  <changelog author="jengelh@inai.de" date="1521201600">- Add tirpc for openSUSE 15 and onwards.</changelog>
  <changelog author="jengelh@inai.de" date="1525176000">- Update to new upstream release 1.4.5
  * new synproxy support
  * improved logging support (both stdout/stderr and log files)
  * new mDNS ct helper
  * deprecate unix backlog configuration
  * drop old/obsolete/deprecated conntrackd.conf config options
  * improved support for UPnP in the SSDP ct helper
  * add stronger TCP flags support
  * conntrack CLI tool: new support for IPv6 NAT
  * nfct CLI tool: some improvements to the build (-z lazy)</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563192000">- Fix 1.4.5 parser issues (bsc#1141480):
  conntrackd-use-strncpy-to-unix-path.patch
  conntrackd-Use-strdup-in-lexer.patch
  conntrackd-use-correct-max-unix-path-length.patch</changelog>
  <changelog author="Michal Kube&#x10D;ek &lt;mkubecek@suse.cz&gt;" date="1563883200">- conntrackd-cthelper-Add-new-SLP-helper.patch:
  userspace conntrack helper for SLP (Service Location Protocol) to
  replace SUSE specific kernel helper (rejected by upstream) from
  openSUSE / SLE kernel packages (FATE#324143 bsc#1127886)
- run autoreconf before build (patch above touches Makefile.am)
- add commented out conntrack helper config example to default
  conntrackd.conf
- drop deprecated (and ignored) options Nice and UNIX/Backlog from
  default conntrackd.conf</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1585742400">- Update to release 1.4.6
  * conntrackd: fix UDP IPv6 destination address not being usable
  * conntrack: Allow protocol number zero
  * conntrackd: cthelper: Add new SLP helper
- Drop conntrackd-Use-strdup-in-lexer.patch,
  conntrackd-use-strncpy-to-unix-path.patch,
  conntrackd-cthelper-Add-new-SLP-helper.patch,
  conntrackd-use-correct-max-unix-path-length.patch (merged)
- Drop require on systemd, since it can run in a namespace without.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Modified:
  * conntrackd.service</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1665057600">- Update to release 1.4.7
  * Changes to the "conntrack" program:
  * "clash_resolve" and "chaintoolong" stats counters
  * Defaults to the `unspec` family if the `-f` flag is absent,
    so as to improve support for dual-stack setups.
  * Support filtering events by IP address family.
  * Support flushing per IP address family.
  * Added the `save` output format representing data in conntrack
    parameters, and support for loading such files back.
  * Remove the `-o userspace` flag and always tag user space
    triggered events.
  * Introduce the `-A` flags, a variant of `-I` which does not
    fail if the entry exists already.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1695988800">- Update to release 1.4.8
  * Fix spurious EOPNOSUPP and ENOBUFS errors with -U/--update
    command.
  * Fix spurious ENOENT -D/--delete.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove rc* symlinks</changelog>
</package>
<package pkgid="1fadac0f2733cc643192fa44da1bb1a5fbf1e68fac1fe5cc124dff552e9eef604573546e04dcf0ae2a5c1c08483c2e3edfbbb2c4101a731204ef92d2f4fceb69" name="containerd" arch="src">
  <version epoch="0" ver="1.7.17" rel="2.0.2.1.sr20240605"/>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670328000">- Update to containerd v1.6.9 for Docker v20.10.21-ce. Also includes a fix for
  CVE-2022-27191. boo#1206065 bsc#1197284 Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.9&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670328001">- Update to containerd v1.6.11. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.11&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670500800">- Update to containerd v1.6.12 to fix CVE-2022-23471 bsc#1206235. Upstream
  release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.12&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1675944000">- Update to containerd v1.6.16 for Docker v23.0.1-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.16&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1677672000">- Re-build containerd to use updated golang-packaging. jsc#1342</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1680091200">- Update to containerd v1.6.19 for Docker v23.0.2-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.19&gt;
  Includes fixes for:
  - CVE-2023-25153 bsc#1208423
  - CVE-2023-25173 bsc#1208426</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1681819200">- Update to containerd v1.6.20 for Docker v23.0.4-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.20&gt;</changelog>
  <changelog author="Marcus Meissner &lt;meissner@suse.com&gt;" date="1683201600">[ This was only released in SLE. ]
- unversion to golang requires to always use the current default go.
  (bsc#1210298)</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1684670400">- Update to containerd v1.6.21 for Docker v23.0.6-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.21&gt; bsc#1211578
- Require a minimum Go version explicitly rather than using golang(API).
  Fixes the change for bsc#1210298.</changelog>
  <changelog author="Priyanka Saggu &lt;priyanka.saggu@suse.com&gt;" date="1693483200">- Add `Provides: cri-runtime` to use containerd as container runtime in Factory
  Kubernetes packages</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1694692800">- Update to containerd v1.7.6 for Docker v24.0.6-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.6&gt; bsc#1215323</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1697198400">- Update to containerd v1.7.7. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.7&gt;
- Add patch to fix build on SLE-12:
  + 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1698408000">- Update to containerd v1.7.8. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.8&gt;
  Includes fixes for:
  - CVE-2022-1996 bsc#1200528
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1701691200">- Update to containerd v1.7.10. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.10&gt;
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Danish Prakash &lt;danish.prakash@suse.com&gt;" date="1704715200">- Add patch for bsc#1217952:
  + 0002-shim-Create-pid-file-with-0644-permissions.patch</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1705320000">- Enable manpage generation
- Make devel package noarch
- adjust rpmlint filters</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1713700800">- Use obs_scm service instead of tar_scm
- Removed patch 0002-shim-Create-pid-file-with-0644-permissions.patch
  (merged upstream at
  &lt;https://github.com/containerd/containerd/pull/9571&gt;)
- Update to containerd v1.7.15. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.15&gt;
- Update to containerd v1.7.14. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.14&gt;
- Update to containerd v1.7.13. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.13&gt;
- Update to containerd v1.7.12. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.12&gt;
- Update to containerd v1.7.11. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.11&gt;
  GHSA-jq35-85cj-fj4p bsc#1224323</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1716379200">- Update to containerd v1.7.17. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.17&gt;
- Switch back to using tar_scm service. Aside from obs_scm using more bandwidth
  and storage than a locally-compressed tar.xz, it seems there's some weird
  issue with paths in obscpio that break our SLE-12-only patch.
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch
- Update to containerd v1.7.16. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.16&gt;
  CVE-2023-45288 bsc#1221400</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1719230400">- Revert noarch for devel subpackage for SLE 15
  Switching to noarch causes issues on SLES maintenance updates, reverting it
  fixes our image builds</changelog>
</package>
<package pkgid="97f6590873fed5497d90a4a476264b7b66eacc609bf27217169cad215d4e49d2c304d1f663953dc62f7b14cb7269caf6e91b25b7e0013a489ab876dc587b05ac" name="containerd" arch="x86_64">
  <version epoch="0" ver="1.7.17" rel="2.0.2.1.sr20240605"/>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670328000">- Update to containerd v1.6.9 for Docker v20.10.21-ce. Also includes a fix for
  CVE-2022-27191. boo#1206065 bsc#1197284 Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.9&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670328001">- Update to containerd v1.6.11. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.11&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670500800">- Update to containerd v1.6.12 to fix CVE-2022-23471 bsc#1206235. Upstream
  release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.12&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1675944000">- Update to containerd v1.6.16 for Docker v23.0.1-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.16&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1677672000">- Re-build containerd to use updated golang-packaging. jsc#1342</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1680091200">- Update to containerd v1.6.19 for Docker v23.0.2-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.19&gt;
  Includes fixes for:
  - CVE-2023-25153 bsc#1208423
  - CVE-2023-25173 bsc#1208426</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1681819200">- Update to containerd v1.6.20 for Docker v23.0.4-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.20&gt;</changelog>
  <changelog author="Marcus Meissner &lt;meissner@suse.com&gt;" date="1683201600">[ This was only released in SLE. ]
- unversion to golang requires to always use the current default go.
  (bsc#1210298)</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1684670400">- Update to containerd v1.6.21 for Docker v23.0.6-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.21&gt; bsc#1211578
- Require a minimum Go version explicitly rather than using golang(API).
  Fixes the change for bsc#1210298.</changelog>
  <changelog author="Priyanka Saggu &lt;priyanka.saggu@suse.com&gt;" date="1693483200">- Add `Provides: cri-runtime` to use containerd as container runtime in Factory
  Kubernetes packages</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1694692800">- Update to containerd v1.7.6 for Docker v24.0.6-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.6&gt; bsc#1215323</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1697198400">- Update to containerd v1.7.7. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.7&gt;
- Add patch to fix build on SLE-12:
  + 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1698408000">- Update to containerd v1.7.8. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.8&gt;
  Includes fixes for:
  - CVE-2022-1996 bsc#1200528
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1701691200">- Update to containerd v1.7.10. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.10&gt;
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Danish Prakash &lt;danish.prakash@suse.com&gt;" date="1704715200">- Add patch for bsc#1217952:
  + 0002-shim-Create-pid-file-with-0644-permissions.patch</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1705320000">- Enable manpage generation
- Make devel package noarch
- adjust rpmlint filters</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1713700800">- Use obs_scm service instead of tar_scm
- Removed patch 0002-shim-Create-pid-file-with-0644-permissions.patch
  (merged upstream at
  &lt;https://github.com/containerd/containerd/pull/9571&gt;)
- Update to containerd v1.7.15. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.15&gt;
- Update to containerd v1.7.14. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.14&gt;
- Update to containerd v1.7.13. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.13&gt;
- Update to containerd v1.7.12. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.12&gt;
- Update to containerd v1.7.11. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.11&gt;
  GHSA-jq35-85cj-fj4p bsc#1224323</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1716379200">- Update to containerd v1.7.17. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.17&gt;
- Switch back to using tar_scm service. Aside from obs_scm using more bandwidth
  and storage than a locally-compressed tar.xz, it seems there's some weird
  issue with paths in obscpio that break our SLE-12-only patch.
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch
- Update to containerd v1.7.16. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.16&gt;
  CVE-2023-45288 bsc#1221400</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1719230400">- Revert noarch for devel subpackage for SLE 15
  Switching to noarch causes issues on SLES maintenance updates, reverting it
  fixes our image builds</changelog>
</package>
<package pkgid="7c8059c474b1cd2affda9a79814d17254d80f39ed5807788945f517e3056115be80fe158e5c0f7a2cdef448193b95503c10a4d512da503ee351a08e464522295" name="containerd-ctr" arch="x86_64">
  <version epoch="0" ver="1.7.17" rel="2.0.2.1.sr20240605"/>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670328000">- Update to containerd v1.6.9 for Docker v20.10.21-ce. Also includes a fix for
  CVE-2022-27191. boo#1206065 bsc#1197284 Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.9&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670328001">- Update to containerd v1.6.11. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.11&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670500800">- Update to containerd v1.6.12 to fix CVE-2022-23471 bsc#1206235. Upstream
  release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.12&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1675944000">- Update to containerd v1.6.16 for Docker v23.0.1-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.16&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1677672000">- Re-build containerd to use updated golang-packaging. jsc#1342</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1680091200">- Update to containerd v1.6.19 for Docker v23.0.2-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.19&gt;
  Includes fixes for:
  - CVE-2023-25153 bsc#1208423
  - CVE-2023-25173 bsc#1208426</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1681819200">- Update to containerd v1.6.20 for Docker v23.0.4-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.20&gt;</changelog>
  <changelog author="Marcus Meissner &lt;meissner@suse.com&gt;" date="1683201600">[ This was only released in SLE. ]
- unversion to golang requires to always use the current default go.
  (bsc#1210298)</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1684670400">- Update to containerd v1.6.21 for Docker v23.0.6-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.21&gt; bsc#1211578
- Require a minimum Go version explicitly rather than using golang(API).
  Fixes the change for bsc#1210298.</changelog>
  <changelog author="Priyanka Saggu &lt;priyanka.saggu@suse.com&gt;" date="1693483200">- Add `Provides: cri-runtime` to use containerd as container runtime in Factory
  Kubernetes packages</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1694692800">- Update to containerd v1.7.6 for Docker v24.0.6-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.6&gt; bsc#1215323</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1697198400">- Update to containerd v1.7.7. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.7&gt;
- Add patch to fix build on SLE-12:
  + 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1698408000">- Update to containerd v1.7.8. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.8&gt;
  Includes fixes for:
  - CVE-2022-1996 bsc#1200528
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1701691200">- Update to containerd v1.7.10. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.10&gt;
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Danish Prakash &lt;danish.prakash@suse.com&gt;" date="1704715200">- Add patch for bsc#1217952:
  + 0002-shim-Create-pid-file-with-0644-permissions.patch</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1705320000">- Enable manpage generation
- Make devel package noarch
- adjust rpmlint filters</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1713700800">- Use obs_scm service instead of tar_scm
- Removed patch 0002-shim-Create-pid-file-with-0644-permissions.patch
  (merged upstream at
  &lt;https://github.com/containerd/containerd/pull/9571&gt;)
- Update to containerd v1.7.15. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.15&gt;
- Update to containerd v1.7.14. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.14&gt;
- Update to containerd v1.7.13. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.13&gt;
- Update to containerd v1.7.12. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.12&gt;
- Update to containerd v1.7.11. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.11&gt;
  GHSA-jq35-85cj-fj4p bsc#1224323</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1716379200">- Update to containerd v1.7.17. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.17&gt;
- Switch back to using tar_scm service. Aside from obs_scm using more bandwidth
  and storage than a locally-compressed tar.xz, it seems there's some weird
  issue with paths in obscpio that break our SLE-12-only patch.
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch
- Update to containerd v1.7.16. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.16&gt;
  CVE-2023-45288 bsc#1221400</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1719230400">- Revert noarch for devel subpackage for SLE 15
  Switching to noarch causes issues on SLES maintenance updates, reverting it
  fixes our image builds</changelog>
</package>
<package pkgid="ea881945f6d02af71edda3cf6cb8f5c084f99aeb12fe1563c77e2d60187df212e5f65c36f0f4914452b43e424814a5e3a77e718a0c96b4fce98aeb9a5e334dc8" name="containerd-devel" arch="noarch">
  <version epoch="0" ver="1.7.17" rel="2.0.2.1.sr20240605"/>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670328000">- Update to containerd v1.6.9 for Docker v20.10.21-ce. Also includes a fix for
  CVE-2022-27191. boo#1206065 bsc#1197284 Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.9&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670328001">- Update to containerd v1.6.11. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.11&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1670500800">- Update to containerd v1.6.12 to fix CVE-2022-23471 bsc#1206235. Upstream
  release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.12&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1675944000">- Update to containerd v1.6.16 for Docker v23.0.1-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.16&gt;</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1677672000">- Re-build containerd to use updated golang-packaging. jsc#1342</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1680091200">- Update to containerd v1.6.19 for Docker v23.0.2-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.19&gt;
  Includes fixes for:
  - CVE-2023-25153 bsc#1208423
  - CVE-2023-25173 bsc#1208426</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1681819200">- Update to containerd v1.6.20 for Docker v23.0.4-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.20&gt;</changelog>
  <changelog author="Marcus Meissner &lt;meissner@suse.com&gt;" date="1683201600">[ This was only released in SLE. ]
- unversion to golang requires to always use the current default go.
  (bsc#1210298)</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1684670400">- Update to containerd v1.6.21 for Docker v23.0.6-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.6.21&gt; bsc#1211578
- Require a minimum Go version explicitly rather than using golang(API).
  Fixes the change for bsc#1210298.</changelog>
  <changelog author="Priyanka Saggu &lt;priyanka.saggu@suse.com&gt;" date="1693483200">- Add `Provides: cri-runtime` to use containerd as container runtime in Factory
  Kubernetes packages</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1694692800">- Update to containerd v1.7.6 for Docker v24.0.6-ce. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.6&gt; bsc#1215323</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1697198400">- Update to containerd v1.7.7. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.7&gt;
- Add patch to fix build on SLE-12:
  + 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1698408000">- Update to containerd v1.7.8. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.8&gt;
  Includes fixes for:
  - CVE-2022-1996 bsc#1200528
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1701691200">- Update to containerd v1.7.10. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.10&gt;
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch</changelog>
  <changelog author="Danish Prakash &lt;danish.prakash@suse.com&gt;" date="1704715200">- Add patch for bsc#1217952:
  + 0002-shim-Create-pid-file-with-0644-permissions.patch</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1705320000">- Enable manpage generation
- Make devel package noarch
- adjust rpmlint filters</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Eyad Issa &lt;eyadlorenzo@gmail.com&gt;" date="1713700800">- Use obs_scm service instead of tar_scm
- Removed patch 0002-shim-Create-pid-file-with-0644-permissions.patch
  (merged upstream at
  &lt;https://github.com/containerd/containerd/pull/9571&gt;)
- Update to containerd v1.7.15. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.15&gt;
- Update to containerd v1.7.14. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.14&gt;
- Update to containerd v1.7.13. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.13&gt;
- Update to containerd v1.7.12. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.12&gt;
- Update to containerd v1.7.11. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.11&gt;
  GHSA-jq35-85cj-fj4p bsc#1224323</changelog>
  <changelog author="Aleksa Sarai &lt;asarai@suse.com&gt;" date="1716379200">- Update to containerd v1.7.17. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.17&gt;
- Switch back to using tar_scm service. Aside from obs_scm using more bandwidth
  and storage than a locally-compressed tar.xz, it seems there's some weird
  issue with paths in obscpio that break our SLE-12-only patch.
- Rebase patches:
  * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch
- Update to containerd v1.7.16. Upstream release notes:
  &lt;https://github.com/containerd/containerd/releases/tag/v1.7.16&gt;
  CVE-2023-45288 bsc#1221400</changelog>
  <changelog author="Dan &#x10C;erm&#xE1;k &lt;dcermak@suse.com&gt;" date="1719230400">- Revert noarch for devel subpackage for SLE 15
  Switching to noarch causes issues on SLES maintenance updates, reverting it
  fixes our image builds</changelog>
</package>
<package pkgid="369593082d8c620b1cbd7fab44f974491caf2e93b1caeee59c2911b2964b89199bcab44f60fd76c70b05fd0efb0fdaccfae6797e1531f2f8850adbbf60c4e577" name="containers-systemd" arch="noarch">
  <version epoch="0" ver="0.0+git20231208.299201e" rel="2.1"/>
  <changelog author="kukuk@suse.com" date="1609848000">- Update to version 0.0+git20210105.c149375:
  * postfix: Add SMTP_PORT and NULLCLIENT</changelog>
  <changelog author="kukuk@suse.com" date="1610020800">- Update to version 0.0+git20210107.5e7d60c:
  * spamassassin: add volume for configuration files</changelog>
  <changelog author="kukuk@suse.com" date="1610020801">- Update to version 0.0+git20210107.f55f4b3:
  * postfix: provide SMTP_TLS_SECURITY_LEVEL variable</changelog>
  <changelog author="kukuk@suse.com" date="1610971200">- Update to version 0.0+git20210118.1366ecb:
  * postfix: provide SPAMASSASSIN_HOST environment variable</changelog>
  <changelog author="kukuk@suse.com" date="1612526400">- Update to version 0.0+git20210205.a4b07b6:
  * Add container-nfs-service files</changelog>
  <changelog author="kukuk@suse.com" date="1613995200">- Update to version 0.0+git20210222.f3de7fa:
  * Rewrite based on podman changes
  * Correct TimeoutStopSec to 70
  * Replace KillMode=none with TimeoutStopSec</changelog>
  <changelog author="kukuk@suse.com" date="1616068800">- Update to version 0.0+git20210318.fea98a6:
  * Add lost podman pull back
  * nginx: fix syntax error</changelog>
  <changelog author="kukuk@suse.com" date="1617796800">- Update to version 0.0+git20210407.9384691:
  * Add service for wsdd</changelog>
  <changelog author="kukuk@suse.com" date="1620388800">- Update to version 0.0+git20210507.9afe2a6:
  * Add files for samba</changelog>
  <changelog author="kukuk@suse.com" date="1638187200">- Update to version 0.0+git20211129.1b144ae:
  * Add roundcube files</changelog>
  <changelog author="kukuk@suse.com" date="1638273600">- Update to version 0.0+git20211130.31bd054:
  * Use Type=notify instead of forking (following podman upstream)</changelog>
  <changelog author="kukuk@suse.com" date="1643630400">- Update to version 0.0+git20220131.79f09c7:
  * Adjust timing for start limits in case of errors
  * Fix typo</changelog>
  <changelog author="kukuk@suse.com" date="1656417600">- Update to version 0.0+git20220628.ee9e63c:
  * Add files to renew certificates with certbot</changelog>
  <changelog author="kukuk@suse.com" date="1657108800">- Update to version 0.0+git20220706.2c928fe:
  * Fix partly missing SELinux support (#5), call podman directly</changelog>
  <changelog author="kukuk@suse.com" date="1657454400">- Update to version 0.0+git20220710.f290756:
  * container-openldap: fix syntax error in ExecStart</changelog>
  <changelog author="kukuk@suse.com" date="1657713600">- Update to version 0.0+git20220713.967c6f4:
  * Add submission/smtps support for postfix</changelog>
  <changelog author="kukuk@suse.com" date="1660219200">- Update to version 0.0+git20220811.226e80e:
  * Add service for cups container
  * Make sure dhcp container has NET_RAW capabilities</changelog>
  <changelog author="kukuk@suse.com" date="1679659200">- Update to version 0.0+git20230324.9cd3b7a:
  * container-certbot-renew.service is a oneshot service</changelog>
  <changelog author="kukuk@suse.com" date="1702036800">- Update to version 0.0+git20231208.299201e:
  * certbot needs a tty
  * wsdd: don't run binary to set HOSTNAME</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1718712000">- Remove rc* symlinks [jsc#PED-266]</changelog>
</package>
<package pkgid="66499e07141cfb0b8fe25f0ea49e095207105de7f7daad06ddb7349a4c1eb2446af170686e0a4b92c751d1abf0c08ea650f2b901aeb983cb6730954365252c6c" name="containers-systemd" arch="src">
  <version epoch="0" ver="0.0+git20231208.299201e" rel="2.1"/>
  <changelog author="kukuk@suse.com" date="1609848000">- Update to version 0.0+git20210105.c149375:
  * postfix: Add SMTP_PORT and NULLCLIENT</changelog>
  <changelog author="kukuk@suse.com" date="1610020800">- Update to version 0.0+git20210107.5e7d60c:
  * spamassassin: add volume for configuration files</changelog>
  <changelog author="kukuk@suse.com" date="1610020801">- Update to version 0.0+git20210107.f55f4b3:
  * postfix: provide SMTP_TLS_SECURITY_LEVEL variable</changelog>
  <changelog author="kukuk@suse.com" date="1610971200">- Update to version 0.0+git20210118.1366ecb:
  * postfix: provide SPAMASSASSIN_HOST environment variable</changelog>
  <changelog author="kukuk@suse.com" date="1612526400">- Update to version 0.0+git20210205.a4b07b6:
  * Add container-nfs-service files</changelog>
  <changelog author="kukuk@suse.com" date="1613995200">- Update to version 0.0+git20210222.f3de7fa:
  * Rewrite based on podman changes
  * Correct TimeoutStopSec to 70
  * Replace KillMode=none with TimeoutStopSec</changelog>
  <changelog author="kukuk@suse.com" date="1616068800">- Update to version 0.0+git20210318.fea98a6:
  * Add lost podman pull back
  * nginx: fix syntax error</changelog>
  <changelog author="kukuk@suse.com" date="1617796800">- Update to version 0.0+git20210407.9384691:
  * Add service for wsdd</changelog>
  <changelog author="kukuk@suse.com" date="1620388800">- Update to version 0.0+git20210507.9afe2a6:
  * Add files for samba</changelog>
  <changelog author="kukuk@suse.com" date="1638187200">- Update to version 0.0+git20211129.1b144ae:
  * Add roundcube files</changelog>
  <changelog author="kukuk@suse.com" date="1638273600">- Update to version 0.0+git20211130.31bd054:
  * Use Type=notify instead of forking (following podman upstream)</changelog>
  <changelog author="kukuk@suse.com" date="1643630400">- Update to version 0.0+git20220131.79f09c7:
  * Adjust timing for start limits in case of errors
  * Fix typo</changelog>
  <changelog author="kukuk@suse.com" date="1656417600">- Update to version 0.0+git20220628.ee9e63c:
  * Add files to renew certificates with certbot</changelog>
  <changelog author="kukuk@suse.com" date="1657108800">- Update to version 0.0+git20220706.2c928fe:
  * Fix partly missing SELinux support (#5), call podman directly</changelog>
  <changelog author="kukuk@suse.com" date="1657454400">- Update to version 0.0+git20220710.f290756:
  * container-openldap: fix syntax error in ExecStart</changelog>
  <changelog author="kukuk@suse.com" date="1657713600">- Update to version 0.0+git20220713.967c6f4:
  * Add submission/smtps support for postfix</changelog>
  <changelog author="kukuk@suse.com" date="1660219200">- Update to version 0.0+git20220811.226e80e:
  * Add service for cups container
  * Make sure dhcp container has NET_RAW capabilities</changelog>
  <changelog author="kukuk@suse.com" date="1679659200">- Update to version 0.0+git20230324.9cd3b7a:
  * container-certbot-renew.service is a oneshot service</changelog>
  <changelog author="kukuk@suse.com" date="1702036800">- Update to version 0.0+git20231208.299201e:
  * certbot needs a tty
  * wsdd: don't run binary to set HOSTNAME</changelog>
  <changelog author="Thorsten Kukuk &lt;kukuk@suse.com&gt;" date="1718712000">- Remove rc* symlinks [jsc#PED-266]</changelog>
</package>
<package pkgid="9364f6ca5ebc8a3611f63d93a011011fd6f9ca0a2ebca1b71a81894f8829892a6aee9848ab3f60cceed4729fe5da8a25fe4b525ba28b1f3eb8ce0c59e580e3a9" name="containment-tik-img-to-rpm" arch="noarch">
  <version epoch="0" ver="1.0" rel="3.1"/>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1715342400">- Initial package</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1715342401">- Conflict with containment-rpm</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1715688000">- Handle changelog properly, to work with reproducible builds
  in Factory</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1718884800">- Adjust for new obs-build changelog location</changelog>
</package>
<package pkgid="7d4e874a72bf1c9601fbb87288b591471a59c0a8e2a3d76fe4bd6977766008a8a4a9de289945df60f3ab815e528f9b40526d0dd15440ec03009d335c2c73b8d1" name="containment-tik-img-to-rpm" arch="src">
  <version epoch="0" ver="1.0" rel="3.1"/>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1715342400">- Initial package</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1715342401">- Conflict with containment-rpm</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1715688000">- Handle changelog properly, to work with reproducible builds
  in Factory</changelog>
  <changelog author="Richard Brown &lt;rbrown@suse.com&gt;" date="1718884800">- Adjust for new obs-build changelog location</changelog>
</package>
<package pkgid="ee0411a66000cbb3ccacb528566c0df05c481aaa9cd6bc8aacb58b61b3e1fc91be31ef3913d7b94c993f2937d9d3d46f2b01aa5033db85e15e5bfab257420e2c" name="corepack21" arch="x86_64">
  <version epoch="0" ver="21.7.3" rel="1.0.2.1.sr20240605"/>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1699358400">- Package new version 21.1.0
  For overview of changes and details since 20.x and earlier see
  https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V21.md#21.0.0
- imported the following patches from prior patches:
  + cares_public_headers.patch
  + fix_ci_tests.patch
  + flaky_test_rerun.patch
  + gcc13.patch
  + legacy_python.patch
  + linker_lto_jobs.patch
  + manual_configure.patch
  + node-gyp-addon-gypi.patch
  + node-gyp-config.patch
  + nodejs20-zlib-1.3.patch
  + nodejs-libpath.patch
  + npm_search_paths.patch
  + openssl_binary_detection.patch
  + qemu_timeouts_arches.patch
  + skip_no_console.patch
  + sle12_python3_compat.patch
  + test-skip-y2038-on-32bit-time_t.patch
  + versioned.patch</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1700049600">- Update to 21.2.0
  * esm: add import.meta.dirname and import.meta.filename
  * fs: add stacktrace to fs/promises
  * lib:
    +  add --no-experimental-global-navigator CLI flag
    +  add navigator.language &amp; navigator.languages
    +  add navigator.platform
  * stream:
    + add support for deflate-raw format to webstreams compression
    + use Array for Readable buffer
    + optimize creation
  * test_runner:
    + adds built in lcov reporter
    + test_runner: add Date to the supported mock APIs
    + test_runner, cli: add --test-timeout flag
  For details see
  https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V21.md#21.2.0
- nodejs20-zlib-1.3.patch: upstreamed, dropped
- node-gyp-addon-gypi.patch: rebased
- fix_ci_tests.patch: partially upstreamed</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1700740800">- node-gyp-addon-gypi.patch: fix misapplied patch (bsc#1217424)</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1702296000">- Update to 21.4.0:
  * fs: introduce dirent.parentPath
  * fs: use default w flag for writeFileSync with utf8 encoding
- Changes in 21.3.0:
  * New --disable-warning flag
  * Fast fs.writeFileSync with UTF-8 Strings
  For details, see
  https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V21.md#21.4.0
- fix_ci_tests.patch: added workaround for missing deps</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1704196800">- c-ares-fixes.patch: fixes unit tests for new c-ares</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1704715200">- Update to 21.5.0:
  * module: merge config with package_json_reader
  * src: move package resolver to c++
  * doc:
    + deprecate hash constructor
    + deprecate dirent.path
- linker_lto_jobs.patch: refreshed</changelog>
  <changelog author="xtex &lt;xtexchooser@duck.com&gt;" date="1706356800">- Add libalternative config for corepack</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1707739200">- Update to 21.6.1:
  * Revert "stream: fix cloned webstreams not being unref'd"
- Changes in 21.6.0:
  * New connection attempt events
  * --allow-addons to enable addon usage when using the Permission Model.
  * Support configurable snapshot through --build-snapshot-config flag
- fix_ci_tests.patch: refreshed</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1708084800">- Update to 21.6.2: (security updates)
  * (CVE-2024-21892, bsc#1219992) - Code injection and privilege escalation through Linux capabilities- (High)
  * (CVE-2024-22019, bsc#1219993) - http: Reading unprocessed HTTP request with unbounded chunk extension allows DoS attacks- (High)
  * (CVE-2024-21896, bsc#1219994) - Path traversal by monkey-patching Buffer internals- (High)
  * (CVE-2024-22017, bsc#1219995) - setuid() does not drop all privileges due to io_uring - (High)
  * (CVE-2023-46809, bsc#1219997) - Node.js is vulnerable to the Marvin Attack (timing variant of the Bleichenbacher attack against PKCS#1 v1.5 padding) - (Medium)
  * (CVE-2024-21891, bsc#1219998) - Multiple permission model bypasses due to improper path traversal sequence sanitization - (Medium)
  * (CVE-2024-21890, bsc#1219999) - Improper handling of wildcards in --allow-fs-read and --allow-fs-write (Medium)
  * (CVE-2024-22025, bsc#1220014) - Denial of Service by resource exhaustion in fetch() brotli decoding - (Medium)
  * undici version 5.28.3 (CVE-2024-24758, bsc#1220017)
  * libuv version 1.48.0</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1712059200">- Update to 21.7.1
  * revert "test_runner: do not invoke after hook when test is empty"
  * lib: return directly if udp socket close before lookup
- Changes in 21.7.0
  * util.styleText(format, text): This function returns a
    formatted text considering the format passed.
  * support for multi-line values for .env file
  * sea: support embedding assets
  * vm: support using the default loader to handle dynamic import()
  * crypto: implement crypto.hash()
  * http2: add h2 compat support for appendHeader
- versioned.patch, nodejs-libpath.patch: refreshed
- c-ares-fixes.patch: upstreamed, removed</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1712664000">- Update to 21.7.2:
  * Assertion failed in node::http2::Http2Session::~Http2Session()
    leads to HTTP/2 server crash (High) (bsc#1222244, CVE-2024-27983)
  * HTTP Request Smuggling via Content Length Obfuscation
    (Medium) (bsc#1222384, CVE-2024-27982)
  * updated dependencies:
    + llhttp version 9.2.1
    + undici version 6.11.1 (bsc#1222530, bsc#1222603,
    CVE-2024-30260, CVE-2024-30261)
- node-gyp-addon-gypi.patch: adapted for new unit test layouts</changelog>
  <changelog author="Adam Majer &lt;adam.majer@suse.de&gt;" date="1716897600">- Update to 21.7.3:
  * fixes bsc#1222665, CVE-2024-27980 - windows only bug</changelog>
</package>
<package pkgid="1ffc59f8423892bf69b25f1b380bab225ef26a68477fffcc5a5112df78a50475269530514c2739be03ff23bc24557bbd70ee440222ba316471cc40faf834e68e" name="coturn" arch="src">
  <version epoch="0" ver="4.6.2" rel="4.1"/>
  <changelog author="Johannes Weberhofer &lt;jweberhofer@weberhofer.at&gt;" date="1586433600">- Initial release of coturn 4.5.1.1</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1586606400">- Shorten description by stripping the long list of all RFCs.
- Drop %defattr; use %autosetup.</changelog>
  <changelog author="Johannes Weberhofer &lt;jweberhofer@weberhofer.at&gt;" date="1586692800">- Use pkgconfig(systemd) for packaging</changelog>
  <changelog author="lars@linux-schulserver.de" date="1586865600">- added apparmor profile (coturn-apparmor-usr.bin.turnserver)
- fix executable permissions in devel package by using defattr</changelog>
  <changelog author="Johannes Weberhofer &lt;jweberhofer@weberhofer.at&gt;" date="1588593600">- Extended Readme.SUSE with description on how to bind to ports below 1024
- Fixes and enhancements in service-file
- /etc/sysconfig/coturn defaults now to not show software's version to the public
- Version 4.5.1.2:
  * Do not display empty CLI passwd alert if CLI is not enabled
  * Removed several functions: gh#coturn/coturn#359
  * Fix webadmin IP permission and possible SQL-injections: gh#coturn/coturn#386
  * Fix Mongo driver crash on invalid connection string: gh#coturn/coturn#390
  * enhanced fread return length check: gh#coturn/coturn#392
  * disconnect database gracefully: #367
  * Using SSL_get_version method for BoringSSL compatibility:
    turn_session_info-&gt;tls_method returns real TLS version:
    gh#coturn/coturn#382
  * Added systemd service example: gh#coturn/coturn#276
  * Add bandwidth usage reporting packet/bandwidth usage by peers:
    gh#coturn/coturn#284
  * Modifying configure to enable compile with private libraries:
    gh#coturn/coturn#381
  * Append to log files rather than overriding them: gh#coturn/coturn#417
  * Updated incorrect string length check for 'ssh': gh#coturn/coturn#442
  * Fix Dockerfile for latest Debian: gh#coturn/coturn#449
  * CVE-2020-6061, CVE-2020-6062: specially crafted HTTP POST request can lead
    to heap overflow which can result in information leak:
    gh#coturn/coturn#489
  * STUN input validation: gh#coturn/coturn#472
  * Allow MD5 in FIPS mode: gh#coturn/coturn#398
  * update travis config ubuntu/mac images
  * added null check for second char: gh#coturn/coturn#466
  * compiler warning fixes: gh#coturn/coturn#470
  * Fix a memory leak when an SHATYPE isn't supported: gh#coturn/coturn#471
  * fix compiler warning comparison between signed and unsigned integer expressions
  * fix compiler warning string truncation
  * change Diffie Hellman default key length from 1066 to 2066
  * drop of supplementary group IDs: gh#coturn/coturn#522
  * Unify spelling of Coturn: gh#coturn/coturn#514
  * Rename "prod" config option to "no-software-attribute": gh#coturn/coturn#506
    gh#coturn/coturn#478
  * change sql data dir in docker-compose-all.yml: gh#coturn/coturn#516
  * add flags to disable periodic use of dynamic tables: gh#coturn/coturn#525
  * fix typos and grammar: gh#coturn/coturn#463, gh#coturn/coturn#488
  * Update README.docker: gh#coturn/coturn#475
  * fix config extension in README.docker: gh#coturn/coturn#519
  * Code beautifications: gh#coturn/coturn#327, gh#coturn/coturn#455,
    gh#coturn/coturn#513
- Removed patches now included in upstream: coturn-4.5.1.0-append-log.patch,
  coturn-4.5.1.1-cve-2020-6061.patch, coturn-4.5.1.1-cve-2020-6062.patch and
  coturn-4.5.1.1.missing-call-to-setgroups-before-setuid.patch</changelog>
  <changelog author="Johannes Weberhofer &lt;jweberhofer@weberhofer.at&gt;" date="1593518400">- Version 4.5.1.3:
  * Remove reference to SSLv3: gh#coturn/coturn#566
  * Ignore MD5 for BoringSSL: gh#coturn/coturn#579
  * STUN response buffer not initialized properly; he issue found and
    reported gh#coturn/coturn#583 by Felix Dörre all credits belongs to
    him. CVE-2020-4067, boo#1173510
- Let coturn allow binding to ports below 1024 per default</changelog>
  <changelog author="Callum Farmer &lt;callumjfarmer13@gmail.com&gt;" date="1597838400">- Fixes for %_libexecdir changing to /usr/libexec (bsc#1174075)</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1609070400">- AppArmor profile has ABI 3.0 and some minor changes
- Modified systemd unit:
  * do not use daemon mode
  * Type=simple
  * added security settings
- added multi-instance systemd unit</changelog>
  <changelog author="Johannes Weberhofer &lt;jweberhofer@weberhofer.at&gt;" date="1610366400">- Version 4.5.2
  * Fix for CVE-2020-26262 (boo#1180764)
  - Fix ipv6 ::1 loopback check
  - Not allow allocate peer address 0.0.0.0/8 and ::/128
  - For more details see the github security advisory:
    https://github.com/coturn/coturn/security/advisories/GHSA-6g6j-r9rf-cm7p
  * fix null pointer dereference in case of out of memory.
  * Fix: Null pointer dereference on tcp_client_input_handler_rfc6062data function
  * Fix: use-after-free vulnerability on write_to_peerchannel function
  * Fix: use-after-free vulnerability on write_client_connection function
  * add prometheus metrics
  * Delete trailing whitespace in example configuration files
  * Add architecture ppc64le to travis build
  * Fix misleading option in doc (prometheus)
  * Allow RFC6062 TCP relay data to look like TLS
  * Add support for proxy protocol V1
  * Print full date and time in logs
  * Add new options: "new-log-timestamp" and "new-log-timestamp-format"
  * Do not use FIPS and remove hardcode OPENSSL_VERSION_NUMBER with LibreSSL
  * Add ACME redirect url
  * support of --acme-redirect &lt;URL&gt;
  * fix acme security, redundancy, consistency
  * Add new --log-binding option to enable binding request logging
  * Fix stale-nonce documentation
  * Version number is changed to semver 2.0
  * pkg-config, and various cleanups in configure file
  * Add systemd notification for better systemd integration
  * Fix c++ support
  * Remove session id/allocation labels
  * Remove per session metrics. We should later add more counters.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_coturn.service.patch
  Modified:
  * coturn.service
  * coturn@.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1634558400">- Dropped harden_coturn.service.patch because systemd units are
  created from own source anyway and are proven to work</changelog>
  <changelog author="Georg Pfuetzenreuter &lt;georg.pfuetzenreuter@suse.com&gt;" date="1660910400">- Drop @privileged SystemCallFilter, can prevent service from starting (status=31/SYS)</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1670155200">- Version 4.6.1
  - Fix memory corruption on socket close (#1113)
- Version 4.6.0
  - merge PR #967 (eakraly)
  * fix small issues reported by cppcheck
  - merge PR #974 (eakraly)
  * fix long log line printing
  - merge PR #973 (eakraly)
  * Print turnserver version with --version
  - merge PR #972 (eakraly)
  * do not write outside of a buffer in admin interface
  - merge PR #970 (eakraly)
  * fix uclient certificate loading bug
  - merge PR #971 (eakraly)
  * fix duplicate TCP flag in run_tests.sh script
  - merge PR #962 (huhaipeng)
  * fix turn session leak
  - merge PR #963 (eakraly)
  * Document dependency of new-log-timestamp-format on new-log-timestamp
  - merge PR #951 (steffen-moser)
  * Enable compilation of coturn on Solaris 11.4
  - merge PR #949 (eakraly)
  * First step to re-enable compilation with OpenSSL 1.0.x
  - merge PR #949 (eakraly)
  * Fix cmake build on macOS
  - merge PR #942 (eakraly)
  * Disable SSL renegotiation
  - merge PR #792 (yfaker)
  * Fix user quota release #786
  - merge PR #829 (fancycode)
  * add more info to redis allocation status
  - merge PR #938 (eakraly)
  * update turnserver.conf comment
  - merge PR #773 (haseebq)
  * fix performance regression
  - merge PR #773 (korayvt)
  * add syslog facility config
  - merge PR #897 (unicode-it)
  * add support for dual-stack prom listener
  - merge PR #984 (rozhuk-im)
  * fix build with libressl 3.4.0+
  - merge PR #926 (ggarber)
  * add ci tests workflow
  - merge PR #934 (neocat)
  * show error on invalid config
  - merge PR #787 (dsmeytis)
  * add new prom allocations metric
  - merge PR #869 (micmac1)
  * don't link in libintl
  - merge PR #895 (alexnedo)
  * fix access to freed memory
  - merge PR #919 (sysvinit)
  * configurable prom username labels
  - merge PR #840 (sysvinit)
  * configurable prometheus listener port
  - merge PR #870 (micmac1)
  * fix build mariadb connector
  - merge PR #851 (freedomben)
  * fix README typo
  - merge PR #877 (davel)
  * correct doc typo
  - merge PR #755(moznuy) and #825(by argggh)
  * fix sqlite3_shutdown and sqlite3_config race
  - merge PR #826 (by giavac)
  * prom server better
  - merge PR #684 (by brevilo)
  * Define OPENSSL_VERSION_1_1_1 on systems where it doesn't (yet) exist
  * Regression in 4.5.2 that cause issues in openssl version &lt; 1.1.1.
  - typo fix in prometheus (by fcecagno)
  - merge PR #687 (by Wuelber Castillo)
  * Add hash algorithm for hmackey value to redis userdb schema docs
  - replace keep-address-family with allocation-default-address-family (keep-address-family deprecated and will be removed!!)
  - merge PR #703 (by j4zzc4t)
  * Restore no_stdout_log behavior
  - merge PR #727 (by JoKoT3)
  * Support older mysql client version in configure
  - merge PR #721 (by KangLin)
  * Add to support cmake
  - merge PR #717 (by marcoschum)
  * Fix typo in turnserver.conf
  - merge PR #704 (by hills)
  * Packaging scripts can miss out on these errors (exit code)
  - merge PR #679 (by rubo77)
  * Readme.turnserver: how to run server as a daemon
  - merge PR #739 (by hills)
  * SSL reload has hidden bugs which cause crashes
  - Fix regression in PR #739
  - Try to mitigate STUN amplification attatck
  * Add new option --no-rfc5780 to force disable RFC8750
  * Add new option --no-stun-backward-compatibility
    Disable handling old STUN Binding requests and disable
    MAPPED-ADDRESS attribute in binding response (use only the
    XOR-MAPPED-ADDRESS)
  * Add new option --response-origin-only-with-rfc5780
    Add RESPONSE_ORIGIN attribute only if rfc5780 is enabled
  * Don't send SOFTWARE attribute if --no-software-attribute set on (BREAKING CHANGE)
  - merge PR #767 (by ggalperi)
  * fix for log_binding (regression)</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1678104000">- Add coturn-no-FIPS-140-mode.patch, fixes build against OpenSSL 3.0</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1683028800">- Update to 4.6.2
  * Make sure microhttpd starts using epoll if supported
  * Add sessioncount to prometheus metrics
  * Add STUN request/response/error prometheus counters
  * Cleanup logs on turnserver start
  * Fix duplicate stdout log output
  * Log threadId to logs to aid in multi-threaded debugging
  * Optional build info compiled into turnserver binary
  * Fix arguments expansion in docker-entrypoint.sh
  * Santise database connection strings before printing to log
  * Support Windows MSVC
  * Add configuration option for TLS 1.3 ciphersuites
  * Improve openssl3 and FIPS support
  * Use single SSL_CTX for TLS and DTLS support
  * Update openssl API use to non-deprecated version
  * Set string bytes to null to prevent random origin
  * Fix memory corruption on socket close
  * Fix packet backlog fifo that processed packets in reverse
    order in some scenarios
  * Fix off-by-one when terminating gcm_nonce
  * Fixes to Redis memleaks and socketleaks
  * Fix malformed response to mobility refresh request
  * Fuzzing support
  * Ignore raw UDP if no_udp is enabled
  * Better detect availability of SCTP protocol
- Drop coturn-no-FIPS-140-mode.patch, fixed upstream, see
  https://github.com/coturn/coturn/issues/1170</changelog>
  <changelog author="chris@computersalat.de" date="1696852800">- add coturn-turnserver_conf.patch
  * to have a meaningful turnserver.conf.default
- create a ready-to-run turnserver.conf
- fix logrotate script
- Update README.SUSE for Let's Encrypt Certificates
- move certs to /etc/coturn/tls
- Update apparmor profile
- rework sysusers.d config file</changelog>
  <changelog author="chris@computersalat.de" date="1697198400">- Update coturn-turnserver_conf.patch
  * Fix comment for listening-ip
- enable 'verbose' log to see listening IPs and more, not just
  server start/stop</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  PatchN.</changelog>
  <changelog author="Adam Majer &lt;amajer@suse.com&gt;" date="1718452800">- Don't hard require systemd -- not needed in containers</changelog>
</package>
<package pkgid="a0c483d9b658eda9fc173ebf0eab29113c5247ff70b5440c7776b87fc16703fd13a4047a90c5774c1ccf59b754ac7756887ce505c1899577f57a79ce7e417b78" name="coturn" arch="x86_64">
  <version epoch="0" ver="4.6.2" rel="4.1"/>
  <changelog author="Johannes Weberhofer &lt;jweberhofer@weberhofer.at&gt;" date="1610366400">- Version 4.5.2
  * Fix for CVE-2020-26262 (boo#1180764)
  - Fix ipv6 ::1 loopback check
  - Not allow allocate peer address 0.0.0.0/8 and ::/128
  - For more details see the github security advisory:
    https://github.com/coturn/coturn/security/advisories/GHSA-6g6j-r9rf-cm7p
  * fix null pointer dereference in case of out of memory.
  * Fix: Null pointer dereference on tcp_client_input_handler_rfc6062data function
  * Fix: use-after-free vulnerability on write_to_peerchannel function
  * Fix: use-after-free vulnerability on write_client_connection function
  * add prometheus metrics
  * Delete trailing whitespace in example configuration files
  * Add architecture ppc64le to travis build
  * Fix misleading option in doc (prometheus)
  * Allow RFC6062 TCP relay data to look like TLS
  * Add support for proxy protocol V1
  * Print full date and time in logs
  * Add new options: "new-log-timestamp" and "new-log-timestamp-format"
  * Do not use FIPS and remove hardcode OPENSSL_VERSION_NUMBER with LibreSSL
  * Add ACME redirect url
  * support of --acme-redirect &lt;URL&gt;
  * fix acme security, redundancy, consistency
  * Add new --log-binding option to enable binding request logging
  * Fix stale-nonce documentation
  * Version number is changed to semver 2.0
  * pkg-config, and various cleanups in configure file
  * Add systemd notification for better systemd integration
  * Fix c++ support
  * Remove session id/allocation labels
  * Remove per session metrics. We should later add more counters.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_coturn.service.patch
  Modified:
  * coturn.service
  * coturn@.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1634558400">- Dropped harden_coturn.service.patch because systemd units are
  created from own source anyway and are proven to work</changelog>
  <changelog author="Georg Pfuetzenreuter &lt;georg.pfuetzenreuter@suse.com&gt;" date="1660910400">- Drop @privileged SystemCallFilter, can prevent service from starting (status=31/SYS)</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1670155200">- Version 4.6.1
  - Fix memory corruption on socket close (#1113)
- Version 4.6.0
  - merge PR #967 (eakraly)
  * fix small issues reported by cppcheck
  - merge PR #974 (eakraly)
  * fix long log line printing
  - merge PR #973 (eakraly)
  * Print turnserver version with --version
  - merge PR #972 (eakraly)
  * do not write outside of a buffer in admin interface
  - merge PR #970 (eakraly)
  * fix uclient certificate loading bug
  - merge PR #971 (eakraly)
  * fix duplicate TCP flag in run_tests.sh script
  - merge PR #962 (huhaipeng)
  * fix turn session leak
  - merge PR #963 (eakraly)
  * Document dependency of new-log-timestamp-format on new-log-timestamp
  - merge PR #951 (steffen-moser)
  * Enable compilation of coturn on Solaris 11.4
  - merge PR #949 (eakraly)
  * First step to re-enable compilation with OpenSSL 1.0.x
  - merge PR #949 (eakraly)
  * Fix cmake build on macOS
  - merge PR #942 (eakraly)
  * Disable SSL renegotiation
  - merge PR #792 (yfaker)
  * Fix user quota release #786
  - merge PR #829 (fancycode)
  * add more info to redis allocation status
  - merge PR #938 (eakraly)
  * update turnserver.conf comment
  - merge PR #773 (haseebq)
  * fix performance regression
  - merge PR #773 (korayvt)
  * add syslog facility config
  - merge PR #897 (unicode-it)
  * add support for dual-stack prom listener
  - merge PR #984 (rozhuk-im)
  * fix build with libressl 3.4.0+
  - merge PR #926 (ggarber)
  * add ci tests workflow
  - merge PR #934 (neocat)
  * show error on invalid config
  - merge PR #787 (dsmeytis)
  * add new prom allocations metric
  - merge PR #869 (micmac1)
  * don't link in libintl
  - merge PR #895 (alexnedo)
  * fix access to freed memory
  - merge PR #919 (sysvinit)
  * configurable prom username labels
  - merge PR #840 (sysvinit)
  * configurable prometheus listener port
  - merge PR #870 (micmac1)
  * fix build mariadb connector
  - merge PR #851 (freedomben)
  * fix README typo
  - merge PR #877 (davel)
  * correct doc typo
  - merge PR #755(moznuy) and #825(by argggh)
  * fix sqlite3_shutdown and sqlite3_config race
  - merge PR #826 (by giavac)
  * prom server better
  - merge PR #684 (by brevilo)
  * Define OPENSSL_VERSION_1_1_1 on systems where it doesn't (yet) exist
  * Regression in 4.5.2 that cause issues in openssl version &lt; 1.1.1.
  - typo fix in prometheus (by fcecagno)
  - merge PR #687 (by Wuelber Castillo)
  * Add hash algorithm for hmackey value to redis userdb schema docs
  - replace keep-address-family with allocation-default-address-family (keep-address-family deprecated and will be removed!!)
  - merge PR #703 (by j4zzc4t)
  * Restore no_stdout_log behavior
  - merge PR #727 (by JoKoT3)
  * Support older mysql client version in configure
  - merge PR #721 (by KangLin)
  * Add to support cmake
  - merge PR #717 (by marcoschum)
  * Fix typo in turnserver.conf
  - merge PR #704 (by hills)
  * Packaging scripts can miss out on these errors (exit code)
  - merge PR #679 (by rubo77)
  * Readme.turnserver: how to run server as a daemon
  - merge PR #739 (by hills)
  * SSL reload has hidden bugs which cause crashes
  - Fix regression in PR #739
  - Try to mitigate STUN amplification attatck
  * Add new option --no-rfc5780 to force disable RFC8750
  * Add new option --no-stun-backward-compatibility
    Disable handling old STUN Binding requests and disable
    MAPPED-ADDRESS attribute in binding response (use only the
    XOR-MAPPED-ADDRESS)
  * Add new option --response-origin-only-with-rfc5780
    Add RESPONSE_ORIGIN attribute only if rfc5780 is enabled
  * Don't send SOFTWARE attribute if --no-software-attribute set on (BREAKING CHANGE)
  - merge PR #767 (by ggalperi)
  * fix for log_binding (regression)</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1678104000">- Add coturn-no-FIPS-140-mode.patch, fixes build against OpenSSL 3.0</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1683028800">- Update to 4.6.2
  * Make sure microhttpd starts using epoll if supported
  * Add sessioncount to prometheus metrics
  * Add STUN request/response/error prometheus counters
  * Cleanup logs on turnserver start
  * Fix duplicate stdout log output
  * Log threadId to logs to aid in multi-threaded debugging
  * Optional build info compiled into turnserver binary
  * Fix arguments expansion in docker-entrypoint.sh
  * Santise database connection strings before printing to log
  * Support Windows MSVC
  * Add configuration option for TLS 1.3 ciphersuites
  * Improve openssl3 and FIPS support
  * Use single SSL_CTX for TLS and DTLS support
  * Update openssl API use to non-deprecated version
  * Set string bytes to null to prevent random origin
  * Fix memory corruption on socket close
  * Fix packet backlog fifo that processed packets in reverse
    order in some scenarios
  * Fix off-by-one when terminating gcm_nonce
  * Fixes to Redis memleaks and socketleaks
  * Fix malformed response to mobility refresh request
  * Fuzzing support
  * Ignore raw UDP if no_udp is enabled
  * Better detect availability of SCTP protocol
- Drop coturn-no-FIPS-140-mode.patch, fixed upstream, see
  https://github.com/coturn/coturn/issues/1170</changelog>
  <changelog author="chris@computersalat.de" date="1696852800">- add coturn-turnserver_conf.patch
  * to have a meaningful turnserver.conf.default
- create a ready-to-run turnserver.conf
- fix logrotate script
- Update README.SUSE for Let's Encrypt Certificates
- move certs to /etc/coturn/tls
- Update apparmor profile
- rework sysusers.d config file</changelog>
  <changelog author="chris@computersalat.de" date="1697198400">- Update coturn-turnserver_conf.patch
  * Fix comment for listening-ip
- enable 'verbose' log to see listening IPs and more, not just
  server start/stop</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  PatchN.</changelog>
  <changelog author="Adam Majer &lt;amajer@suse.com&gt;" date="1718452800">- Don't hard require systemd -- not needed in containers</changelog>
</package>
<package pkgid="34008f87fbb90768ac4aeb45a7823b4a39db67f1526e799b6a2e6b60cfcf053e81eba0a0c8e5a047c3c54f27816b4726eac421583c2b88575450a366a65a9d7b" name="coturn-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.6.2" rel="4.1"/>
  <changelog author="Johannes Weberhofer &lt;jweberhofer@weberhofer.at&gt;" date="1610366400">- Version 4.5.2
  * Fix for CVE-2020-26262 (boo#1180764)
  - Fix ipv6 ::1 loopback check
  - Not allow allocate peer address 0.0.0.0/8 and ::/128
  - For more details see the github security advisory:
    https://github.com/coturn/coturn/security/advisories/GHSA-6g6j-r9rf-cm7p
  * fix null pointer dereference in case of out of memory.
  * Fix: Null pointer dereference on tcp_client_input_handler_rfc6062data function
  * Fix: use-after-free vulnerability on write_to_peerchannel function
  * Fix: use-after-free vulnerability on write_client_connection function
  * add prometheus metrics
  * Delete trailing whitespace in example configuration files
  * Add architecture ppc64le to travis build
  * Fix misleading option in doc (prometheus)
  * Allow RFC6062 TCP relay data to look like TLS
  * Add support for proxy protocol V1
  * Print full date and time in logs
  * Add new options: "new-log-timestamp" and "new-log-timestamp-format"
  * Do not use FIPS and remove hardcode OPENSSL_VERSION_NUMBER with LibreSSL
  * Add ACME redirect url
  * support of --acme-redirect &lt;URL&gt;
  * fix acme security, redundancy, consistency
  * Add new --log-binding option to enable binding request logging
  * Fix stale-nonce documentation
  * Version number is changed to semver 2.0
  * pkg-config, and various cleanups in configure file
  * Add systemd notification for better systemd integration
  * Fix c++ support
  * Remove session id/allocation labels
  * Remove per session metrics. We should later add more counters.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_coturn.service.patch
  Modified:
  * coturn.service
  * coturn@.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1634558400">- Dropped harden_coturn.service.patch because systemd units are
  created from own source anyway and are proven to work</changelog>
  <changelog author="Georg Pfuetzenreuter &lt;georg.pfuetzenreuter@suse.com&gt;" date="1660910400">- Drop @privileged SystemCallFilter, can prevent service from starting (status=31/SYS)</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1670155200">- Version 4.6.1
  - Fix memory corruption on socket close (#1113)
- Version 4.6.0
  - merge PR #967 (eakraly)
  * fix small issues reported by cppcheck
  - merge PR #974 (eakraly)
  * fix long log line printing
  - merge PR #973 (eakraly)
  * Print turnserver version with --version
  - merge PR #972 (eakraly)
  * do not write outside of a buffer in admin interface
  - merge PR #970 (eakraly)
  * fix uclient certificate loading bug
  - merge PR #971 (eakraly)
  * fix duplicate TCP flag in run_tests.sh script
  - merge PR #962 (huhaipeng)
  * fix turn session leak
  - merge PR #963 (eakraly)
  * Document dependency of new-log-timestamp-format on new-log-timestamp
  - merge PR #951 (steffen-moser)
  * Enable compilation of coturn on Solaris 11.4
  - merge PR #949 (eakraly)
  * First step to re-enable compilation with OpenSSL 1.0.x
  - merge PR #949 (eakraly)
  * Fix cmake build on macOS
  - merge PR #942 (eakraly)
  * Disable SSL renegotiation
  - merge PR #792 (yfaker)
  * Fix user quota release #786
  - merge PR #829 (fancycode)
  * add more info to redis allocation status
  - merge PR #938 (eakraly)
  * update turnserver.conf comment
  - merge PR #773 (haseebq)
  * fix performance regression
  - merge PR #773 (korayvt)
  * add syslog facility config
  - merge PR #897 (unicode-it)
  * add support for dual-stack prom listener
  - merge PR #984 (rozhuk-im)
  * fix build with libressl 3.4.0+
  - merge PR #926 (ggarber)
  * add ci tests workflow
  - merge PR #934 (neocat)
  * show error on invalid config
  - merge PR #787 (dsmeytis)
  * add new prom allocations metric
  - merge PR #869 (micmac1)
  * don't link in libintl
  - merge PR #895 (alexnedo)
  * fix access to freed memory
  - merge PR #919 (sysvinit)
  * configurable prom username labels
  - merge PR #840 (sysvinit)
  * configurable prometheus listener port
  - merge PR #870 (micmac1)
  * fix build mariadb connector
  - merge PR #851 (freedomben)
  * fix README typo
  - merge PR #877 (davel)
  * correct doc typo
  - merge PR #755(moznuy) and #825(by argggh)
  * fix sqlite3_shutdown and sqlite3_config race
  - merge PR #826 (by giavac)
  * prom server better
  - merge PR #684 (by brevilo)
  * Define OPENSSL_VERSION_1_1_1 on systems where it doesn't (yet) exist
  * Regression in 4.5.2 that cause issues in openssl version &lt; 1.1.1.
  - typo fix in prometheus (by fcecagno)
  - merge PR #687 (by Wuelber Castillo)
  * Add hash algorithm for hmackey value to redis userdb schema docs
  - replace keep-address-family with allocation-default-address-family (keep-address-family deprecated and will be removed!!)
  - merge PR #703 (by j4zzc4t)
  * Restore no_stdout_log behavior
  - merge PR #727 (by JoKoT3)
  * Support older mysql client version in configure
  - merge PR #721 (by KangLin)
  * Add to support cmake
  - merge PR #717 (by marcoschum)
  * Fix typo in turnserver.conf
  - merge PR #704 (by hills)
  * Packaging scripts can miss out on these errors (exit code)
  - merge PR #679 (by rubo77)
  * Readme.turnserver: how to run server as a daemon
  - merge PR #739 (by hills)
  * SSL reload has hidden bugs which cause crashes
  - Fix regression in PR #739
  - Try to mitigate STUN amplification attatck
  * Add new option --no-rfc5780 to force disable RFC8750
  * Add new option --no-stun-backward-compatibility
    Disable handling old STUN Binding requests and disable
    MAPPED-ADDRESS attribute in binding response (use only the
    XOR-MAPPED-ADDRESS)
  * Add new option --response-origin-only-with-rfc5780
    Add RESPONSE_ORIGIN attribute only if rfc5780 is enabled
  * Don't send SOFTWARE attribute if --no-software-attribute set on (BREAKING CHANGE)
  - merge PR #767 (by ggalperi)
  * fix for log_binding (regression)</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1678104000">- Add coturn-no-FIPS-140-mode.patch, fixes build against OpenSSL 3.0</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1683028800">- Update to 4.6.2
  * Make sure microhttpd starts using epoll if supported
  * Add sessioncount to prometheus metrics
  * Add STUN request/response/error prometheus counters
  * Cleanup logs on turnserver start
  * Fix duplicate stdout log output
  * Log threadId to logs to aid in multi-threaded debugging
  * Optional build info compiled into turnserver binary
  * Fix arguments expansion in docker-entrypoint.sh
  * Santise database connection strings before printing to log
  * Support Windows MSVC
  * Add configuration option for TLS 1.3 ciphersuites
  * Improve openssl3 and FIPS support
  * Use single SSL_CTX for TLS and DTLS support
  * Update openssl API use to non-deprecated version
  * Set string bytes to null to prevent random origin
  * Fix memory corruption on socket close
  * Fix packet backlog fifo that processed packets in reverse
    order in some scenarios
  * Fix off-by-one when terminating gcm_nonce
  * Fixes to Redis memleaks and socketleaks
  * Fix malformed response to mobility refresh request
  * Fuzzing support
  * Ignore raw UDP if no_udp is enabled
  * Better detect availability of SCTP protocol
- Drop coturn-no-FIPS-140-mode.patch, fixed upstream, see
  https://github.com/coturn/coturn/issues/1170</changelog>
  <changelog author="chris@computersalat.de" date="1696852800">- add coturn-turnserver_conf.patch
  * to have a meaningful turnserver.conf.default
- create a ready-to-run turnserver.conf
- fix logrotate script
- Update README.SUSE for Let's Encrypt Certificates
- move certs to /etc/coturn/tls
- Update apparmor profile
- rework sysusers.d config file</changelog>
  <changelog author="chris@computersalat.de" date="1697198400">- Update coturn-turnserver_conf.patch
  * Fix comment for listening-ip
- enable 'verbose' log to see listening IPs and more, not just
  server start/stop</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  PatchN.</changelog>
  <changelog author="Adam Majer &lt;amajer@suse.com&gt;" date="1718452800">- Don't hard require systemd -- not needed in containers</changelog>
</package>
<package pkgid="b8d14e874b34898cb3b3686123976ce119655ae616b58ec0c7433a70d0b062c35bc7caa103a6b2d4228afa8887fff6bc3acbd04e57653bc37bedb15a16cf5cf1" name="coturn-debugsource" arch="x86_64">
  <version epoch="0" ver="4.6.2" rel="4.1"/>
  <changelog author="Johannes Weberhofer &lt;jweberhofer@weberhofer.at&gt;" date="1610366400">- Version 4.5.2
  * Fix for CVE-2020-26262 (boo#1180764)
  - Fix ipv6 ::1 loopback check
  - Not allow allocate peer address 0.0.0.0/8 and ::/128
  - For more details see the github security advisory:
    https://github.com/coturn/coturn/security/advisories/GHSA-6g6j-r9rf-cm7p
  * fix null pointer dereference in case of out of memory.
  * Fix: Null pointer dereference on tcp_client_input_handler_rfc6062data function
  * Fix: use-after-free vulnerability on write_to_peerchannel function
  * Fix: use-after-free vulnerability on write_client_connection function
  * add prometheus metrics
  * Delete trailing whitespace in example configuration files
  * Add architecture ppc64le to travis build
  * Fix misleading option in doc (prometheus)
  * Allow RFC6062 TCP relay data to look like TLS
  * Add support for proxy protocol V1
  * Print full date and time in logs
  * Add new options: "new-log-timestamp" and "new-log-timestamp-format"
  * Do not use FIPS and remove hardcode OPENSSL_VERSION_NUMBER with LibreSSL
  * Add ACME redirect url
  * support of --acme-redirect &lt;URL&gt;
  * fix acme security, redundancy, consistency
  * Add new --log-binding option to enable binding request logging
  * Fix stale-nonce documentation
  * Version number is changed to semver 2.0
  * pkg-config, and various cleanups in configure file
  * Add systemd notification for better systemd integration
  * Fix c++ support
  * Remove session id/allocation labels
  * Remove per session metrics. We should later add more counters.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_coturn.service.patch
  Modified:
  * coturn.service
  * coturn@.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1634558400">- Dropped harden_coturn.service.patch because systemd units are
  created from own source anyway and are proven to work</changelog>
  <changelog author="Georg Pfuetzenreuter &lt;georg.pfuetzenreuter@suse.com&gt;" date="1660910400">- Drop @privileged SystemCallFilter, can prevent service from starting (status=31/SYS)</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1670155200">- Version 4.6.1
  - Fix memory corruption on socket close (#1113)
- Version 4.6.0
  - merge PR #967 (eakraly)
  * fix small issues reported by cppcheck
  - merge PR #974 (eakraly)
  * fix long log line printing
  - merge PR #973 (eakraly)
  * Print turnserver version with --version
  - merge PR #972 (eakraly)
  * do not write outside of a buffer in admin interface
  - merge PR #970 (eakraly)
  * fix uclient certificate loading bug
  - merge PR #971 (eakraly)
  * fix duplicate TCP flag in run_tests.sh script
  - merge PR #962 (huhaipeng)
  * fix turn session leak
  - merge PR #963 (eakraly)
  * Document dependency of new-log-timestamp-format on new-log-timestamp
  - merge PR #951 (steffen-moser)
  * Enable compilation of coturn on Solaris 11.4
  - merge PR #949 (eakraly)
  * First step to re-enable compilation with OpenSSL 1.0.x
  - merge PR #949 (eakraly)
  * Fix cmake build on macOS
  - merge PR #942 (eakraly)
  * Disable SSL renegotiation
  - merge PR #792 (yfaker)
  * Fix user quota release #786
  - merge PR #829 (fancycode)
  * add more info to redis allocation status
  - merge PR #938 (eakraly)
  * update turnserver.conf comment
  - merge PR #773 (haseebq)
  * fix performance regression
  - merge PR #773 (korayvt)
  * add syslog facility config
  - merge PR #897 (unicode-it)
  * add support for dual-stack prom listener
  - merge PR #984 (rozhuk-im)
  * fix build with libressl 3.4.0+
  - merge PR #926 (ggarber)
  * add ci tests workflow
  - merge PR #934 (neocat)
  * show error on invalid config
  - merge PR #787 (dsmeytis)
  * add new prom allocations metric
  - merge PR #869 (micmac1)
  * don't link in libintl
  - merge PR #895 (alexnedo)
  * fix access to freed memory
  - merge PR #919 (sysvinit)
  * configurable prom username labels
  - merge PR #840 (sysvinit)
  * configurable prometheus listener port
  - merge PR #870 (micmac1)
  * fix build mariadb connector
  - merge PR #851 (freedomben)
  * fix README typo
  - merge PR #877 (davel)
  * correct doc typo
  - merge PR #755(moznuy) and #825(by argggh)
  * fix sqlite3_shutdown and sqlite3_config race
  - merge PR #826 (by giavac)
  * prom server better
  - merge PR #684 (by brevilo)
  * Define OPENSSL_VERSION_1_1_1 on systems where it doesn't (yet) exist
  * Regression in 4.5.2 that cause issues in openssl version &lt; 1.1.1.
  - typo fix in prometheus (by fcecagno)
  - merge PR #687 (by Wuelber Castillo)
  * Add hash algorithm for hmackey value to redis userdb schema docs
  - replace keep-address-family with allocation-default-address-family (keep-address-family deprecated and will be removed!!)
  - merge PR #703 (by j4zzc4t)
  * Restore no_stdout_log behavior
  - merge PR #727 (by JoKoT3)
  * Support older mysql client version in configure
  - merge PR #721 (by KangLin)
  * Add to support cmake
  - merge PR #717 (by marcoschum)
  * Fix typo in turnserver.conf
  - merge PR #704 (by hills)
  * Packaging scripts can miss out on these errors (exit code)
  - merge PR #679 (by rubo77)
  * Readme.turnserver: how to run server as a daemon
  - merge PR #739 (by hills)
  * SSL reload has hidden bugs which cause crashes
  - Fix regression in PR #739
  - Try to mitigate STUN amplification attatck
  * Add new option --no-rfc5780 to force disable RFC8750
  * Add new option --no-stun-backward-compatibility
    Disable handling old STUN Binding requests and disable
    MAPPED-ADDRESS attribute in binding response (use only the
    XOR-MAPPED-ADDRESS)
  * Add new option --response-origin-only-with-rfc5780
    Add RESPONSE_ORIGIN attribute only if rfc5780 is enabled
  * Don't send SOFTWARE attribute if --no-software-attribute set on (BREAKING CHANGE)
  - merge PR #767 (by ggalperi)
  * fix for log_binding (regression)</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1678104000">- Add coturn-no-FIPS-140-mode.patch, fixes build against OpenSSL 3.0</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1683028800">- Update to 4.6.2
  * Make sure microhttpd starts using epoll if supported
  * Add sessioncount to prometheus metrics
  * Add STUN request/response/error prometheus counters
  * Cleanup logs on turnserver start
  * Fix duplicate stdout log output
  * Log threadId to logs to aid in multi-threaded debugging
  * Optional build info compiled into turnserver binary
  * Fix arguments expansion in docker-entrypoint.sh
  * Santise database connection strings before printing to log
  * Support Windows MSVC
  * Add configuration option for TLS 1.3 ciphersuites
  * Improve openssl3 and FIPS support
  * Use single SSL_CTX for TLS and DTLS support
  * Update openssl API use to non-deprecated version
  * Set string bytes to null to prevent random origin
  * Fix memory corruption on socket close
  * Fix packet backlog fifo that processed packets in reverse
    order in some scenarios
  * Fix off-by-one when terminating gcm_nonce
  * Fixes to Redis memleaks and socketleaks
  * Fix malformed response to mobility refresh request
  * Fuzzing support
  * Ignore raw UDP if no_udp is enabled
  * Better detect availability of SCTP protocol
- Drop coturn-no-FIPS-140-mode.patch, fixed upstream, see
  https://github.com/coturn/coturn/issues/1170</changelog>
  <changelog author="chris@computersalat.de" date="1696852800">- add coturn-turnserver_conf.patch
  * to have a meaningful turnserver.conf.default
- create a ready-to-run turnserver.conf
- fix logrotate script
- Update README.SUSE for Let's Encrypt Certificates
- move certs to /etc/coturn/tls
- Update apparmor profile
- rework sysusers.d config file</changelog>
  <changelog author="chris@computersalat.de" date="1697198400">- Update coturn-turnserver_conf.patch
  * Fix comment for listening-ip
- enable 'verbose' log to see listening IPs and more, not just
  server start/stop</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  PatchN.</changelog>
  <changelog author="Adam Majer &lt;amajer@suse.com&gt;" date="1718452800">- Don't hard require systemd -- not needed in containers</changelog>
</package>
<package pkgid="6a545b2ce02baaa71155c7356353fff79ea7629704362f3c58c30017b62ac9bf545fc73fa089dc6e0a4582e0f886d5a83b92e5444258da4409f5e9a845babfb7" name="coturn-devel" arch="x86_64">
  <version epoch="0" ver="4.6.2" rel="4.1"/>
  <changelog author="Johannes Weberhofer &lt;jweberhofer@weberhofer.at&gt;" date="1610366400">- Version 4.5.2
  * Fix for CVE-2020-26262 (boo#1180764)
  - Fix ipv6 ::1 loopback check
  - Not allow allocate peer address 0.0.0.0/8 and ::/128
  - For more details see the github security advisory:
    https://github.com/coturn/coturn/security/advisories/GHSA-6g6j-r9rf-cm7p
  * fix null pointer dereference in case of out of memory.
  * Fix: Null pointer dereference on tcp_client_input_handler_rfc6062data function
  * Fix: use-after-free vulnerability on write_to_peerchannel function
  * Fix: use-after-free vulnerability on write_client_connection function
  * add prometheus metrics
  * Delete trailing whitespace in example configuration files
  * Add architecture ppc64le to travis build
  * Fix misleading option in doc (prometheus)
  * Allow RFC6062 TCP relay data to look like TLS
  * Add support for proxy protocol V1
  * Print full date and time in logs
  * Add new options: "new-log-timestamp" and "new-log-timestamp-format"
  * Do not use FIPS and remove hardcode OPENSSL_VERSION_NUMBER with LibreSSL
  * Add ACME redirect url
  * support of --acme-redirect &lt;URL&gt;
  * fix acme security, redundancy, consistency
  * Add new --log-binding option to enable binding request logging
  * Fix stale-nonce documentation
  * Version number is changed to semver 2.0
  * pkg-config, and various cleanups in configure file
  * Add systemd notification for better systemd integration
  * Fix c++ support
  * Remove session id/allocation labels
  * Remove per session metrics. We should later add more counters.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_coturn.service.patch
  Modified:
  * coturn.service
  * coturn@.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1634558400">- Dropped harden_coturn.service.patch because systemd units are
  created from own source anyway and are proven to work</changelog>
  <changelog author="Georg Pfuetzenreuter &lt;georg.pfuetzenreuter@suse.com&gt;" date="1660910400">- Drop @privileged SystemCallFilter, can prevent service from starting (status=31/SYS)</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1670155200">- Version 4.6.1
  - Fix memory corruption on socket close (#1113)
- Version 4.6.0
  - merge PR #967 (eakraly)
  * fix small issues reported by cppcheck
  - merge PR #974 (eakraly)
  * fix long log line printing
  - merge PR #973 (eakraly)
  * Print turnserver version with --version
  - merge PR #972 (eakraly)
  * do not write outside of a buffer in admin interface
  - merge PR #970 (eakraly)
  * fix uclient certificate loading bug
  - merge PR #971 (eakraly)
  * fix duplicate TCP flag in run_tests.sh script
  - merge PR #962 (huhaipeng)
  * fix turn session leak
  - merge PR #963 (eakraly)
  * Document dependency of new-log-timestamp-format on new-log-timestamp
  - merge PR #951 (steffen-moser)
  * Enable compilation of coturn on Solaris 11.4
  - merge PR #949 (eakraly)
  * First step to re-enable compilation with OpenSSL 1.0.x
  - merge PR #949 (eakraly)
  * Fix cmake build on macOS
  - merge PR #942 (eakraly)
  * Disable SSL renegotiation
  - merge PR #792 (yfaker)
  * Fix user quota release #786
  - merge PR #829 (fancycode)
  * add more info to redis allocation status
  - merge PR #938 (eakraly)
  * update turnserver.conf comment
  - merge PR #773 (haseebq)
  * fix performance regression
  - merge PR #773 (korayvt)
  * add syslog facility config
  - merge PR #897 (unicode-it)
  * add support for dual-stack prom listener
  - merge PR #984 (rozhuk-im)
  * fix build with libressl 3.4.0+
  - merge PR #926 (ggarber)
  * add ci tests workflow
  - merge PR #934 (neocat)
  * show error on invalid config
  - merge PR #787 (dsmeytis)
  * add new prom allocations metric
  - merge PR #869 (micmac1)
  * don't link in libintl
  - merge PR #895 (alexnedo)
  * fix access to freed memory
  - merge PR #919 (sysvinit)
  * configurable prom username labels
  - merge PR #840 (sysvinit)
  * configurable prometheus listener port
  - merge PR #870 (micmac1)
  * fix build mariadb connector
  - merge PR #851 (freedomben)
  * fix README typo
  - merge PR #877 (davel)
  * correct doc typo
  - merge PR #755(moznuy) and #825(by argggh)
  * fix sqlite3_shutdown and sqlite3_config race
  - merge PR #826 (by giavac)
  * prom server better
  - merge PR #684 (by brevilo)
  * Define OPENSSL_VERSION_1_1_1 on systems where it doesn't (yet) exist
  * Regression in 4.5.2 that cause issues in openssl version &lt; 1.1.1.
  - typo fix in prometheus (by fcecagno)
  - merge PR #687 (by Wuelber Castillo)
  * Add hash algorithm for hmackey value to redis userdb schema docs
  - replace keep-address-family with allocation-default-address-family (keep-address-family deprecated and will be removed!!)
  - merge PR #703 (by j4zzc4t)
  * Restore no_stdout_log behavior
  - merge PR #727 (by JoKoT3)
  * Support older mysql client version in configure
  - merge PR #721 (by KangLin)
  * Add to support cmake
  - merge PR #717 (by marcoschum)
  * Fix typo in turnserver.conf
  - merge PR #704 (by hills)
  * Packaging scripts can miss out on these errors (exit code)
  - merge PR #679 (by rubo77)
  * Readme.turnserver: how to run server as a daemon
  - merge PR #739 (by hills)
  * SSL reload has hidden bugs which cause crashes
  - Fix regression in PR #739
  - Try to mitigate STUN amplification attatck
  * Add new option --no-rfc5780 to force disable RFC8750
  * Add new option --no-stun-backward-compatibility
    Disable handling old STUN Binding requests and disable
    MAPPED-ADDRESS attribute in binding response (use only the
    XOR-MAPPED-ADDRESS)
  * Add new option --response-origin-only-with-rfc5780
    Add RESPONSE_ORIGIN attribute only if rfc5780 is enabled
  * Don't send SOFTWARE attribute if --no-software-attribute set on (BREAKING CHANGE)
  - merge PR #767 (by ggalperi)
  * fix for log_binding (regression)</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1678104000">- Add coturn-no-FIPS-140-mode.patch, fixes build against OpenSSL 3.0</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1683028800">- Update to 4.6.2
  * Make sure microhttpd starts using epoll if supported
  * Add sessioncount to prometheus metrics
  * Add STUN request/response/error prometheus counters
  * Cleanup logs on turnserver start
  * Fix duplicate stdout log output
  * Log threadId to logs to aid in multi-threaded debugging
  * Optional build info compiled into turnserver binary
  * Fix arguments expansion in docker-entrypoint.sh
  * Santise database connection strings before printing to log
  * Support Windows MSVC
  * Add configuration option for TLS 1.3 ciphersuites
  * Improve openssl3 and FIPS support
  * Use single SSL_CTX for TLS and DTLS support
  * Update openssl API use to non-deprecated version
  * Set string bytes to null to prevent random origin
  * Fix memory corruption on socket close
  * Fix packet backlog fifo that processed packets in reverse
    order in some scenarios
  * Fix off-by-one when terminating gcm_nonce
  * Fixes to Redis memleaks and socketleaks
  * Fix malformed response to mobility refresh request
  * Fuzzing support
  * Ignore raw UDP if no_udp is enabled
  * Better detect availability of SCTP protocol
- Drop coturn-no-FIPS-140-mode.patch, fixed upstream, see
  https://github.com/coturn/coturn/issues/1170</changelog>
  <changelog author="chris@computersalat.de" date="1696852800">- add coturn-turnserver_conf.patch
  * to have a meaningful turnserver.conf.default
- create a ready-to-run turnserver.conf
- fix logrotate script
- Update README.SUSE for Let's Encrypt Certificates
- move certs to /etc/coturn/tls
- Update apparmor profile
- rework sysusers.d config file</changelog>
  <changelog author="chris@computersalat.de" date="1697198400">- Update coturn-turnserver_conf.patch
  * Fix comment for listening-ip
- enable 'verbose' log to see listening IPs and more, not just
  server start/stop</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  PatchN.</changelog>
  <changelog author="Adam Majer &lt;amajer@suse.com&gt;" date="1718452800">- Don't hard require systemd -- not needed in containers</changelog>
</package>
<package pkgid="38e8d7850e6253b393ac608daa7e52514e5b1fbe3b53122dcf400f58afd6ecc43d701f1e913aae2d191ffdf0d6af6d26842f0c6605f9fd97972f9cc79f66e460" name="coturn-utils" arch="x86_64">
  <version epoch="0" ver="4.6.2" rel="4.1"/>
  <changelog author="Johannes Weberhofer &lt;jweberhofer@weberhofer.at&gt;" date="1610366400">- Version 4.5.2
  * Fix for CVE-2020-26262 (boo#1180764)
  - Fix ipv6 ::1 loopback check
  - Not allow allocate peer address 0.0.0.0/8 and ::/128
  - For more details see the github security advisory:
    https://github.com/coturn/coturn/security/advisories/GHSA-6g6j-r9rf-cm7p
  * fix null pointer dereference in case of out of memory.
  * Fix: Null pointer dereference on tcp_client_input_handler_rfc6062data function
  * Fix: use-after-free vulnerability on write_to_peerchannel function
  * Fix: use-after-free vulnerability on write_client_connection function
  * add prometheus metrics
  * Delete trailing whitespace in example configuration files
  * Add architecture ppc64le to travis build
  * Fix misleading option in doc (prometheus)
  * Allow RFC6062 TCP relay data to look like TLS
  * Add support for proxy protocol V1
  * Print full date and time in logs
  * Add new options: "new-log-timestamp" and "new-log-timestamp-format"
  * Do not use FIPS and remove hardcode OPENSSL_VERSION_NUMBER with LibreSSL
  * Add ACME redirect url
  * support of --acme-redirect &lt;URL&gt;
  * fix acme security, redundancy, consistency
  * Add new --log-binding option to enable binding request logging
  * Fix stale-nonce documentation
  * Version number is changed to semver 2.0
  * pkg-config, and various cleanups in configure file
  * Add systemd notification for better systemd integration
  * Fix c++ support
  * Remove session id/allocation labels
  * Remove per session metrics. We should later add more counters.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_coturn.service.patch
  Modified:
  * coturn.service
  * coturn@.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1634558400">- Dropped harden_coturn.service.patch because systemd units are
  created from own source anyway and are proven to work</changelog>
  <changelog author="Georg Pfuetzenreuter &lt;georg.pfuetzenreuter@suse.com&gt;" date="1660910400">- Drop @privileged SystemCallFilter, can prevent service from starting (status=31/SYS)</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1670155200">- Version 4.6.1
  - Fix memory corruption on socket close (#1113)
- Version 4.6.0
  - merge PR #967 (eakraly)
  * fix small issues reported by cppcheck
  - merge PR #974 (eakraly)
  * fix long log line printing
  - merge PR #973 (eakraly)
  * Print turnserver version with --version
  - merge PR #972 (eakraly)
  * do not write outside of a buffer in admin interface
  - merge PR #970 (eakraly)
  * fix uclient certificate loading bug
  - merge PR #971 (eakraly)
  * fix duplicate TCP flag in run_tests.sh script
  - merge PR #962 (huhaipeng)
  * fix turn session leak
  - merge PR #963 (eakraly)
  * Document dependency of new-log-timestamp-format on new-log-timestamp
  - merge PR #951 (steffen-moser)
  * Enable compilation of coturn on Solaris 11.4
  - merge PR #949 (eakraly)
  * First step to re-enable compilation with OpenSSL 1.0.x
  - merge PR #949 (eakraly)
  * Fix cmake build on macOS
  - merge PR #942 (eakraly)
  * Disable SSL renegotiation
  - merge PR #792 (yfaker)
  * Fix user quota release #786
  - merge PR #829 (fancycode)
  * add more info to redis allocation status
  - merge PR #938 (eakraly)
  * update turnserver.conf comment
  - merge PR #773 (haseebq)
  * fix performance regression
  - merge PR #773 (korayvt)
  * add syslog facility config
  - merge PR #897 (unicode-it)
  * add support for dual-stack prom listener
  - merge PR #984 (rozhuk-im)
  * fix build with libressl 3.4.0+
  - merge PR #926 (ggarber)
  * add ci tests workflow
  - merge PR #934 (neocat)
  * show error on invalid config
  - merge PR #787 (dsmeytis)
  * add new prom allocations metric
  - merge PR #869 (micmac1)
  * don't link in libintl
  - merge PR #895 (alexnedo)
  * fix access to freed memory
  - merge PR #919 (sysvinit)
  * configurable prom username labels
  - merge PR #840 (sysvinit)
  * configurable prometheus listener port
  - merge PR #870 (micmac1)
  * fix build mariadb connector
  - merge PR #851 (freedomben)
  * fix README typo
  - merge PR #877 (davel)
  * correct doc typo
  - merge PR #755(moznuy) and #825(by argggh)
  * fix sqlite3_shutdown and sqlite3_config race
  - merge PR #826 (by giavac)
  * prom server better
  - merge PR #684 (by brevilo)
  * Define OPENSSL_VERSION_1_1_1 on systems where it doesn't (yet) exist
  * Regression in 4.5.2 that cause issues in openssl version &lt; 1.1.1.
  - typo fix in prometheus (by fcecagno)
  - merge PR #687 (by Wuelber Castillo)
  * Add hash algorithm for hmackey value to redis userdb schema docs
  - replace keep-address-family with allocation-default-address-family (keep-address-family deprecated and will be removed!!)
  - merge PR #703 (by j4zzc4t)
  * Restore no_stdout_log behavior
  - merge PR #727 (by JoKoT3)
  * Support older mysql client version in configure
  - merge PR #721 (by KangLin)
  * Add to support cmake
  - merge PR #717 (by marcoschum)
  * Fix typo in turnserver.conf
  - merge PR #704 (by hills)
  * Packaging scripts can miss out on these errors (exit code)
  - merge PR #679 (by rubo77)
  * Readme.turnserver: how to run server as a daemon
  - merge PR #739 (by hills)
  * SSL reload has hidden bugs which cause crashes
  - Fix regression in PR #739
  - Try to mitigate STUN amplification attatck
  * Add new option --no-rfc5780 to force disable RFC8750
  * Add new option --no-stun-backward-compatibility
    Disable handling old STUN Binding requests and disable
    MAPPED-ADDRESS attribute in binding response (use only the
    XOR-MAPPED-ADDRESS)
  * Add new option --response-origin-only-with-rfc5780
    Add RESPONSE_ORIGIN attribute only if rfc5780 is enabled
  * Don't send SOFTWARE attribute if --no-software-attribute set on (BREAKING CHANGE)
  - merge PR #767 (by ggalperi)
  * fix for log_binding (regression)</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1678104000">- Add coturn-no-FIPS-140-mode.patch, fixes build against OpenSSL 3.0</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1683028800">- Update to 4.6.2
  * Make sure microhttpd starts using epoll if supported
  * Add sessioncount to prometheus metrics
  * Add STUN request/response/error prometheus counters
  * Cleanup logs on turnserver start
  * Fix duplicate stdout log output
  * Log threadId to logs to aid in multi-threaded debugging
  * Optional build info compiled into turnserver binary
  * Fix arguments expansion in docker-entrypoint.sh
  * Santise database connection strings before printing to log
  * Support Windows MSVC
  * Add configuration option for TLS 1.3 ciphersuites
  * Improve openssl3 and FIPS support
  * Use single SSL_CTX for TLS and DTLS support
  * Update openssl API use to non-deprecated version
  * Set string bytes to null to prevent random origin
  * Fix memory corruption on socket close
  * Fix packet backlog fifo that processed packets in reverse
    order in some scenarios
  * Fix off-by-one when terminating gcm_nonce
  * Fixes to Redis memleaks and socketleaks
  * Fix malformed response to mobility refresh request
  * Fuzzing support
  * Ignore raw UDP if no_udp is enabled
  * Better detect availability of SCTP protocol
- Drop coturn-no-FIPS-140-mode.patch, fixed upstream, see
  https://github.com/coturn/coturn/issues/1170</changelog>
  <changelog author="chris@computersalat.de" date="1696852800">- add coturn-turnserver_conf.patch
  * to have a meaningful turnserver.conf.default
- create a ready-to-run turnserver.conf
- fix logrotate script
- Update README.SUSE for Let's Encrypt Certificates
- move certs to /etc/coturn/tls
- Update apparmor profile
- rework sysusers.d config file</changelog>
  <changelog author="chris@computersalat.de" date="1697198400">- Update coturn-turnserver_conf.patch
  * Fix comment for listening-ip
- enable 'verbose' log to see listening IPs and more, not just
  server start/stop</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  PatchN.</changelog>
  <changelog author="Adam Majer &lt;amajer@suse.com&gt;" date="1718452800">- Don't hard require systemd -- not needed in containers</changelog>
</package>
<package pkgid="899843d16c0bfd7578e8e04c22cb79d9ec952b6a1a0ddad39b3348892aad7459d4d5eb1cb1c717d9436166723a658c9e5a46808f344962b4f4258ce36d53a7f6" name="coturn-utils-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.6.2" rel="4.1"/>
  <changelog author="Johannes Weberhofer &lt;jweberhofer@weberhofer.at&gt;" date="1610366400">- Version 4.5.2
  * Fix for CVE-2020-26262 (boo#1180764)
  - Fix ipv6 ::1 loopback check
  - Not allow allocate peer address 0.0.0.0/8 and ::/128
  - For more details see the github security advisory:
    https://github.com/coturn/coturn/security/advisories/GHSA-6g6j-r9rf-cm7p
  * fix null pointer dereference in case of out of memory.
  * Fix: Null pointer dereference on tcp_client_input_handler_rfc6062data function
  * Fix: use-after-free vulnerability on write_to_peerchannel function
  * Fix: use-after-free vulnerability on write_client_connection function
  * add prometheus metrics
  * Delete trailing whitespace in example configuration files
  * Add architecture ppc64le to travis build
  * Fix misleading option in doc (prometheus)
  * Allow RFC6062 TCP relay data to look like TLS
  * Add support for proxy protocol V1
  * Print full date and time in logs
  * Add new options: "new-log-timestamp" and "new-log-timestamp-format"
  * Do not use FIPS and remove hardcode OPENSSL_VERSION_NUMBER with LibreSSL
  * Add ACME redirect url
  * support of --acme-redirect &lt;URL&gt;
  * fix acme security, redundancy, consistency
  * Add new --log-binding option to enable binding request logging
  * Fix stale-nonce documentation
  * Version number is changed to semver 2.0
  * pkg-config, and various cleanups in configure file
  * Add systemd notification for better systemd integration
  * Fix c++ support
  * Remove session id/allocation labels
  * Remove per session metrics. We should later add more counters.</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630324800">- Added hardening to systemd service(s). Added patch(es):
  * harden_coturn.service.patch
  Modified:
  * coturn.service
  * coturn@.service</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Drop ProtectClock hardening, can cause issues if other device acceess is needed</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1634558400">- Dropped harden_coturn.service.patch because systemd units are
  created from own source anyway and are proven to work</changelog>
  <changelog author="Georg Pfuetzenreuter &lt;georg.pfuetzenreuter@suse.com&gt;" date="1660910400">- Drop @privileged SystemCallFilter, can prevent service from starting (status=31/SYS)</changelog>
  <changelog author="Michael Str&#xF6;der &lt;michael@stroeder.com&gt;" date="1670155200">- Version 4.6.1
  - Fix memory corruption on socket close (#1113)
- Version 4.6.0
  - merge PR #967 (eakraly)
  * fix small issues reported by cppcheck
  - merge PR #974 (eakraly)
  * fix long log line printing
  - merge PR #973 (eakraly)
  * Print turnserver version with --version
  - merge PR #972 (eakraly)
  * do not write outside of a buffer in admin interface
  - merge PR #970 (eakraly)
  * fix uclient certificate loading bug
  - merge PR #971 (eakraly)
  * fix duplicate TCP flag in run_tests.sh script
  - merge PR #962 (huhaipeng)
  * fix turn session leak
  - merge PR #963 (eakraly)
  * Document dependency of new-log-timestamp-format on new-log-timestamp
  - merge PR #951 (steffen-moser)
  * Enable compilation of coturn on Solaris 11.4
  - merge PR #949 (eakraly)
  * First step to re-enable compilation with OpenSSL 1.0.x
  - merge PR #949 (eakraly)
  * Fix cmake build on macOS
  - merge PR #942 (eakraly)
  * Disable SSL renegotiation
  - merge PR #792 (yfaker)
  * Fix user quota release #786
  - merge PR #829 (fancycode)
  * add more info to redis allocation status
  - merge PR #938 (eakraly)
  * update turnserver.conf comment
  - merge PR #773 (haseebq)
  * fix performance regression
  - merge PR #773 (korayvt)
  * add syslog facility config
  - merge PR #897 (unicode-it)
  * add support for dual-stack prom listener
  - merge PR #984 (rozhuk-im)
  * fix build with libressl 3.4.0+
  - merge PR #926 (ggarber)
  * add ci tests workflow
  - merge PR #934 (neocat)
  * show error on invalid config
  - merge PR #787 (dsmeytis)
  * add new prom allocations metric
  - merge PR #869 (micmac1)
  * don't link in libintl
  - merge PR #895 (alexnedo)
  * fix access to freed memory
  - merge PR #919 (sysvinit)
  * configurable prom username labels
  - merge PR #840 (sysvinit)
  * configurable prometheus listener port
  - merge PR #870 (micmac1)
  * fix build mariadb connector
  - merge PR #851 (freedomben)
  * fix README typo
  - merge PR #877 (davel)
  * correct doc typo
  - merge PR #755(moznuy) and #825(by argggh)
  * fix sqlite3_shutdown and sqlite3_config race
  - merge PR #826 (by giavac)
  * prom server better
  - merge PR #684 (by brevilo)
  * Define OPENSSL_VERSION_1_1_1 on systems where it doesn't (yet) exist
  * Regression in 4.5.2 that cause issues in openssl version &lt; 1.1.1.
  - typo fix in prometheus (by fcecagno)
  - merge PR #687 (by Wuelber Castillo)
  * Add hash algorithm for hmackey value to redis userdb schema docs
  - replace keep-address-family with allocation-default-address-family (keep-address-family deprecated and will be removed!!)
  - merge PR #703 (by j4zzc4t)
  * Restore no_stdout_log behavior
  - merge PR #727 (by JoKoT3)
  * Support older mysql client version in configure
  - merge PR #721 (by KangLin)
  * Add to support cmake
  - merge PR #717 (by marcoschum)
  * Fix typo in turnserver.conf
  - merge PR #704 (by hills)
  * Packaging scripts can miss out on these errors (exit code)
  - merge PR #679 (by rubo77)
  * Readme.turnserver: how to run server as a daemon
  - merge PR #739 (by hills)
  * SSL reload has hidden bugs which cause crashes
  - Fix regression in PR #739
  - Try to mitigate STUN amplification attatck
  * Add new option --no-rfc5780 to force disable RFC8750
  * Add new option --no-stun-backward-compatibility
    Disable handling old STUN Binding requests and disable
    MAPPED-ADDRESS attribute in binding response (use only the
    XOR-MAPPED-ADDRESS)
  * Add new option --response-origin-only-with-rfc5780
    Add RESPONSE_ORIGIN attribute only if rfc5780 is enabled
  * Don't send SOFTWARE attribute if --no-software-attribute set on (BREAKING CHANGE)
  - merge PR #767 (by ggalperi)
  * fix for log_binding (regression)</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1678104000">- Add coturn-no-FIPS-140-mode.patch, fixes build against OpenSSL 3.0</changelog>
  <changelog author="Carsten Ziepke &lt;kieltux@gmail.com&gt;" date="1683028800">- Update to 4.6.2
  * Make sure microhttpd starts using epoll if supported
  * Add sessioncount to prometheus metrics
  * Add STUN request/response/error prometheus counters
  * Cleanup logs on turnserver start
  * Fix duplicate stdout log output
  * Log threadId to logs to aid in multi-threaded debugging
  * Optional build info compiled into turnserver binary
  * Fix arguments expansion in docker-entrypoint.sh
  * Santise database connection strings before printing to log
  * Support Windows MSVC
  * Add configuration option for TLS 1.3 ciphersuites
  * Improve openssl3 and FIPS support
  * Use single SSL_CTX for TLS and DTLS support
  * Update openssl API use to non-deprecated version
  * Set string bytes to null to prevent random origin
  * Fix memory corruption on socket close
  * Fix packet backlog fifo that processed packets in reverse
    order in some scenarios
  * Fix off-by-one when terminating gcm_nonce
  * Fixes to Redis memleaks and socketleaks
  * Fix malformed response to mobility refresh request
  * Fuzzing support
  * Ignore raw UDP if no_udp is enabled
  * Better detect availability of SCTP protocol
- Drop coturn-no-FIPS-140-mode.patch, fixed upstream, see
  https://github.com/coturn/coturn/issues/1170</changelog>
  <changelog author="chris@computersalat.de" date="1696852800">- add coturn-turnserver_conf.patch
  * to have a meaningful turnserver.conf.default
- create a ready-to-run turnserver.conf
- fix logrotate script
- Update README.SUSE for Let's Encrypt Certificates
- move certs to /etc/coturn/tls
- Update apparmor profile
- rework sysusers.d config file</changelog>
  <changelog author="chris@computersalat.de" date="1697198400">- Update coturn-turnserver_conf.patch
  * Fix comment for listening-ip
- enable 'verbose' log to see listening IPs and more, not just
  server start/stop</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %autosetup macro. Allows to eliminate the usage of deprecated
  PatchN.</changelog>
  <changelog author="Adam Majer &lt;amajer@suse.com&gt;" date="1718452800">- Don't hard require systemd -- not needed in containers</changelog>
</package>
<package pkgid="8dbc20c268883beb728c426f50abc71f2a3e53c378aaa1d69e1f4cecbe5959f5fd762ee0df22768dd228ce4599f525b94e97c0c13486ddf71f9847d150898da5" name="cpp14" arch="i586">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="690372925a28f286801e4c4e47217595971eb6893a70183df5697edee15e342576f50dac4ec08745233b4494e7b71671326f2cb7a9ec2f10609f2e71ce02fa92" name="cpp14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="e89781a7d6369f8154c21d1d7ef9d55502d1ec02501cfe72c1df626e3d06f0785a3c37e88494845d33d53be0417b49e505c6948f1b10b5d33835c1386280bd37" name="cpp14-debuginfo" arch="i586">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="dd875ba17776688661bbb9ebf8678b2f0eaf4560fcede9233d92a606d9cb45f0de2d469fe07f5189f9fb940825fdfbf6508dd62d5d945bc07879886dbb56e94c" name="cpp14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="eb393e6af946207cef3ad4830c3f7143d75dab9c2a110dbfc1897ed281980e10b626a57fdcebf1228c46080bd65470901484e106095136ac0a3ffc60c2faa13f" name="cppcheck" arch="src">
  <version epoch="0" ver="2.14.2" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1663416000">- update to 2.9:
  * restored check for negative allocation (new[]) and negative VLA sizes from
    cppcheck 1.87 (LCppC backport)
  * replaced hardcoded check for pipe() buffer size by library configuration
    option (LCppC backport)
  * on Windows the callstack is now being written to the output specific via
    "--exception-handling"
  * make it possible to disable the various exception handling parts via the
    CMake options "NO_UNIX_SIGNAL_HANDLING", "NO_UNIX_BACKTRACE_SUPPORT" and
    "NO_WINDOWS_SEH"
  * detect more redundant calls of std::string::c_str(), std::string::substr(),
    and unnecessary copies of containers
  * Add a match function to addon similiar to Token::Match used internally by
    cppcheck:
  * | for either-or tokens(ie struct|class to match either struct or class)
  * !! to negate a token
  * It supports the %any%, %assign%, %comp%, %name%, %op%, %or%, %oror%, and %var% keywords
  * It supports (*), {*}, [*], and &lt;*&gt; to match links
  * @ can be added to bind the token to a name
  * ** can be used to match until a token
  * Add math functions which can be used in library function definition. This
    enables evaluation of more math functions in ValueFlow
  * Further improve lifetime analysis with this pointers
  * Propagate condition values from outer function calls
  * Add debug intrinsics debug_valueflow and debug_valuetype to show more
    detail including source backtraces</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670414400">- update to 2.9.3:
  * various GUI and premium feature handling bugfixes</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675080000">- update to 2.10.0:
  * Many improvements and fixes in checkers.
  * New check: use memset/memcpy instead of loop
  CLI:
  * if the file provided via "--file-list" cannot be opened it
    will now error out
  * add command-line option "--disable=" to individually disable
    checks
  GUI:
  * Detect when installed version is old. There is setting in
    Edit/Preferences to turn this on.
  * Fix path issue with backslashes
  * Cleanup *.ctu-info files after analysis
  Build:
  * the deprecated Makefile option SRCDIR is no longer accepted
  * added CMake option BUILD_CORE_DLL to build lib as
    cppcheck-core.dll with Visual Studio</changelog>
  <changelog author="PragmaticLinux &lt;info@pragmaticlinux.com&gt;" date="1675166400">- install files from the addons/ and platforms/ directories - boo#1207806
- correct shebang fix for htmlreport/cppcheck-htmlreport</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1677499200">- update to 2.10.2:
  * GUI: Set proper title for compliance report dialog
  * GUI: Generate compliance report
  * Tokenizer: tweaked simplification of function pointers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678881600">- update to 2.10.3:
  * SymbolDatabase: Fix handling of function pointer arguments</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1680091200">- switch on Tumbleweed temporarily to gcc 12 to avoid
  "allocator_traits&lt;A&gt;::rebind_alloc&lt;A::value_type&gt; must be A"
  (as mentioned on https://gcc.gnu.org/gcc-13/porting_to.html)</changelog>
  <changelog author="Manfred Schwarb &lt;manfred99@gmx.ch&gt;" date="1685448000">- test suite quirks:
  * Add patch disable-some-tests-about-char-signedness.patch, taken
    from Debian, to disable test "TestCondition::alwaysTrueContainer"
    which fails on "unsigned char" archs (arm, ppc)
  * Run test suite with "-j1", as TestProcessExecutor test is flaky otherwise</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1694692800">- update to 2.12.0:
  * uselessOverride finds overriding functions that either
    duplicate code from or delegate back to the base class
    implementation
  * knownPointerToBool finds pointer to bool conversions that are
    always true or false
  * truncLongCastAssignment and truncLongCastReturn check
    additional types, including float/double/long double
  * duplInheritedMember also reports duplicated member functions
  * constParameter*/constVariable* checks find more instances of
    pointers/references that can be const, e.g. when calling
    library functions
  * Write how many checkers was activated after a run
  * Added --checkers-report that can be used to generate a report
    in a file that shows what checkers was activated and disabled
  * The qmake build system has been deprecated and will be
    removed in a future version.
  * Command-line option '--template
- update to 2.11:
  * pop_back on empty container is UB
  * Improve useStlAlgorithm check to handle many more conditions
    in the loop for any_of, all_of and none_of algorithms
  * ValueFlow can evaluate the return value of functions even
    when conditionals are used
  * ValueFlow will now forward the container sizes being returned
    from a function
  * ValueFlow can infer possible values from possible symbolic
    values
  * Improve valueflow after pushing to container
  * The new option --check-level= has been added that controls
    how much checking is made by Cppcheck. The default checking
    level is "normal". If you feel that you can wait longer on
    results you can use --check-level=exhaustive.
  * It is no longer necessary to run "--check-config" to get
    detailed "missingInclude" and "missingIncludeSystem"
    messages. They will always be issued in the regular analysis
    if "missingInclude" is enabled.
  * "missingInclude" and "missingIncludeSystem" are reported with
    "-j" is &gt; 1 and processes are used in the backend (default in
    non-Windows binaries)
  * "missingInclude" and "missingIncludeSystem" will now cause
    the "--error-exitcode" to be applied
  * "--enable=information" will no longer implicitly enable
    "missingInclude" starting with 2.16. Please enable it
    explicitly if you require it.
  * The `constParameter` and `constVariable` checks have been
    split into 3 different IDs based on if the variable is a
    pointer, a reference, or local. The different IDs will allow
    users to suppress different const warning based on variable
    type.
  * `constParameter`
  * `constParameterReference`
  * `constParameterPointer`
  * `constVariable`
  * `constVariableReference`
  * `constVariablePointer`
  * More command-line parameters will now check if the given
    integer argument is actually valid. Several other internal
    string-to-integer conversions will now be error checked.
  * scanning projects (with -j1) will now defer the analysis of
    markup files until the whole code was processed
- add werror-return-type.patch to fix false warnings where
  gcc can not properly detect the "noreturn" nature of the function</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1695124800">- update to 2.12.1:
  * Support importing projects with project-name</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1699531200">- Replace disable-some-tests-about-char-signedness.patch with
  upstream patch to fix tests on non-x86_64 (such as aarch64):
  * eb076d87.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- add CVE-2023-39070.patch (CVE-2023-39070, bsc#1215233)</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1703419200">- update to 2.13.0
  * newCheck passedByValueCallback for functions which take a
    parameter by value but are used as callbacks
  * newCheck returnImplicitInt for C functions without return type
  * newCheck iterateByValue for iterating by value in a range-based
    for loop when a const reference could be used
- Drop patches werror-return-type.patch, eb076d87.patch, and
  CVE-2023-39070.patch which are part of upstream or fixed in a
  similar way.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705924800">- update to 2.13.1:
  * Show premium autosar/misra/cert style issues even if --enable
  is not used
  * Better validation of --premium options
  * unsafe handling of unconditional #error
  * unsafe suppressions of critical errors
  * missing "misra-config" warning, calling unknown function in
  condition
  * If --premium=safety is used then go to "safety mode". Do not
  override this in cppcheck.cfg</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706270400">- update to 2.13.2:
  * Fix premium version check
  * Fix 12375</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1707134400">- update to 2.13.3:
  * settings.cpp: Update autosar+cert+misra checkers mappings
  * Fix #12389 (GUI: premiumaddon is not executed properly anymore)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1711281600">- update to 2.13.4:
  * Speedup premium misra checking</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1714132800">- update to 2.14.0
  * New checks:
  - eraseIteratorOutOfBounds: warns when erase() is called on an
    iterator that is out of bounds
  - returnByReference: warns when a large class member is returned
    by value from a getter function</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1716811200">- update to 2.14.1
  * Build: fix USE_MATCHCOMPILER CMake option validation
  * Improve Checking: implement evaluation order checker for c++11
    and later</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1719057600">- update to 2.14.2
  * Justifications for warnings using comments in the code
  * Fix alignas handling</changelog>
</package>
<package pkgid="55ca627ad4c12821abfe1d5370260561ed8621a3955affec95a552a4a373777a1981e8f0980ba65bea7e8989894a52095bf4d6b2b66967e7d8ba8032928c8ae6" name="cppcheck" arch="x86_64">
  <version epoch="0" ver="2.14.2" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1663416000">- update to 2.9:
  * restored check for negative allocation (new[]) and negative VLA sizes from
    cppcheck 1.87 (LCppC backport)
  * replaced hardcoded check for pipe() buffer size by library configuration
    option (LCppC backport)
  * on Windows the callstack is now being written to the output specific via
    "--exception-handling"
  * make it possible to disable the various exception handling parts via the
    CMake options "NO_UNIX_SIGNAL_HANDLING", "NO_UNIX_BACKTRACE_SUPPORT" and
    "NO_WINDOWS_SEH"
  * detect more redundant calls of std::string::c_str(), std::string::substr(),
    and unnecessary copies of containers
  * Add a match function to addon similiar to Token::Match used internally by
    cppcheck:
  * | for either-or tokens(ie struct|class to match either struct or class)
  * !! to negate a token
  * It supports the %any%, %assign%, %comp%, %name%, %op%, %or%, %oror%, and %var% keywords
  * It supports (*), {*}, [*], and &lt;*&gt; to match links
  * @ can be added to bind the token to a name
  * ** can be used to match until a token
  * Add math functions which can be used in library function definition. This
    enables evaluation of more math functions in ValueFlow
  * Further improve lifetime analysis with this pointers
  * Propagate condition values from outer function calls
  * Add debug intrinsics debug_valueflow and debug_valuetype to show more
    detail including source backtraces</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670414400">- update to 2.9.3:
  * various GUI and premium feature handling bugfixes</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675080000">- update to 2.10.0:
  * Many improvements and fixes in checkers.
  * New check: use memset/memcpy instead of loop
  CLI:
  * if the file provided via "--file-list" cannot be opened it
    will now error out
  * add command-line option "--disable=" to individually disable
    checks
  GUI:
  * Detect when installed version is old. There is setting in
    Edit/Preferences to turn this on.
  * Fix path issue with backslashes
  * Cleanup *.ctu-info files after analysis
  Build:
  * the deprecated Makefile option SRCDIR is no longer accepted
  * added CMake option BUILD_CORE_DLL to build lib as
    cppcheck-core.dll with Visual Studio</changelog>
  <changelog author="PragmaticLinux &lt;info@pragmaticlinux.com&gt;" date="1675166400">- install files from the addons/ and platforms/ directories - boo#1207806
- correct shebang fix for htmlreport/cppcheck-htmlreport</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1677499200">- update to 2.10.2:
  * GUI: Set proper title for compliance report dialog
  * GUI: Generate compliance report
  * Tokenizer: tweaked simplification of function pointers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678881600">- update to 2.10.3:
  * SymbolDatabase: Fix handling of function pointer arguments</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1680091200">- switch on Tumbleweed temporarily to gcc 12 to avoid
  "allocator_traits&lt;A&gt;::rebind_alloc&lt;A::value_type&gt; must be A"
  (as mentioned on https://gcc.gnu.org/gcc-13/porting_to.html)</changelog>
  <changelog author="Manfred Schwarb &lt;manfred99@gmx.ch&gt;" date="1685448000">- test suite quirks:
  * Add patch disable-some-tests-about-char-signedness.patch, taken
    from Debian, to disable test "TestCondition::alwaysTrueContainer"
    which fails on "unsigned char" archs (arm, ppc)
  * Run test suite with "-j1", as TestProcessExecutor test is flaky otherwise</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1694692800">- update to 2.12.0:
  * uselessOverride finds overriding functions that either
    duplicate code from or delegate back to the base class
    implementation
  * knownPointerToBool finds pointer to bool conversions that are
    always true or false
  * truncLongCastAssignment and truncLongCastReturn check
    additional types, including float/double/long double
  * duplInheritedMember also reports duplicated member functions
  * constParameter*/constVariable* checks find more instances of
    pointers/references that can be const, e.g. when calling
    library functions
  * Write how many checkers was activated after a run
  * Added --checkers-report that can be used to generate a report
    in a file that shows what checkers was activated and disabled
  * The qmake build system has been deprecated and will be
    removed in a future version.
  * Command-line option '--template
- update to 2.11:
  * pop_back on empty container is UB
  * Improve useStlAlgorithm check to handle many more conditions
    in the loop for any_of, all_of and none_of algorithms
  * ValueFlow can evaluate the return value of functions even
    when conditionals are used
  * ValueFlow will now forward the container sizes being returned
    from a function
  * ValueFlow can infer possible values from possible symbolic
    values
  * Improve valueflow after pushing to container
  * The new option --check-level= has been added that controls
    how much checking is made by Cppcheck. The default checking
    level is "normal". If you feel that you can wait longer on
    results you can use --check-level=exhaustive.
  * It is no longer necessary to run "--check-config" to get
    detailed "missingInclude" and "missingIncludeSystem"
    messages. They will always be issued in the regular analysis
    if "missingInclude" is enabled.
  * "missingInclude" and "missingIncludeSystem" are reported with
    "-j" is &gt; 1 and processes are used in the backend (default in
    non-Windows binaries)
  * "missingInclude" and "missingIncludeSystem" will now cause
    the "--error-exitcode" to be applied
  * "--enable=information" will no longer implicitly enable
    "missingInclude" starting with 2.16. Please enable it
    explicitly if you require it.
  * The `constParameter` and `constVariable` checks have been
    split into 3 different IDs based on if the variable is a
    pointer, a reference, or local. The different IDs will allow
    users to suppress different const warning based on variable
    type.
  * `constParameter`
  * `constParameterReference`
  * `constParameterPointer`
  * `constVariable`
  * `constVariableReference`
  * `constVariablePointer`
  * More command-line parameters will now check if the given
    integer argument is actually valid. Several other internal
    string-to-integer conversions will now be error checked.
  * scanning projects (with -j1) will now defer the analysis of
    markup files until the whole code was processed
- add werror-return-type.patch to fix false warnings where
  gcc can not properly detect the "noreturn" nature of the function</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1695124800">- update to 2.12.1:
  * Support importing projects with project-name</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1699531200">- Replace disable-some-tests-about-char-signedness.patch with
  upstream patch to fix tests on non-x86_64 (such as aarch64):
  * eb076d87.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- add CVE-2023-39070.patch (CVE-2023-39070, bsc#1215233)</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1703419200">- update to 2.13.0
  * newCheck passedByValueCallback for functions which take a
    parameter by value but are used as callbacks
  * newCheck returnImplicitInt for C functions without return type
  * newCheck iterateByValue for iterating by value in a range-based
    for loop when a const reference could be used
- Drop patches werror-return-type.patch, eb076d87.patch, and
  CVE-2023-39070.patch which are part of upstream or fixed in a
  similar way.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705924800">- update to 2.13.1:
  * Show premium autosar/misra/cert style issues even if --enable
  is not used
  * Better validation of --premium options
  * unsafe handling of unconditional #error
  * unsafe suppressions of critical errors
  * missing "misra-config" warning, calling unknown function in
  condition
  * If --premium=safety is used then go to "safety mode". Do not
  override this in cppcheck.cfg</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706270400">- update to 2.13.2:
  * Fix premium version check
  * Fix 12375</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1707134400">- update to 2.13.3:
  * settings.cpp: Update autosar+cert+misra checkers mappings
  * Fix #12389 (GUI: premiumaddon is not executed properly anymore)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1711281600">- update to 2.13.4:
  * Speedup premium misra checking</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1714132800">- update to 2.14.0
  * New checks:
  - eraseIteratorOutOfBounds: warns when erase() is called on an
    iterator that is out of bounds
  - returnByReference: warns when a large class member is returned
    by value from a getter function</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1716811200">- update to 2.14.1
  * Build: fix USE_MATCHCOMPILER CMake option validation
  * Improve Checking: implement evaluation order checker for c++11
    and later</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1719057600">- update to 2.14.2
  * Justifications for warnings using comments in the code
  * Fix alignas handling</changelog>
</package>
<package pkgid="ac1612b64b1488d1dcea1590477c1e9097bc0cd7434a43932aac9ec70fffa89cd9491119d8a923c6559e394c7d5f469cf33f513fdf9772761020b1f3417f9256" name="cppcheck-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.14.2" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1663416000">- update to 2.9:
  * restored check for negative allocation (new[]) and negative VLA sizes from
    cppcheck 1.87 (LCppC backport)
  * replaced hardcoded check for pipe() buffer size by library configuration
    option (LCppC backport)
  * on Windows the callstack is now being written to the output specific via
    "--exception-handling"
  * make it possible to disable the various exception handling parts via the
    CMake options "NO_UNIX_SIGNAL_HANDLING", "NO_UNIX_BACKTRACE_SUPPORT" and
    "NO_WINDOWS_SEH"
  * detect more redundant calls of std::string::c_str(), std::string::substr(),
    and unnecessary copies of containers
  * Add a match function to addon similiar to Token::Match used internally by
    cppcheck:
  * | for either-or tokens(ie struct|class to match either struct or class)
  * !! to negate a token
  * It supports the %any%, %assign%, %comp%, %name%, %op%, %or%, %oror%, and %var% keywords
  * It supports (*), {*}, [*], and &lt;*&gt; to match links
  * @ can be added to bind the token to a name
  * ** can be used to match until a token
  * Add math functions which can be used in library function definition. This
    enables evaluation of more math functions in ValueFlow
  * Further improve lifetime analysis with this pointers
  * Propagate condition values from outer function calls
  * Add debug intrinsics debug_valueflow and debug_valuetype to show more
    detail including source backtraces</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670414400">- update to 2.9.3:
  * various GUI and premium feature handling bugfixes</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675080000">- update to 2.10.0:
  * Many improvements and fixes in checkers.
  * New check: use memset/memcpy instead of loop
  CLI:
  * if the file provided via "--file-list" cannot be opened it
    will now error out
  * add command-line option "--disable=" to individually disable
    checks
  GUI:
  * Detect when installed version is old. There is setting in
    Edit/Preferences to turn this on.
  * Fix path issue with backslashes
  * Cleanup *.ctu-info files after analysis
  Build:
  * the deprecated Makefile option SRCDIR is no longer accepted
  * added CMake option BUILD_CORE_DLL to build lib as
    cppcheck-core.dll with Visual Studio</changelog>
  <changelog author="PragmaticLinux &lt;info@pragmaticlinux.com&gt;" date="1675166400">- install files from the addons/ and platforms/ directories - boo#1207806
- correct shebang fix for htmlreport/cppcheck-htmlreport</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1677499200">- update to 2.10.2:
  * GUI: Set proper title for compliance report dialog
  * GUI: Generate compliance report
  * Tokenizer: tweaked simplification of function pointers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678881600">- update to 2.10.3:
  * SymbolDatabase: Fix handling of function pointer arguments</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1680091200">- switch on Tumbleweed temporarily to gcc 12 to avoid
  "allocator_traits&lt;A&gt;::rebind_alloc&lt;A::value_type&gt; must be A"
  (as mentioned on https://gcc.gnu.org/gcc-13/porting_to.html)</changelog>
  <changelog author="Manfred Schwarb &lt;manfred99@gmx.ch&gt;" date="1685448000">- test suite quirks:
  * Add patch disable-some-tests-about-char-signedness.patch, taken
    from Debian, to disable test "TestCondition::alwaysTrueContainer"
    which fails on "unsigned char" archs (arm, ppc)
  * Run test suite with "-j1", as TestProcessExecutor test is flaky otherwise</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1694692800">- update to 2.12.0:
  * uselessOverride finds overriding functions that either
    duplicate code from or delegate back to the base class
    implementation
  * knownPointerToBool finds pointer to bool conversions that are
    always true or false
  * truncLongCastAssignment and truncLongCastReturn check
    additional types, including float/double/long double
  * duplInheritedMember also reports duplicated member functions
  * constParameter*/constVariable* checks find more instances of
    pointers/references that can be const, e.g. when calling
    library functions
  * Write how many checkers was activated after a run
  * Added --checkers-report that can be used to generate a report
    in a file that shows what checkers was activated and disabled
  * The qmake build system has been deprecated and will be
    removed in a future version.
  * Command-line option '--template
- update to 2.11:
  * pop_back on empty container is UB
  * Improve useStlAlgorithm check to handle many more conditions
    in the loop for any_of, all_of and none_of algorithms
  * ValueFlow can evaluate the return value of functions even
    when conditionals are used
  * ValueFlow will now forward the container sizes being returned
    from a function
  * ValueFlow can infer possible values from possible symbolic
    values
  * Improve valueflow after pushing to container
  * The new option --check-level= has been added that controls
    how much checking is made by Cppcheck. The default checking
    level is "normal". If you feel that you can wait longer on
    results you can use --check-level=exhaustive.
  * It is no longer necessary to run "--check-config" to get
    detailed "missingInclude" and "missingIncludeSystem"
    messages. They will always be issued in the regular analysis
    if "missingInclude" is enabled.
  * "missingInclude" and "missingIncludeSystem" are reported with
    "-j" is &gt; 1 and processes are used in the backend (default in
    non-Windows binaries)
  * "missingInclude" and "missingIncludeSystem" will now cause
    the "--error-exitcode" to be applied
  * "--enable=information" will no longer implicitly enable
    "missingInclude" starting with 2.16. Please enable it
    explicitly if you require it.
  * The `constParameter` and `constVariable` checks have been
    split into 3 different IDs based on if the variable is a
    pointer, a reference, or local. The different IDs will allow
    users to suppress different const warning based on variable
    type.
  * `constParameter`
  * `constParameterReference`
  * `constParameterPointer`
  * `constVariable`
  * `constVariableReference`
  * `constVariablePointer`
  * More command-line parameters will now check if the given
    integer argument is actually valid. Several other internal
    string-to-integer conversions will now be error checked.
  * scanning projects (with -j1) will now defer the analysis of
    markup files until the whole code was processed
- add werror-return-type.patch to fix false warnings where
  gcc can not properly detect the "noreturn" nature of the function</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1695124800">- update to 2.12.1:
  * Support importing projects with project-name</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1699531200">- Replace disable-some-tests-about-char-signedness.patch with
  upstream patch to fix tests on non-x86_64 (such as aarch64):
  * eb076d87.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- add CVE-2023-39070.patch (CVE-2023-39070, bsc#1215233)</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1703419200">- update to 2.13.0
  * newCheck passedByValueCallback for functions which take a
    parameter by value but are used as callbacks
  * newCheck returnImplicitInt for C functions without return type
  * newCheck iterateByValue for iterating by value in a range-based
    for loop when a const reference could be used
- Drop patches werror-return-type.patch, eb076d87.patch, and
  CVE-2023-39070.patch which are part of upstream or fixed in a
  similar way.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705924800">- update to 2.13.1:
  * Show premium autosar/misra/cert style issues even if --enable
  is not used
  * Better validation of --premium options
  * unsafe handling of unconditional #error
  * unsafe suppressions of critical errors
  * missing "misra-config" warning, calling unknown function in
  condition
  * If --premium=safety is used then go to "safety mode". Do not
  override this in cppcheck.cfg</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706270400">- update to 2.13.2:
  * Fix premium version check
  * Fix 12375</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1707134400">- update to 2.13.3:
  * settings.cpp: Update autosar+cert+misra checkers mappings
  * Fix #12389 (GUI: premiumaddon is not executed properly anymore)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1711281600">- update to 2.13.4:
  * Speedup premium misra checking</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1714132800">- update to 2.14.0
  * New checks:
  - eraseIteratorOutOfBounds: warns when erase() is called on an
    iterator that is out of bounds
  - returnByReference: warns when a large class member is returned
    by value from a getter function</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1716811200">- update to 2.14.1
  * Build: fix USE_MATCHCOMPILER CMake option validation
  * Improve Checking: implement evaluation order checker for c++11
    and later</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1719057600">- update to 2.14.2
  * Justifications for warnings using comments in the code
  * Fix alignas handling</changelog>
</package>
<package pkgid="86a2ca0566396470c6feb117e8d5385a16d12a8818a1bbeca5ae4e8980f45435a72ae3c8973d1e78f1509f8c593e2178ed6b0d3e1f1f3967db3118d12d8e0052" name="cppcheck-debugsource" arch="x86_64">
  <version epoch="0" ver="2.14.2" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1663416000">- update to 2.9:
  * restored check for negative allocation (new[]) and negative VLA sizes from
    cppcheck 1.87 (LCppC backport)
  * replaced hardcoded check for pipe() buffer size by library configuration
    option (LCppC backport)
  * on Windows the callstack is now being written to the output specific via
    "--exception-handling"
  * make it possible to disable the various exception handling parts via the
    CMake options "NO_UNIX_SIGNAL_HANDLING", "NO_UNIX_BACKTRACE_SUPPORT" and
    "NO_WINDOWS_SEH"
  * detect more redundant calls of std::string::c_str(), std::string::substr(),
    and unnecessary copies of containers
  * Add a match function to addon similiar to Token::Match used internally by
    cppcheck:
  * | for either-or tokens(ie struct|class to match either struct or class)
  * !! to negate a token
  * It supports the %any%, %assign%, %comp%, %name%, %op%, %or%, %oror%, and %var% keywords
  * It supports (*), {*}, [*], and &lt;*&gt; to match links
  * @ can be added to bind the token to a name
  * ** can be used to match until a token
  * Add math functions which can be used in library function definition. This
    enables evaluation of more math functions in ValueFlow
  * Further improve lifetime analysis with this pointers
  * Propagate condition values from outer function calls
  * Add debug intrinsics debug_valueflow and debug_valuetype to show more
    detail including source backtraces</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670414400">- update to 2.9.3:
  * various GUI and premium feature handling bugfixes</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675080000">- update to 2.10.0:
  * Many improvements and fixes in checkers.
  * New check: use memset/memcpy instead of loop
  CLI:
  * if the file provided via "--file-list" cannot be opened it
    will now error out
  * add command-line option "--disable=" to individually disable
    checks
  GUI:
  * Detect when installed version is old. There is setting in
    Edit/Preferences to turn this on.
  * Fix path issue with backslashes
  * Cleanup *.ctu-info files after analysis
  Build:
  * the deprecated Makefile option SRCDIR is no longer accepted
  * added CMake option BUILD_CORE_DLL to build lib as
    cppcheck-core.dll with Visual Studio</changelog>
  <changelog author="PragmaticLinux &lt;info@pragmaticlinux.com&gt;" date="1675166400">- install files from the addons/ and platforms/ directories - boo#1207806
- correct shebang fix for htmlreport/cppcheck-htmlreport</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1677499200">- update to 2.10.2:
  * GUI: Set proper title for compliance report dialog
  * GUI: Generate compliance report
  * Tokenizer: tweaked simplification of function pointers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678881600">- update to 2.10.3:
  * SymbolDatabase: Fix handling of function pointer arguments</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1680091200">- switch on Tumbleweed temporarily to gcc 12 to avoid
  "allocator_traits&lt;A&gt;::rebind_alloc&lt;A::value_type&gt; must be A"
  (as mentioned on https://gcc.gnu.org/gcc-13/porting_to.html)</changelog>
  <changelog author="Manfred Schwarb &lt;manfred99@gmx.ch&gt;" date="1685448000">- test suite quirks:
  * Add patch disable-some-tests-about-char-signedness.patch, taken
    from Debian, to disable test "TestCondition::alwaysTrueContainer"
    which fails on "unsigned char" archs (arm, ppc)
  * Run test suite with "-j1", as TestProcessExecutor test is flaky otherwise</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1694692800">- update to 2.12.0:
  * uselessOverride finds overriding functions that either
    duplicate code from or delegate back to the base class
    implementation
  * knownPointerToBool finds pointer to bool conversions that are
    always true or false
  * truncLongCastAssignment and truncLongCastReturn check
    additional types, including float/double/long double
  * duplInheritedMember also reports duplicated member functions
  * constParameter*/constVariable* checks find more instances of
    pointers/references that can be const, e.g. when calling
    library functions
  * Write how many checkers was activated after a run
  * Added --checkers-report that can be used to generate a report
    in a file that shows what checkers was activated and disabled
  * The qmake build system has been deprecated and will be
    removed in a future version.
  * Command-line option '--template
- update to 2.11:
  * pop_back on empty container is UB
  * Improve useStlAlgorithm check to handle many more conditions
    in the loop for any_of, all_of and none_of algorithms
  * ValueFlow can evaluate the return value of functions even
    when conditionals are used
  * ValueFlow will now forward the container sizes being returned
    from a function
  * ValueFlow can infer possible values from possible symbolic
    values
  * Improve valueflow after pushing to container
  * The new option --check-level= has been added that controls
    how much checking is made by Cppcheck. The default checking
    level is "normal". If you feel that you can wait longer on
    results you can use --check-level=exhaustive.
  * It is no longer necessary to run "--check-config" to get
    detailed "missingInclude" and "missingIncludeSystem"
    messages. They will always be issued in the regular analysis
    if "missingInclude" is enabled.
  * "missingInclude" and "missingIncludeSystem" are reported with
    "-j" is &gt; 1 and processes are used in the backend (default in
    non-Windows binaries)
  * "missingInclude" and "missingIncludeSystem" will now cause
    the "--error-exitcode" to be applied
  * "--enable=information" will no longer implicitly enable
    "missingInclude" starting with 2.16. Please enable it
    explicitly if you require it.
  * The `constParameter` and `constVariable` checks have been
    split into 3 different IDs based on if the variable is a
    pointer, a reference, or local. The different IDs will allow
    users to suppress different const warning based on variable
    type.
  * `constParameter`
  * `constParameterReference`
  * `constParameterPointer`
  * `constVariable`
  * `constVariableReference`
  * `constVariablePointer`
  * More command-line parameters will now check if the given
    integer argument is actually valid. Several other internal
    string-to-integer conversions will now be error checked.
  * scanning projects (with -j1) will now defer the analysis of
    markup files until the whole code was processed
- add werror-return-type.patch to fix false warnings where
  gcc can not properly detect the "noreturn" nature of the function</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1695124800">- update to 2.12.1:
  * Support importing projects with project-name</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1699531200">- Replace disable-some-tests-about-char-signedness.patch with
  upstream patch to fix tests on non-x86_64 (such as aarch64):
  * eb076d87.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- add CVE-2023-39070.patch (CVE-2023-39070, bsc#1215233)</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1703419200">- update to 2.13.0
  * newCheck passedByValueCallback for functions which take a
    parameter by value but are used as callbacks
  * newCheck returnImplicitInt for C functions without return type
  * newCheck iterateByValue for iterating by value in a range-based
    for loop when a const reference could be used
- Drop patches werror-return-type.patch, eb076d87.patch, and
  CVE-2023-39070.patch which are part of upstream or fixed in a
  similar way.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705924800">- update to 2.13.1:
  * Show premium autosar/misra/cert style issues even if --enable
  is not used
  * Better validation of --premium options
  * unsafe handling of unconditional #error
  * unsafe suppressions of critical errors
  * missing "misra-config" warning, calling unknown function in
  condition
  * If --premium=safety is used then go to "safety mode". Do not
  override this in cppcheck.cfg</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706270400">- update to 2.13.2:
  * Fix premium version check
  * Fix 12375</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1707134400">- update to 2.13.3:
  * settings.cpp: Update autosar+cert+misra checkers mappings
  * Fix #12389 (GUI: premiumaddon is not executed properly anymore)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1711281600">- update to 2.13.4:
  * Speedup premium misra checking</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1714132800">- update to 2.14.0
  * New checks:
  - eraseIteratorOutOfBounds: warns when erase() is called on an
    iterator that is out of bounds
  - returnByReference: warns when a large class member is returned
    by value from a getter function</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1716811200">- update to 2.14.1
  * Build: fix USE_MATCHCOMPILER CMake option validation
  * Improve Checking: implement evaluation order checker for c++11
    and later</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1719057600">- update to 2.14.2
  * Justifications for warnings using comments in the code
  * Fix alignas handling</changelog>
</package>
<package pkgid="147dc1400768312275ca93b0c47d1c62729ef7f4123b47510da8a5b02241348ac2f4d0e6b00c03e253189f7b886260d0e8acfc268870313b74d06b5c45fc4bd4" name="cppcheck-gui" arch="x86_64">
  <version epoch="0" ver="2.14.2" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1663416000">- update to 2.9:
  * restored check for negative allocation (new[]) and negative VLA sizes from
    cppcheck 1.87 (LCppC backport)
  * replaced hardcoded check for pipe() buffer size by library configuration
    option (LCppC backport)
  * on Windows the callstack is now being written to the output specific via
    "--exception-handling"
  * make it possible to disable the various exception handling parts via the
    CMake options "NO_UNIX_SIGNAL_HANDLING", "NO_UNIX_BACKTRACE_SUPPORT" and
    "NO_WINDOWS_SEH"
  * detect more redundant calls of std::string::c_str(), std::string::substr(),
    and unnecessary copies of containers
  * Add a match function to addon similiar to Token::Match used internally by
    cppcheck:
  * | for either-or tokens(ie struct|class to match either struct or class)
  * !! to negate a token
  * It supports the %any%, %assign%, %comp%, %name%, %op%, %or%, %oror%, and %var% keywords
  * It supports (*), {*}, [*], and &lt;*&gt; to match links
  * @ can be added to bind the token to a name
  * ** can be used to match until a token
  * Add math functions which can be used in library function definition. This
    enables evaluation of more math functions in ValueFlow
  * Further improve lifetime analysis with this pointers
  * Propagate condition values from outer function calls
  * Add debug intrinsics debug_valueflow and debug_valuetype to show more
    detail including source backtraces</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670414400">- update to 2.9.3:
  * various GUI and premium feature handling bugfixes</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675080000">- update to 2.10.0:
  * Many improvements and fixes in checkers.
  * New check: use memset/memcpy instead of loop
  CLI:
  * if the file provided via "--file-list" cannot be opened it
    will now error out
  * add command-line option "--disable=" to individually disable
    checks
  GUI:
  * Detect when installed version is old. There is setting in
    Edit/Preferences to turn this on.
  * Fix path issue with backslashes
  * Cleanup *.ctu-info files after analysis
  Build:
  * the deprecated Makefile option SRCDIR is no longer accepted
  * added CMake option BUILD_CORE_DLL to build lib as
    cppcheck-core.dll with Visual Studio</changelog>
  <changelog author="PragmaticLinux &lt;info@pragmaticlinux.com&gt;" date="1675166400">- install files from the addons/ and platforms/ directories - boo#1207806
- correct shebang fix for htmlreport/cppcheck-htmlreport</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1677499200">- update to 2.10.2:
  * GUI: Set proper title for compliance report dialog
  * GUI: Generate compliance report
  * Tokenizer: tweaked simplification of function pointers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678881600">- update to 2.10.3:
  * SymbolDatabase: Fix handling of function pointer arguments</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1680091200">- switch on Tumbleweed temporarily to gcc 12 to avoid
  "allocator_traits&lt;A&gt;::rebind_alloc&lt;A::value_type&gt; must be A"
  (as mentioned on https://gcc.gnu.org/gcc-13/porting_to.html)</changelog>
  <changelog author="Manfred Schwarb &lt;manfred99@gmx.ch&gt;" date="1685448000">- test suite quirks:
  * Add patch disable-some-tests-about-char-signedness.patch, taken
    from Debian, to disable test "TestCondition::alwaysTrueContainer"
    which fails on "unsigned char" archs (arm, ppc)
  * Run test suite with "-j1", as TestProcessExecutor test is flaky otherwise</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1694692800">- update to 2.12.0:
  * uselessOverride finds overriding functions that either
    duplicate code from or delegate back to the base class
    implementation
  * knownPointerToBool finds pointer to bool conversions that are
    always true or false
  * truncLongCastAssignment and truncLongCastReturn check
    additional types, including float/double/long double
  * duplInheritedMember also reports duplicated member functions
  * constParameter*/constVariable* checks find more instances of
    pointers/references that can be const, e.g. when calling
    library functions
  * Write how many checkers was activated after a run
  * Added --checkers-report that can be used to generate a report
    in a file that shows what checkers was activated and disabled
  * The qmake build system has been deprecated and will be
    removed in a future version.
  * Command-line option '--template
- update to 2.11:
  * pop_back on empty container is UB
  * Improve useStlAlgorithm check to handle many more conditions
    in the loop for any_of, all_of and none_of algorithms
  * ValueFlow can evaluate the return value of functions even
    when conditionals are used
  * ValueFlow will now forward the container sizes being returned
    from a function
  * ValueFlow can infer possible values from possible symbolic
    values
  * Improve valueflow after pushing to container
  * The new option --check-level= has been added that controls
    how much checking is made by Cppcheck. The default checking
    level is "normal". If you feel that you can wait longer on
    results you can use --check-level=exhaustive.
  * It is no longer necessary to run "--check-config" to get
    detailed "missingInclude" and "missingIncludeSystem"
    messages. They will always be issued in the regular analysis
    if "missingInclude" is enabled.
  * "missingInclude" and "missingIncludeSystem" are reported with
    "-j" is &gt; 1 and processes are used in the backend (default in
    non-Windows binaries)
  * "missingInclude" and "missingIncludeSystem" will now cause
    the "--error-exitcode" to be applied
  * "--enable=information" will no longer implicitly enable
    "missingInclude" starting with 2.16. Please enable it
    explicitly if you require it.
  * The `constParameter` and `constVariable` checks have been
    split into 3 different IDs based on if the variable is a
    pointer, a reference, or local. The different IDs will allow
    users to suppress different const warning based on variable
    type.
  * `constParameter`
  * `constParameterReference`
  * `constParameterPointer`
  * `constVariable`
  * `constVariableReference`
  * `constVariablePointer`
  * More command-line parameters will now check if the given
    integer argument is actually valid. Several other internal
    string-to-integer conversions will now be error checked.
  * scanning projects (with -j1) will now defer the analysis of
    markup files until the whole code was processed
- add werror-return-type.patch to fix false warnings where
  gcc can not properly detect the "noreturn" nature of the function</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1695124800">- update to 2.12.1:
  * Support importing projects with project-name</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1699531200">- Replace disable-some-tests-about-char-signedness.patch with
  upstream patch to fix tests on non-x86_64 (such as aarch64):
  * eb076d87.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- add CVE-2023-39070.patch (CVE-2023-39070, bsc#1215233)</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1703419200">- update to 2.13.0
  * newCheck passedByValueCallback for functions which take a
    parameter by value but are used as callbacks
  * newCheck returnImplicitInt for C functions without return type
  * newCheck iterateByValue for iterating by value in a range-based
    for loop when a const reference could be used
- Drop patches werror-return-type.patch, eb076d87.patch, and
  CVE-2023-39070.patch which are part of upstream or fixed in a
  similar way.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705924800">- update to 2.13.1:
  * Show premium autosar/misra/cert style issues even if --enable
  is not used
  * Better validation of --premium options
  * unsafe handling of unconditional #error
  * unsafe suppressions of critical errors
  * missing "misra-config" warning, calling unknown function in
  condition
  * If --premium=safety is used then go to "safety mode". Do not
  override this in cppcheck.cfg</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706270400">- update to 2.13.2:
  * Fix premium version check
  * Fix 12375</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1707134400">- update to 2.13.3:
  * settings.cpp: Update autosar+cert+misra checkers mappings
  * Fix #12389 (GUI: premiumaddon is not executed properly anymore)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1711281600">- update to 2.13.4:
  * Speedup premium misra checking</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1714132800">- update to 2.14.0
  * New checks:
  - eraseIteratorOutOfBounds: warns when erase() is called on an
    iterator that is out of bounds
  - returnByReference: warns when a large class member is returned
    by value from a getter function</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1716811200">- update to 2.14.1
  * Build: fix USE_MATCHCOMPILER CMake option validation
  * Improve Checking: implement evaluation order checker for c++11
    and later</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1719057600">- update to 2.14.2
  * Justifications for warnings using comments in the code
  * Fix alignas handling</changelog>
</package>
<package pkgid="032c10a834425cd4e68d391144c87356eda4a8e191d463a23f8f956c8bfc1fb13fd30ab097489859d7433db16885b6237d48b57e35abc3db7c455d50f5a1f4cf" name="cppcheck-gui-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.14.2" rel="1.1"/>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1663416000">- update to 2.9:
  * restored check for negative allocation (new[]) and negative VLA sizes from
    cppcheck 1.87 (LCppC backport)
  * replaced hardcoded check for pipe() buffer size by library configuration
    option (LCppC backport)
  * on Windows the callstack is now being written to the output specific via
    "--exception-handling"
  * make it possible to disable the various exception handling parts via the
    CMake options "NO_UNIX_SIGNAL_HANDLING", "NO_UNIX_BACKTRACE_SUPPORT" and
    "NO_WINDOWS_SEH"
  * detect more redundant calls of std::string::c_str(), std::string::substr(),
    and unnecessary copies of containers
  * Add a match function to addon similiar to Token::Match used internally by
    cppcheck:
  * | for either-or tokens(ie struct|class to match either struct or class)
  * !! to negate a token
  * It supports the %any%, %assign%, %comp%, %name%, %op%, %or%, %oror%, and %var% keywords
  * It supports (*), {*}, [*], and &lt;*&gt; to match links
  * @ can be added to bind the token to a name
  * ** can be used to match until a token
  * Add math functions which can be used in library function definition. This
    enables evaluation of more math functions in ValueFlow
  * Further improve lifetime analysis with this pointers
  * Propagate condition values from outer function calls
  * Add debug intrinsics debug_valueflow and debug_valuetype to show more
    detail including source backtraces</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670414400">- update to 2.9.3:
  * various GUI and premium feature handling bugfixes</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1675080000">- update to 2.10.0:
  * Many improvements and fixes in checkers.
  * New check: use memset/memcpy instead of loop
  CLI:
  * if the file provided via "--file-list" cannot be opened it
    will now error out
  * add command-line option "--disable=" to individually disable
    checks
  GUI:
  * Detect when installed version is old. There is setting in
    Edit/Preferences to turn this on.
  * Fix path issue with backslashes
  * Cleanup *.ctu-info files after analysis
  Build:
  * the deprecated Makefile option SRCDIR is no longer accepted
  * added CMake option BUILD_CORE_DLL to build lib as
    cppcheck-core.dll with Visual Studio</changelog>
  <changelog author="PragmaticLinux &lt;info@pragmaticlinux.com&gt;" date="1675166400">- install files from the addons/ and platforms/ directories - boo#1207806
- correct shebang fix for htmlreport/cppcheck-htmlreport</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1677499200">- update to 2.10.2:
  * GUI: Set proper title for compliance report dialog
  * GUI: Generate compliance report
  * Tokenizer: tweaked simplification of function pointers</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1678881600">- update to 2.10.3:
  * SymbolDatabase: Fix handling of function pointer arguments</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1680091200">- switch on Tumbleweed temporarily to gcc 12 to avoid
  "allocator_traits&lt;A&gt;::rebind_alloc&lt;A::value_type&gt; must be A"
  (as mentioned on https://gcc.gnu.org/gcc-13/porting_to.html)</changelog>
  <changelog author="Manfred Schwarb &lt;manfred99@gmx.ch&gt;" date="1685448000">- test suite quirks:
  * Add patch disable-some-tests-about-char-signedness.patch, taken
    from Debian, to disable test "TestCondition::alwaysTrueContainer"
    which fails on "unsigned char" archs (arm, ppc)
  * Run test suite with "-j1", as TestProcessExecutor test is flaky otherwise</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1694692800">- update to 2.12.0:
  * uselessOverride finds overriding functions that either
    duplicate code from or delegate back to the base class
    implementation
  * knownPointerToBool finds pointer to bool conversions that are
    always true or false
  * truncLongCastAssignment and truncLongCastReturn check
    additional types, including float/double/long double
  * duplInheritedMember also reports duplicated member functions
  * constParameter*/constVariable* checks find more instances of
    pointers/references that can be const, e.g. when calling
    library functions
  * Write how many checkers was activated after a run
  * Added --checkers-report that can be used to generate a report
    in a file that shows what checkers was activated and disabled
  * The qmake build system has been deprecated and will be
    removed in a future version.
  * Command-line option '--template
- update to 2.11:
  * pop_back on empty container is UB
  * Improve useStlAlgorithm check to handle many more conditions
    in the loop for any_of, all_of and none_of algorithms
  * ValueFlow can evaluate the return value of functions even
    when conditionals are used
  * ValueFlow will now forward the container sizes being returned
    from a function
  * ValueFlow can infer possible values from possible symbolic
    values
  * Improve valueflow after pushing to container
  * The new option --check-level= has been added that controls
    how much checking is made by Cppcheck. The default checking
    level is "normal". If you feel that you can wait longer on
    results you can use --check-level=exhaustive.
  * It is no longer necessary to run "--check-config" to get
    detailed "missingInclude" and "missingIncludeSystem"
    messages. They will always be issued in the regular analysis
    if "missingInclude" is enabled.
  * "missingInclude" and "missingIncludeSystem" are reported with
    "-j" is &gt; 1 and processes are used in the backend (default in
    non-Windows binaries)
  * "missingInclude" and "missingIncludeSystem" will now cause
    the "--error-exitcode" to be applied
  * "--enable=information" will no longer implicitly enable
    "missingInclude" starting with 2.16. Please enable it
    explicitly if you require it.
  * The `constParameter` and `constVariable` checks have been
    split into 3 different IDs based on if the variable is a
    pointer, a reference, or local. The different IDs will allow
    users to suppress different const warning based on variable
    type.
  * `constParameter`
  * `constParameterReference`
  * `constParameterPointer`
  * `constVariable`
  * `constVariableReference`
  * `constVariablePointer`
  * More command-line parameters will now check if the given
    integer argument is actually valid. Several other internal
    string-to-integer conversions will now be error checked.
  * scanning projects (with -j1) will now defer the analysis of
    markup files until the whole code was processed
- add werror-return-type.patch to fix false warnings where
  gcc can not properly detect the "noreturn" nature of the function</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1695124800">- update to 2.12.1:
  * Support importing projects with project-name</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1699531200">- Replace disable-some-tests-about-char-signedness.patch with
  upstream patch to fix tests on non-x86_64 (such as aarch64):
  * eb076d87.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1703073600">- add CVE-2023-39070.patch (CVE-2023-39070, bsc#1215233)</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1703419200">- update to 2.13.0
  * newCheck passedByValueCallback for functions which take a
    parameter by value but are used as callbacks
  * newCheck returnImplicitInt for C functions without return type
  * newCheck iterateByValue for iterating by value in a range-based
    for loop when a const reference could be used
- Drop patches werror-return-type.patch, eb076d87.patch, and
  CVE-2023-39070.patch which are part of upstream or fixed in a
  similar way.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1705924800">- update to 2.13.1:
  * Show premium autosar/misra/cert style issues even if --enable
  is not used
  * Better validation of --premium options
  * unsafe handling of unconditional #error
  * unsafe suppressions of critical errors
  * missing "misra-config" warning, calling unknown function in
  condition
  * If --premium=safety is used then go to "safety mode". Do not
  override this in cppcheck.cfg</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1706270400">- update to 2.13.2:
  * Fix premium version check
  * Fix 12375</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1707134400">- update to 2.13.3:
  * settings.cpp: Update autosar+cert+misra checkers mappings
  * Fix #12389 (GUI: premiumaddon is not executed properly anymore)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1711281600">- update to 2.13.4:
  * Speedup premium misra checking</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1714132800">- update to 2.14.0
  * New checks:
  - eraseIteratorOutOfBounds: warns when erase() is called on an
    iterator that is out of bounds
  - returnByReference: warns when a large class member is returned
    by value from a getter function</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1716811200">- update to 2.14.1
  * Build: fix USE_MATCHCOMPILER CMake option validation
  * Improve Checking: implement evaluation order checker for c++11
    and later</changelog>
  <changelog author="Christoph G &lt;foss@grueninger.de&gt;" date="1719057600">- update to 2.14.2
  * Justifications for warnings using comments in the code
  * Fix alignas handling</changelog>
</package>
<package pkgid="99e28bfee5a26d917e8d2f94b7ba28f3ed8715eba97357cb045438c07ac286001be4e1bbbf4502efadf60fdf4f1ddea2b042d0b6e66e17e31d01090d31a5c013" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="3.10"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="1bb42ecbd97dd4401dd2e6377094f112943eddf0461f6cc70a6561a1e714c4e0dd7d9a187c43437bf334104e86995038b325493e985a2c2140674c218f79bd52" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.10"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="8775f53f5809115aea81fcc08bf0b5d41b6de602199eb9fb45200869c7a546269683fffe9a6fdcf647c8094989dbc36ec7f4f88ff774bce2d5dddaa5b76adeaa" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="5f3ac6d91f26b685fff7cb7c0e3d1711cbd83ffb468e7e5f30667bae3a0894c3acae24d45ffd1caacf2c9207c9a73b7808ff94352553a96c5067518eb4b0be6c" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="0a8e98c0e090e4f51d011d8fb57f90f9d072adc7c3dc900f9f497b3a58e58bffb1e7b05e821322c298ef701e977ed9382f2ada0b09478885cbe12dd3352c7750" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="220887afaa883fb9d8271db3d5f5b327e49e2a6bcd4bbae59e0d07e9ca269d02cb01f7b64a5ecaef7553e293432456ac460d4752cc73414371934f3e8bda269c" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="99421db723d0b4cad164519d8281060c1efa92c965e0e0670413dfbe4a2783d9acb0d5301aa4cbb1c85899dcdc36466b199f3111526c40226c1d1da0bdea16d0" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="abb61b52b48468acdb526c91ca2f99f24e3a8e01465a246ba4a120af70f3c350510336c97cfdbd677266a0690f322e34802f6ca3ee63a0bca4a79e741c54ab6f" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="9fc70bb21cc3cc1d4aa393f8179cf38a229d057272dd765b7d43c78b363b9a4cd298e3130a33ad220db8894d9fb395860a626f8aeccf8a20546dfe587a8524d2" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="3.5"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="8bf03854f249c2f0da21091aaa60505e9632acaec36c1f1dd98d2a2b251231583a596eef73d5d1adf6498fe128af1a3390cec2ebd07bf2172f521b6d2704df33" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="7b8e5f844834154c4c86fdfd44062113af7e1db85d694297695fd632dc6637ad9a91c453343e2582628d3951abb1d4db0bc5510755207a4ec3c7901b573ad47e" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="3.6"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="73d448578d3c162c5b7415633c37641c8c878ce812c5c9393d51c86378e9092f72efaaa9a24a909a50ebe119e017bcf5ece15eabe829160c30a04d3aa6e2060d" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.6"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="21cc91bc243d7788d8b6d758ecbd28f138dc5fe75816744fe77cefc65dec19e0fc5ba58d6293c59e3bb0966ab3127693a522eb973437bab8ead5b11449b64df6" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="55a01bc3ebfd49f7540c0a384603b2a52f34de16dd91fc964f2cf4dbd8efaffba1a3dca3a392d83d02779ec4b0a96521841fc2aaed2848f812d42521a205c533" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="d621c268bbe06e1d47fd0bbb798979190facbe821fc8846f79d6677661a8f78607ac4d8b11b230e0ea40dbb3bc27955382b5105a9acb76ab208aac440f883108" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="3.8"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="cd07df55a07f1c2c7163f3810ab806b4776b9ead84ba0ec90ab3a9d833ac8723bada0b715730cc9f99b7ecf73c959c3094e929de7d7e62ae4ef4fc9acd93b694" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.8"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="422b0b16cd22861f3511533c14cd2ecce3d1c7aa2f7a1cc6042bf20e199d2120e710a5125be297c5c2707b08fbe0b039a8e71c211e9d7972eb4f4733fc4fa9d7" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="3.9"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="011f168794a16e6fe8147588318953428d0abc3f1bb02d9781a68687e1b5eaf89fc6a0326d78b103cabe01ce08ffc462a0bf2969e2f3ac8b85793528b6187b15" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.9"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="62ea81eab5f1b5a1bf65d9911d91407d24ffd0dc18c56746adf1e89d2cea881568081882a43853977a0f18b735b7744d95403bfd97e1c15d0a354d1ad91304b0" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="34cf39ca825fdf7b8ef1500e1e7c27d6615fee4b9904b6d700ad025dff877a57ce9f975a6e84291bcf34f22f3231110e60a982e10d9bd5f48839d274ea3d37fc" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="6c2c8e7da4328d7e680ee00e06448b4bfd855ae6d03f423b0f9fc8447e25bc4f8cec356576222152ebea0eb1438c66c6133fc1122d3e133d4233e57e5cb4d595" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="be4c4388a9dea33e2e6baaf2ce403482b6b201e96041aaa99f08a977e57a2718490d386ddb13aa1ef74423bce3fe4dd5d3cef68836a0bb28358e20fb02fdc069" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="cb71eaa1ae9d290d628aaa01139990e962f7c8b18c70c3c4705b2994a338d1be466912f4dc04a1ce456fe3769da9a9af0a84a58010f3daf4a57018a299a1ad8e" name="crash" arch="src">
  <version epoch="0" ver="8.0.4" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="535c41c7b2b7f2d18201217d46f3ef4b6429104b10561a6ec4fa55982139e28acb961d851e8f0cbebdb49d9d04b95180ca4abacc25df6df9dc3ffe87f73be9ae" name="crash" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="a6c1c1a2fd12fdd71b50b9585d692f4f6abb2d9dd4b7adf5a262b9357ed8a2b78bb60524101ed377b1040cd7387c3d7882ee6167b62e2879080c08b0c9eee753" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.10"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="60ccf5975d98fa4b4b70e4cc42742eec94587203dcf678c3d22d015768e5d52450f24074651e67e61b3a6da9dd659cede0bb54b6bc1f9297a027fdcd0bd94afe" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="cd325dfd0370c98a49491d36008cde7f1755006e862fba3cae4e34d49f3842bd3bfcad28c0ff6cab5dafc81af5a1ad5eb912ac9fe2e99df688eba5ef50b929dc" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="37a3318e1539668b06f151de5b8bbd67db32da880c26493de91312c03a6f2c544b5e6f0faebf296242b425e1aca94f4f38d58e8cb5605c7c5d8866cd5f3154b0" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="0c4b0c349cb3a92a442ef1e7048201c618699cf382dc48a90828a713958d43874f152a1b35035d6fd82538f77acf23b7dbe378cd384d128be4860d75c186f4e6" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="dbf98a8628578ed1eafac7ab96160d0a299a2a5b175aa23e1dbfa5264dd76c74907e7c6e8f5e61ae8be0db7106e79e86932890c2ed34ff6c27125dc2d9f0f773" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.6"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="6395bf844e73a5df17aef930d928c5fe9307fb6860acff70cea07b8d8dc676c5ede6cb7289751b1edec6239cf665839c56c0d986022f3193945ce8095f2c6757" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="c27ed1cecb5bfbc51374ce16578c2c334c2ccd68e8f45c2a0696296f399a9aea1a1e5f47ee2b899f5aaeca0a3553634a9da56346e704183b9b4d6bf0a2effab5" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.8"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="1e40dccb152e4a557a4aacc978adb406e1c83874ace5a4113bc6b6ed36819973ef01351f8423f893edc2263a6a878ecb5ed4a314bb948c3455247983bb9599f0" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.9"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f5ba35068f2a33f167b264fd2d5cb77f0cf532e6027c65cde51cd1fb62a7581cc45e5954858a140894c8b53a1edc18ba552e8e61bf745ac654078f2b69fae7df" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="d6aaa4d53b3137028abcdbfc7d41c0bca9e2678862802cddad535218d975011d209aed063e5f5efafb6c3a5bdb228f90ac64190878da08551be866da600c3cdd" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="6cfe27934391328ecde5ba8365212e18a70907aff73f0bada4ef661cfbcca1f8846a553fff9a373d50b60e47a10f9c4e73b6b2888423161999722db7c5fa948c" name="crash-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="c40a83ddfc1756dde48241228fdc7996606c67d14ba578a3a3fab43e6804e591dd5cc94332ce123d0c3e30c44321aa313df0b3a25775f05e16efc6e104ef33cb" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.10"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="a315c7289b089fb7861f95989f56d3ba874a06ce1539d3b94c15b45a66bc026fe0bd511918323f2f342403bb95378088aef756e9004e064297b283226b81ba0e" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="71fe6df99cf5a809dddfb4d7cacc91e7d87e2f320e003a046c7ca313ae67fe24f88464b3a96bc9576d65148b4bd42180c951811f85c5bbf6f97f632bec4bfdae" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f681dc491261f7e95803cc3ba8d6926b372248bb86521dea4df998c7a1ffbc514a80f557ce863072d9e4bd2d14da2b8f5681564610056291633ce09a6e86e550" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="c5d0a724bdbd5d7949d94a8e1f707723f8c400f13c13b841143b2b0ac5221a7955e7eb74fb3ace89601fa36f022a7ecc37cc1a4ab0ec32a470f5e0c03628196e" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="b9ce47c6f01c662bbb1dc0b48e4cd57b73572cec9ec2f7bf75174a07cecf8e66f70e3395ea5625ceb3432b6629fd534d72250744f380dc1396a11635490d0893" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.6"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="cb622977509ec73c8d7f093c70f7603e2b8e6f6f69c611795418d45e47546a68bb60ecbb421181aade0ded560bd7045faae6376593a07c21b809774bd5d6cd02" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="48b3cb49befd35aa0461c0bb4ab3f33694f595b347027485e9d0a40ccfc16e2b93e46eb3c7f869eb08b5eba3885dac1cf79e6733825a5ce15628ad9c7921d7ed" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.8"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="951884f9c54b28c40a728960285316c07415fd465d52bc3e0638e04e71fc49bdec582874f92d2bf3621aae526a5a42bd2fc34db6ed08e7487574a8128996fa8f" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.9"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="3bb34cb0d670d21dc5f34f2ae5b7d99f0e0a169c3d3b13801469e2e73fa1c6d7ea1363083bd3906f19556fb20373f9493c163e85a59c0cd3932eafb29df6e064" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="8e06a47a368869c42a32e08b9290acbfad86bb3cc3009643bab211a082ae20e71a272ea6f35e8fefded6f79d8be6154c5d8a0038c44aff499fa6af6caf0ae110" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="cfa6c98cc7a867cdb321843e716acb15d7285206546745f62e4e32d218858d9147e94420a6d2954d438295e04a9b0a098478d7398d96a4169fb16ca27a906ee2" name="crash-debugsource" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="6a14c409eae160a4903a1474d4e921234f830a707530f938334a855ac73db04e481e2dbd77dc86865b9ef4adf86e788ba3dc674a38d055f4f33ee229f2f86d46" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.10"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="fa92cefbc87df46ce0bb49452c9aec8a1e0cff35f432fe16dd3438a109a22df28ac832456536e792644fd68d9feefa554d3cb0f528e779e2a78fc18470112c2a" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="ac84587bd5f37956feed2ac479f84c8daf81c3550e4cefecab4e5740e2adcc60467d7b2b307124f3c8abdb44ef2d5a75c3a849ff6e00f0bab6bd4cec97b28500" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="32871ab78d5a85f164a1400fc95dd07372f44c9fbcdc384eb53eaf92688356941471d0b75ced8ccfa8f73519a024440dec6caf31d7ae5bdd0417c6e638eee9da" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="be0b615850572230407b7b8fab019c67f260ddeb0f5a8547da272ed228c584fb4a2195b3a77e226fd3811676c8813b981f02bddc0588866b305dfb3b178b0b62" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f7d358675713af80b1cf6abce104c5e7c0d29a0a10ff044ada6bf6405e114d7f88b4d24dcb627e0dbc5053ff10f8225cdb5dd7473c5510bbab742d72c274505a" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.6"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="5ec14be822c4ba2580b04e886eea9a8ce1293aa393b518c345037eca7e88c049ae2bad05c7646ecb5e2ec7568c110012f80fb1b02ada32e9b910cd6591d0f931" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="37726f453f0a8b1fde122c09f28fdd48d5300e480628e5c04cd5e334a97be450f8a0f1d6b3ae5fd097aa2def6b67387f8b716384d24272c2a35ffdab6b71837a" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.8"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f65352365dc2a37a1b31a3c1b4de0043a536192d9046adc218c57c1ed56b56eaa12b9adbaab2e27cd45b3aec34af3f2944134bd79f43466de99186125e4c0ec9" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.9"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="117a4b838705c10348db5459acbb52d5958f732fd6622cc70f77dab3d1f77488928ccb0c0a05ff6984ef5651dac4a0bf700996b4509fe48ea489963c97976b0d" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="5c08e151fc142fabc3cd97fbbb7dc41b0b4a3f0634ff55285edf53741e67f1a0a4faf66b222a749377a0286a2a4fabc40906742a5f08d0e54e7ce8d986ca9fd7" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="da1ce17581f961d147bb276e3ee6c204b01ee26ec166e73e5e142c446d7e08dbba7585dfa88aec66d89da422296002794b8ec8b4e900045e09ac2822e1b672c4" name="crash-devel" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="9fcc78651c1209ba4eb7abca32758381e1a3eac601be20adf02fc7c31d1d9777d2a3ff1a94cdeb316306c9c1a150989c0e1b3eeabbc87f3b6faea96f29f4a99a" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.10"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="98407730785f67e0a3e42234b3cbf9911328ff3fe8b0925286484049e2ba4629b3769ad09f2c51122d66d509edf79951c0a31255e1f13c67f13f510557ad8cba" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="890c5d9821fde8c09373054aea021cb83622544013a5138677b5d1e6c68ffb009b51d68c58c874f099119ff5d47e9bd452caaadc2f52b7adc528dd1c3089097a" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="80fb89710adee8a53c778f735555067ab2f60aef70c1a21bd158e39debbef1f104e75f4d89e154a4b522a9d7de42071dac7fedbc61ec6d080354d3b1f19a02b0" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="875b7c9617f1b6dd4095ee41e7bf66d234724816beb635dfcf995e00565fbf7ec64a7c31fe01b619abca6f460d7d98388d1c0ca0db3e98170dda7cec3ba4bfd3" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="96d7178163f8a9ffc281582f7995e6c6102d1b5bfe4fcd4dd14c9cef8c5357b5c517723bab5c9341e1ff4a13a03b47746132a0873193f55e70c72385c3721127" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.6"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="97f97762f0411ef6eb62e7476f24b2784d4ed1d66aec61ebf8f5ddc6bf864b65136a55c8d62bf328c24083a2cb9ba90170beef33f788ce4d58debc0663da0361" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f2197e30b2c9cb1cfffc52aba058ebd59fd09905ce3f7b475fb5d609c2a9a5e9f708f8a766d83314fe07489be226cc912bd1fd978e46432ffc4c374d1ef44a8e" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.8"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="71a437c87cafe92298d42711a57a1eb45dadc645a934632e366f44b566763113e65061f692a9c30f725a267c135bb2253c294b3fa196f5f8d9f55869873cdabf" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.9"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="facaca9d7f6468b935125a2ec73fce1f92a3bb8e60c10dda2d0eab5a5280d5bfb465ff27ccd2fae81e3fd85e9d4337f697ed2e6e80f2e0e22c353ca022d51594" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="7821f507020f2f427437445d0c78221f91f40e532b950d5233716977a26e4e062b7238bc75a0fe96592235a5da9941577d4c62ec9e7d27e78358e717c83331f7" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="0af6b01546b51d3bc51eeb61508027ca7c0b8aa8bc4537ab0cecbea13b9bff0386a225402f3ec6bfcaca8525861dadedf5aec29389d8903ebb9829fc29aa779f" name="crash-doc" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="daa53084251f4aa311306ed8384004477f5e6aa1b0ce870f417467d8a872efbc4c5057f74a05d0577d1958433ab558853dcba358c27418428e2f8a9f31b10aeb" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.10"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="d943024e8fbdc44fabaa901b2444a89b4d7b58ebabe86cbc998b8f5936319a875bd33d4c163efb62937c58cce073f8beecaf9a03697621c112ec7dcc59dbfdc9" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="5a1bb29a027183bb72146f7853661dfcc51a39e62843a4813c252e6c0c8470c5ff7d4effba49ac9003e7bbe6beae3f884a6f8e9d69ec9d51e5d99f604394971f" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="5739837a66dcde2f3b23ad3e6f3cb68c54302cdab3c4a03fb0aa44fe9787fe5b775d0034b5bc051097392fe6f0f7c52fbccc00615bf031c7a9cfefa1cd19ba43" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="41f06c40ff580135bfc0464874cf7c7857fa78a486c26a8dd6bb3f02569f75793c312e4b9593585522b3d6054b4360035efec22949d61e2b118535b4e2043362" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f9a8477c9e5ff395a3a7ee39926f18f5c29e0c0ad08ca51fa8ff4feb94811516a56e191f7329a9504f392b165565879e10a3523d4b502b787c2b15dd2942370c" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.6"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="aeedef4e4ff1ee0dbd8d3666da04281c47c7e648129b549519cdaadd115d42c7ebfee08f9162d1fda791765cf89929ac97df819b61c77d006604f6fbda1576c7" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="395eaeff47a892ef45b8a32d3fa7a054da5c34b7581f5c1b0ced4ae474802d3d320a2d047e06d1fcb1e6d905767d1ccc241adb0173afe72b3db9387b18d5fb8a" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.8"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="87bd283bd8db7e5b86a6217ed37db1c4903c680f10c5b6de0614f34d2f834083a519bc1b5ddecf6b640c3025a7228f37432cfbda87aae84186542d45e35e3658" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.9"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="66143d58a9bee402b254684ebaf7b6ffebee96a089a123930178c3999dee613430661017f505bae8e4e8a97071c8d1a65c7319d9704e78411adbdbc55118a960" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="5547142ad4b8c0237a7b5f25bebe60c1b9e383374f0123ee5701cab93ac00d534bf98b7192b920f77f165bbdddb0566da2eec3115b74938a292510edd7ff8420" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="67277de8c1e8baeea372975d3ec6a965fc6296b8fc3954a7b88abfbabcd21d01511e32c0c087f18830fa8aec860c2d3a628097fa768a7e6881f9431eeeb845cf" name="crash-gcore" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="357b93957cab57b1b6b43e4e30290dbd5d80e1ae099adc25ccfd6d9b06acf9511e056c8c99099ab7021db980ed94de87555c24f97296f84772839c1b8c103f39" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.10"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="e4b4c0df69c9a42c1e72bbb588981817957ad9f24f2ac7b9f469989590f4809e10f37e6f25bbe61a89795a99079295f0415f57e11be66f9c28908d4e44bfa73a" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="15e776a052a0a839c0624f3729163d3b978e527b6cd857532bd1fbedc6f41ec64482a4c57d360ec0fc1bfbd957bac6773ace59c6755370e21ab7f6c91b59dfec" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="242fc897938a4d30d461c52bf2b623a62cea050b2c7cb34547f015e0c6c69451ee89503d71541006d0a7ba9cd21ad8f1e6aba90b5a0b39b03b8a9eaa61437eb4" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="2fdd8704c25a51ee0296f827c34538b0d2e75bbc632521ebb4ab7e22ea3e7da48bc626d7c50dbbbf56197ae6a96ed163d0aa631656e30f0aebb5d582dfdaf4ff" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.5"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="3638ad86e57c5312866db4628cfda6b7492cb68c1beaafb034173ffe8993a897d286debb56dcf2944c8aa2eae0efb7b557701e5107c655a169e7bf78107c0a4f" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.6"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="6f4706dc1fc9a30a0aaf5760ea7d50d29f207ec0d5aef3e8ff58748ef392824c94d7ddeaa8a2e8af24097d14e65a6b556b8e8cbc3d3d38116e2d8563c4cb7699" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="49f73c686fb5f8143ed4e18093b2c05091610ed991bcaf20aa0231cea55da03a771bddb4f7f53f8cd848bc06acce1c5f34dc6aaccc4043df37b976eab17700cc" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.8"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="b1bf66186d823d0717f77113730cd165a5880afa438eb1ecd63e38e5e467decbfc220aade627096d4038c7e6a68dfcadc8615e0a103083c6015a83f1f414e4e8" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="3.9"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f14146728fc06f2572623488073753d946b5b2e5b9082328f5ba7c346b512bf582c4969534dfb2b6d9a99348d57d00e4e0384cfdada7255801a50149303e17ef" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="046e24562a5581e1d384c91298eaf75bd73f754479b7a6cdac17e202220a3f7ea1fb9778fcd6ed1d1dbcf6d837d8832ca82faaf2730bb99c16e9a960f0034448" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="84b55e30655d5e46de4a14d884d0ef00ce76ea142309b1d33c5705da62548f64ce238d6ea27d5f2b11518faaf3bd2fa31199660031856f6e1fcb250235a83476" name="crash-gcore-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="fec20a5c5c69f00c4c25c3bfa373c7b790083b01890092166df2ebc2d8ee1eedb7fe911c15c168f96ec245276ff41d2af02c6ef14d8b449056eb6cd363edab17" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.5_1" rel="3.5"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="719482d66f63de3b0b419febcdc451ecbc0e6c7a63883d1c54b08906f9e1530a165a946f04dd0adbf30c6d344634412c815bd7ee94b0b2f5e1f99483ef01145c" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.6_1" rel="3.6"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="3de630c74f0d09424f774dc81a05dd9fe6f16476433a689aa4a796c6cc1fa02fdf9bf63acf46b5601a16d52c02b2ec46a07f3e46aea5213235eda86fe52cac59" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.8_1" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="17b533cc00169e4c30ee35ac9ad705e42bcddb4c0cb49d7112a207574a20a3d2b26980ad50a1ae98a40c3766086ad2eb8ca880f0f4016a8f8c8c4b0998bed47a" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.9_1" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="a09a51b4b2b9b6d4d6f95b55548a4c540aebc3461c2196c2f7c55ffc2ba7f10ab20a6f7158344e82bddb4155a91a4c6b00575852d4cf933e5301f66827797790" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.9_1" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f135bc1dbb18f91d5fbe682fb4ab0951d184dd6517092ed52fd8a1fd75904077932839be8d01e827234b09c5186cdca35e6c64590bc5db39f303f45937585466" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.9_1" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f5b562ef83b8d3477328ae667c18b1ba2411b117d097e8af656091f8e2f91e4a287c473d1b56ea92de279bae8cd233a54c41ebb6cad0ca868bd7d7ba62f5adfa" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.1_1" rel="3.8"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="3fd477d6da94a6de5b53362f1fb06678eef18c44b27263d66a1c7bd13cd4e325d68b089f93e751a92b7ccb52c64a5082d0b2b122d56e28aa0f153c034fa61ec4" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.3_1" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="6b6458d133d7f82e95c77169d82e336797aa9ddf5feeb917b7edc245179ab6613495399df42f940cda1f6c66afe62d5f1a2deafa16d456e4c63f9d22a606baca" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.5_1" rel="3.9"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="6c5ed18ad681cdbacdf335ee2fe8cd42357567a9c279d2bdfd98ece3700ce37a3071c44f562ac8c71904490af048b2f52dbae2af10d278d8069961235412aa33" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.5_1" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f652356f88ea1c5517c50c1532e5de10df8de03f2299192a2a821cafd3b70f271db336d7ec343fc4ee14158af31d384d9c734ca9a415ab4935ce17254d91a3d0" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.7_1" rel="3.10"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="94271ef2d5cdbedbf8bb8c1fe45100b879d1865d35aae3b12f168a9675265963fde5cbc7aa4eaba4da37a088673fab06661fb3471792303061689e6df6c989d6" name="crash-kmp-default" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.7_1" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="d8ea5af84133be2ddda6e2ac60f64ced45fabff7fde76a2fd8826c27c21e2fec48819bf75f045a177e11356676cee5bd8527c05649ae75a2fa3595bb0281d735" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.5_1" rel="3.5"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f16fd9efdbd11c70dfd969a91c0053eef2e48577d08590d146ebdb7c7966608d66e436044bb5f79fb1a929b0d748f04c606ee732634a92d2727419523a1630ba" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.6_1" rel="3.6"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="33472cf1a7e735a91a12fa72603a01399eac36c02866a6973bbc79edb00cc8d043744be995031719d2fc0f9e8f8227ca01afcd04cb4b9eee53edb89b885d3d2c" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.8_1" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="73d46a181efe9a2d50da93ba8d3d2048839213560c413f3a86f527d71050fec23b179aca1e728e29d25951dd6f0e586e923f57f86a1f77c014c39a4c6899b692" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.9_1" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="535c91318c4fc30132866e9fe35b0841465db44eacb19ced59e9d8e7a513f374c46762a9ae44440a6bc9f8fc1bf6139b85cd5255bb000fbac26b4b2c2ec06668" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.9_1" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="98933b4509d672c531623a9262619c037dd7b355bbb65fa88cc739e3fef4c2fa18b0fcc0f4d6a8ec80d8e76ffbcc361e1556f6c0561e73d1c22a789913d0f4dc" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.8.9_1" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="b053ce2d53d5c21ce2a400484bbe3faa30a253b99fb549c4b210f9dfe2e68414293e5071f845aec4778c4722720fd48e25dbdc6f11e61d945a810aa8ccb6284f" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.1_1" rel="3.8"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="502233c120cadd72fe95ab336db4b9aa84df5d81a3da83cb8e58b98d1714fa928f92a577d9823eb4c8e1dcd79c5d83d929f88a5690c48b102561300e4c702dfd" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.3_1" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="6b63ea2a92e1758dd628be205ad192d694a4118defd33b3cb52d3da94626ce7817021a40edffe0c1d3ddff24ba2c5dc2e141a9f774157570996fd3246176220a" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.5_1" rel="3.9"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="e63b4e097e673b65bef5cb1696f21f4cf102fe31cb39ded624388f1cda399370b59ed16be34ad9c7c5dd7aa611d4035d76379e50a8a1b97b9bd234688e0c6c1c" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.5_1" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="921eb9ad0869e54b47366180ab96cd8e85f7dab96fcfd7cef1e2462d59b235dc58d5feb40562b40e7561255e8c12e2e600aefdd4b8eccd1eb1168f4fd343a39c" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.7_1" rel="3.10"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="e3026a3f37bb587f8c06325a7b3be4119c560d7ab61de8aacd0e6135ccdb3d6660d4c7e24bfd108f946a8c50ed06d18424398f1ec571610b583927f3177915ae" name="crash-kmp-default-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.9.7_1" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="d69d465c00fcf6b7d4316407ff15786565fd1c3699e9582ecbd2a86e8a0ef7307d7588a68a20917dc6f21be4e70d16bd3952ea595dd2760c733e316271b84024" name="crash-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.30_1" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="f423791f8543cda635a0eacb9c38d05034de79d39c6243126931ae0243f574acfaa3c487658b11ae57e3ee4918d9c7ef07f548644e81b72ad55bfbe93ec3d139" name="crash-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.30_1" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="abd1b964404ecaf6976cbf725edcd856738e4bdfdfbd18fc8f8cd26d3899f1576f6d5e751114622a79a2ddd238a14a44132118f4cc79d7ca4e4f789e2419deb3" name="crash-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.30_1" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="e7549aa1c6fab164df657e12fde84b39d46b5c282328e262db14f49c25f1d6846ce3c623e4b0674b8a39d520971532547f30102686958cf00c0e97f7bb727a7a" name="crash-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.32_2" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="ed075352990c5376b76b02ba1631f753fcc4cb0e3dfaad432f8ab60de4d4c154a540524afc491806be95fdb3b2881f1abbc28ce9092fdc56687a07faf9a3ca38" name="crash-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.32_2" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="b10ddfc603fc8711c049c607df87d1dabf08cc68ee74ebf38840d3cc0c65969a4648929f65b90fa5f07715e7f449ab98ee6929919f5d6cbd31ed76f23683182d" name="crash-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.34_1" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="8c6ff758172c13289eb094c10fe29fb0e2e581a249a9bb190841845daa529036a6c96c780c9cfb17ce45eb2d5e231321eef307c7cbde165d33c9671db7d717aa" name="crash-kmp-longterm" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.36_1" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="794d41a4096fd24f64bf91541a9817d723cc35c6a7481a45f5b4f33b2c0ed9a5e7d00bcfe46ee4e2866d8efbea8e51468a7509cf4b0e93b243f8525fc4d14b43" name="crash-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.30_1" rel="3.5.2.2.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="51a78a998d87e3a0893bcff7f908b1a780ee9cc357ac192d5eb048865c19fa92f30be6d2a6b26fb40df4e022a12018832379ca84346829eb3e8074682545901a" name="crash-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.30_1" rel="3.5.2.3.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="60e93b7d0d4f830c8807189db967d039fd109d61463771453d71235777dda535347aefec48eb29492bbb7d4d9755a142a899c724b933c09ce2fe8a405305f45f" name="crash-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.30_1" rel="3.7"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="ff00c02f9c934dbdab0fbf2143887721ceef700a8c4fc820d2c1b88d98fd15e96980eaa1f29ac37c6305f2214f33f65b28f4f86225a02863f131bfad5eed97d2" name="crash-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.32_2" rel="3.5.2.4.sr20240429"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="462eeff86d2c8f0a0ed9f2998df52916bf43c73485e4dc378054b017c09d7578ef39b824b6a64b1b178ea20998494eec425f2048b248989e8571cdf41b4cfecf" name="crash-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.32_2" rel="5.3.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="26b192a0bef10f6a7b185e59a7739b50e0f257dba0c9284cb55a438f9bf1810bee21f219267c37866e62fdf110ddb2cac35e10ec6777852558e815531d5c3d75" name="crash-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.34_1" rel="5.8.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="8823ce659a83fc87a66ac89629b31c7974836800ce35a5ec760c0dcc501b7db4eb20ad9ad6a145769917fa3d17df140b08adb1b8ada975a601a2fbaa84f77262" name="crash-kmp-longterm-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.0.4_k6.6.36_1" rel="5.9.sr20240605"/>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1666699200">- make of crash extensions was failing due to extension shared
  objects depending on extension source file plus defs.h. defs.h is
  hardlinked from the crash base source directory before the .so
  make rule but make reports it doesn't know how to make requirement
  defs.h. I added a rule for defs.h in the extensions Makefile that
  creates defs.h the same way as was previously used but satisfies
  the dependency resolution on demand then the make succeeded.
  * crash-extensions-rule-for-defs.patch
  (bsc#1204587)</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;ptesarik@suse.com&gt;" date="1668772800">- Require zlib-devel for crash-devel.</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.de&gt;" date="1670241600">- BuildRequire %kernel_module_package_buildreqs (boo#1205149)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1674216000">- Added crash-trace-2021-02-08.tar.bz2 and modified project to
  create the crash-trace package. If installed with crash installed
  the extension can be used for diagnosing kernel trace data.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681300800">- Update to crash 8.0.2
  - Update to gdb-10.2
  - Support kernels at least up to 5.18
  - Refresh
  * crash-patch-gdb.patch
  * crash-extensions-rule-for-defs.patch
  * crash-SLE15-SP1-Fix-for-PPC64-kernel-virtual-address-translation-in.patch
  - Remove upstreamed patches
  * 0019-Add-kernel-version-dependent-check-for-getting-lengt.patch
  * crash-missing-declarations.patch
- Disable eppic extension, because it does not built for GDB 10.2.
- Remove eppic patches
  * eppic-remove-duplicate-symbols.patch
  * eppic-support-arm64.patch
  * eppic-switch-to-system-lib.patch
- Clean up specfile after the discontinued SIAL extension.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681387200">- crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch: EPPIC
  extension support for crash-8.x + gdb-10.x.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992000">- Add support for RISCV64:
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992001">- Enable build for 32-bit Arm and 32-bit IBM POWER.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992002">- Remove crash-Define-fallback-PN_XNUM.patch: No more compatibility
  with SLE11.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1681992003">- crash-define-EM_RISCV-fallback.patch: Provide a fallback
  definition of EM_RISCV.</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1682078400">- Fix ppc64le build with glibc 2.32+:
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
  * crash-gdb-10.2.series: Patch series for the embedded GDB.
  * crash-gdb-7.6.series: Remove (obsolete).</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201600">- Update to crash 8.0.3
  - Remove upstreamed patches:
  * crash-EPPIC-extension-support-for-crash-8.x-gdb-10.x.patch
  * crash-Add-RISCV64-framework-code-support.patch
  * crash-RISCV64-Make-crash-tool-enter-command-line-and-suppo.patch
  * crash-RISCV64-Add-dis-command-support.patch
  * crash-RISCV64-Add-irq-command-support.patch
  * crash-RISCV64-Add-bt-command-support.patch
  * crash-RISCV64-Add-help-r-command-support.patch
  * crash-RISCV64-Add-help-m-M-command-support.patch
  * crash-RISCV64-Add-mach-command-support.patch
  * crash-RISCV64-Add-the-implementation-of-symbol-verify.patch
  * crash-define-EM_RISCV-fallback.patch
  * gdb-10.2-Revert-gnulib-fix-stat-fstat-build-errors.patch
  * gdb-10.2-gnulib-update-to-776af40e0.patch
- Stop building the trace extension from the main package. The
  extension is now built from the crash-trace source package.
  - Remove crash-trace-2021-02-08.tar.bz2</changelog>
  <changelog author="Petr Tesa&#x159;&#xED;k &lt;petr@tesarici.cz&gt;" date="1683201601">- Fix build on SLE12:
  * crash-gdb-gnulib-define-warndecl.patch: Provide a definition of
    __warndecl() in the gnulib copy of cdefs.h.</changelog>
  <changelog author="olaf@aepfle.de" date="1686744000">- Remove hard dependency to kernel macros to allow quilt setup</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1692100800">- crash has it's own definitions of some glibc functions, including
  strlcpy(), length limited string copy. In glibc 2.38 the second
  argument is const char *, in crash it is char *. The argument is
  the source string to copy from and shouldn't be modified.  crash
  uses the glibc version in some places, it's own in others and the
  declarations are incompatible resulting in build errors. Added
  * crash-fix-glibc-redefs.patch
  to make the crash declaration of strlcpy() match the glibc 2.38
  version. It may also need to be made product version conditional
  but it should fix Factory.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1695211200">- On initialization crash verifies the core based on the text
  referenced by the linux_banner symbol in the supplied core. It
  chooses how to get the address of the text based on the symbol
  type decoded with gdb. For some compressed kernels with an
  accessible debuginfo file the type is not supported (bss segment
  found, data reference expected) but the symbol and it's value are
  valid. This causes the linux_banner text to be used as the
  "address" of the linux_banner and that's an invalid address for
  the coredump causing crash to fail to load reporting something
  like:
  WARNING: invalid linux_banner pointer: 65762078756e694c
  where the address is obviously ASCII text used as a number. A
  SUSE patch to support compressed kernel binaries introduces the
  behavior, it does not happen for upstream crash source as-is. The
  difference is whether the symbol details are obtained from the
  kernel binary or debuginfo (fails for some debuginfos).
  * crash-get-linux_banner-without-using-syment-type.patch
  In verify_version(), choose how to obtain the linux_banner address
  based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
  causes the value of the symbol obtained from gdb to be used.
  TYPE_CODE_PTR causes the sybol data to be read to get the address.
  Default is unrecognized type but a warning is shown and the value
  obtained from gdb used as a best case choice.
  (bsc#1190434 c#24)</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1696507200">- Updated crash gcore extension to current upstream v1.64 dated
  2023-02-28. It's not updated in each product version and most
  don't release a crash-gcore rpm now but updated the latest
  openSUSE package project at this time.</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700136000">- Update to crash-8.0.4
  - Removed patches already present in upstream source:
  * crash-fix-glibc-redefs.patch
  * crash-get-linux_banner-without-using-syment-type.patch
- Removed the redundant clean section from the spec file</changelog>
  <changelog author="David Mair &lt;dmair@suse.com&gt;" date="1700481600">- Tidy patches to apply without offsets to crash 8.0.4/gdb 10.2:
  - crash-allow-use-of-sadump-captured-KASLR-kernel.patch
  - crash-debuginfo-compressed.patch
  - crash-make-emacs-default.diff
  - crash-sles9-time.patch
  - crash-stop_read_error_when_intent_is_retry.patch
  - crash-usrmerge.patch</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
</package>
<package pkgid="73468c0a85c1930ce56e1bbecddbfe778376401c04c12509692444c22a8cbf5d64086da91047aeba19fef3d99be5ff4c3b2d57558eaa4da31b5d0c76c3e69baf" name="cross-aarch64-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="454e2eb6c7e42bf8b5e039ab2d37cc576ddb7195087fa14e4bd3df9e940570652d9aa29a3792bd5bde75cc203bba4ed9a2f5f39af893ba4a108af502b68741a2" name="cross-aarch64-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="c12e18f9bb991353b43ea2420c16c5aa096359136362285fb80a3a45831200fa6e252b4795dd0ae7493c2fe28c6cdb485fb5396e7c03b1f8286da5b87c6f9092" name="cross-aarch64-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="2b68d740a7ed8174bf3cb50993c8f7b0739c06c521ac6f11924490237f2eb9fab423967459a8c0201b5fd40648c3e3ad5fe359fe6bc4b849ac6ed41a21e3224e" name="cross-aarch64-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="a2fee52a924a546cd8c691ce57a4eb2c0c9bed97bc443731a695f7469c73397a2451c3eea9bc9d5d53268da3ec3cb7326a20eb9b296265e64a384aeb192e186d" name="cross-aarch64-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="4e8d65dbcfaa7650a007a2dfed0cf556e78b39dee6056380b2aff4d3ebae1202737a34886d001dd497a329ee62bd84bd7502bf366cf936a3c19dc266fa168efd" name="cross-aarch64-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="fc27000cbd091752340b06c34af49008855c302f975bb4537174199be52be6c8ec30489effc0067bed1711186e4e90d7f948873597676310fe1071ae7741cc4e" name="cross-aarch64-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="de3500fdbe522ae28c43a9bf0858c9909739b38176975228a8e81dd98b7250591b6348a11f757d7b79fd504a38b362d84fe35418720f441446faaaaddb4efa73" name="cross-aarch64-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="99e964cd9b1938d2eec70d919985cf0addd51e55d5c72c2a946850ce6af6870d7d0f6734311ba213948b6dde380e32fdf0c57b3e1b063d808848bb350553ca97" name="cross-aarch64-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="761467f45a40b760817e26ef19b1d6fda40ceb1078451ee511a62f63f0ac2fcb88ef47f241ca167ffeab2ddc0612ad9fd368568b7506b30694ad5cbdfbddfc18" name="cross-aarch64-gcc14-bootstrap" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="1b8ab96b85a376ebe81b5c655ec320cf6b98e5aafbb145845dd2b5cfe5f23aab428eadff38f8736d4c78d5706a1471670efc810eefbf56c69edba2388bc86a48" name="cross-aarch64-gcc14-bootstrap" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="713cf34a6ef9f8c889aeea06c63383349522fd15babaa444264dadde328d30779b19a926ae443001b5f337db6d2a00ab23e488373acf02af913e286b30b55b9a" name="cross-aarch64-gcc14-bootstrap-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="d1c6105182c4dc34923cdc90d7919b91d486ed62494a4ce27f39117ad9f97e0eb591e75ff8dfff256feaf93f3d58f05482ebba3aff6d04a048bd4819c4d8a320" name="cross-aarch64-gcc14-bootstrap-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="015ed5b9f75f8920b7361f258f60d6cb25e4d120c8c2dcf806fa72b2961dcf2c2b36df165d1ebed94c889c8ace80e374fd85866e7c7ec32baa6ab5cb032be939" name="cross-aarch64-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="9f41b0a7af201f31f0f38957b6f6c86fa426e89fa834a75fa84747912d17f0a907e75ccc8487110d03ff0f548cef299b9ce44b5073ad68f169a4662f224c6343" name="cross-aarch64-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="531aa25911b116576c357e39dee8d9edbf1c28a01212edd2af9841fad1c4b7fcb3532ef798cced7373fab23c45a9c78dcb3169118815a007a76f2f97b72f5011" name="cross-amdgcn-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="11fd9d97944b22cd8e55ff9655c2b08f50b794a73b54cfcfd5baf322b83d6f53a7be22aef387d459879f847b4ccd66e5913ee31c19dedde0587dda7366cc9152" name="cross-amdgcn-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="385e371952a137920482b7089010f1a6462abe9515e09c9c19b05a5d5a16d6a916842a8bcdcce2231f5f413e2bf5f8a0981838387d25a4414d3b0aae778eb5bb" name="cross-amdgcn-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="a8b2b0a7f584a736e136e6260d9bed1ab6adc308a52f7dbe299d3aa41c4c55043d419503654901f88f69ad1f28476e72d9d9253fa71e2efd9c5ab5f966ebb0ab" name="cross-amdgcn-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="7d55e09dfd7270da1d4d9734a3c0534590a2ca183d723a00bb917ea69ae3dd8347087711d6da3d91e7ccc233b365d56c8d5d2a08bf1c4eec74c7368c3df7b85f" name="cross-amdgcn-newlib14-devel" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="c556d09b747b62918148d41dfe17b7e9a4270798c96b2c0a5b3154ce5667bbf57576ea5929fdf22b49d5af0b5d7c08aa2a926083736f81efe40e7bc691aeb95a" name="cross-arm-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="82c063abf5ee4d879985e48eb03935a37ac579f70313adbe22828b59c4706eef4a643585b383993542c57ea8a726e5e4102111c1d9bb2af4fa845a393a94a073" name="cross-arm-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="0d3c87ab94fc5f5fe6ac81c4eba005a36ed7a27d00bce008d8f6cfe256e7e48f43293a01acb8802453414cef3435f6f64bd9fd515550af57d2c8e3f93483b9fc" name="cross-arm-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="624b0c6b65de5ff116a8c90639d46e8721a61eb1669b0be87b9add107ba112a860580f1c7474a62b5973223ed2528ab409cb0154320c8dd64fbf2defb7b841b5" name="cross-arm-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="fb81aa3d8d729482980864a3e8e6e3d87fe2ee64847f259f8c28721b5e39ef57c22ef11843a0b27ea760dd0c487c0eba68bc8a289c930611b4276350b03ce57e" name="cross-arm-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="980562bcc0920daaa100e9bcc8d6f974efcb3c58834ec8a59e9a15a69268e100ffe2072c4fac1116b3f2d0e986f0a0842fad8d006b31072e56177e02d60c4f21" name="cross-arm-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="a3ffbf1a47aa2c4d700c38d40dc76350783d7b3644046666873257e8cd4e71c14b81531661d994ae63ebaa954fdce3103e003a91ed7da8d33e84e4884d87ff4f" name="cross-arm-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="978b8359fb348e112ec92aededb745c54e0982ccd4ecefade0e4d577ad33540bf7f5aa7968253e2008eb2c94ba79fe9f817b7c05b8dc8103ee46bb8f08667771" name="cross-arm-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="57f0994db2e759458c1e90082461b323b905b11f48fe1ad3cf60ac1adfca86b1ec3cbbf527cae8cbef9b9aa383074f6d1f5899b8d0f4afbdf594b19815d191bd" name="cross-arm-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="13294c859c1036dc3d46f7930430e80032ebeb2d68359aec779a00a5661ff05da86562a0e17adb227b53f1002b408197d9d0a66ef96ee96f49e4f556cbfe6676" name="cross-arm-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="72bab6f8bb82570e631b56f71387df54ae2f9035979965b856f0eb90a90aa9309735d6e0feb160ad5b876856f20e249e07aad3f78a18539506b4be92f4efcfad" name="cross-arm-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="92acee464f72236d738ace3bbd7b834507555740af4d6c7003d6ef40ce8a4a08f28fd3e34c35f36040c92360bbd0c538c5a1b8ec9c04194d4a533ae08969474b" name="cross-arm-gcc14-icecream-backend" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="83fc01f82b0c26c72d425caa0ebf0e291afdc82a64f47dededa6972412c47fa4e290016893febdfd07aeedc4bc086e0049fd34e030201b1c3d49ab9b95e55d0f" name="cross-arm-none-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="b3638cdba3a6873b2949fd5fd849f77d581ef7ce65835b687a1700b6e2084468c5c6f6863bf5f1081390315c02e4d2fbdb177550b3aff0e33aaa353a6ef91043" name="cross-arm-none-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="44bfb3183814db8a9055c2bcd288ec10dc348323e412d6c07880d175be23d2c32c942ce808d655dad5893897fb6e828c440f9489146274f0eb524264937f6e00" name="cross-arm-none-gcc14-bootstrap" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="c925401cd19ff2d0f8dd98bbce918c6e5495afebb96a4d9c163bfb34ed0451647b08575cea47fec0aa034f19782349cc6866e3fe25094b9cd79c9e416581df34" name="cross-arm-none-gcc14-bootstrap" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="2087e8a0449d4fd4163b00235d3b53ee67534f325ebd9e9eefee13f7f6b15b38af1abe8e357c9d8ffd8661ae0049433eec3022c3446c351425934fd22fc76f82" name="cross-arm-none-gcc14-bootstrap-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="4c96700fb6f7f96f06694b1dc31c6abfdbccd729ef1cff81813d994fe05c52c107e682e4380b1e0f9927e2ef7d1ad112153eafd71ab69300ee2a8cd1b7a489a6" name="cross-arm-none-gcc14-bootstrap-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="d7272fc318cc415ae70356f00fe022fce51def2e3d1010fc68de438c7ed797d728cc7bb803839d4ba56aa18b597b9c27baf9020bbe7688472ca66bd9bbc529aa" name="cross-arm-none-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="56ac376b0f205bb00e07a69b821f0dfd7ea373020d13ff3535e9ec00c0bed0af124743bf02ac3db1347ca9426367f12c0755feb27ed41b27b12829cd34f452d5" name="cross-arm-none-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="5bc8025ea3c984f8b0a94b68a72ae7c30357e3f12714c29df433c0c6eff64c809ecbd10ba43055dda9557fb62a7b3f496daffe66873b99989c6b29e5d5c43bc8" name="cross-avr-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="605a1394da5833f73dd1039b03cecce934e70802e07da72d319bc7b2cd008d7f7dabb3d314df5c9360439a86090bd09a592c8962293d623af6552fd9e382a09b" name="cross-avr-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="95784da5add559fdc296f0a41c092165df1aad407c5353753cf21731dae36137ba9e812621775be786d88694d383537c913d557273a3bb1c614815774174afa6" name="cross-avr-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="33ecfc9b7a2ad7cabf21b4b7e29bcd66bf09c8be54062a0e377b2ff889dfabbde7fb931063157eaa92aed9c0841a86881a4d2ecfc84751909b1a039d9a306b74" name="cross-avr-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="7e1dfacb317fb384ad006e3083ee04055f41511964cbe9f0e4d18d69ef31d7d97936551d76118f08b35f0f43500d1be9d5f4f8f17561c1f3f71abff28650beba" name="cross-avr-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="a206cb9539ff8d74e47cd7a1facd1a0354990a081743bc200cafb748ea652f598fd267218447e5754084efbeda14affd644f383b7187c6765d0712c57daa6661" name="cross-avr-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="bf4751ab661dcc7381825987580836a6f483d6fa4276363339aacf9db34888cc84f3861523eca5b3d3e44c0a317f7616b64452f6a320f242c8d94367acdc564e" name="cross-avr-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="79c616ecff5b35aba0562be883512236fee55ea08971960fadbad31025f281b374bb36d570f74120351f2bf3c2b391470af0a6b2ab8cba3cd2f61be5b990d0b6" name="cross-avr-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="1c5fc7b10a2ded4f1675fd82cde2c6c5af67e33793f5bab821af3c28d9c90a46715f6914476853e7714ead38c06fd95a48e8b44bb38035a989603775bc932c0e" name="cross-avr-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="c81ae7255dcfbc77fb9fa4853445d4caaa24f39906540bedfbff49e3d96e6e2d32b87d1d68e97c15c10d54d319b7ee5a91b4d412afb89091478dee4b4971b653" name="cross-avr-gcc14-bootstrap" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="2e08cb2878951aed741159c56012c75b27b26dc3cc0e22099046273c688d566245d599765c2e87bd6321ca96f9e6c2b90aeeea1070443a9422b1e579db44a94c" name="cross-avr-gcc14-bootstrap" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="2d41cd97bf3bdc69f69d113d012e4a8e8219b1e4dd6033f5bf357be3f983149cb176ff535ee26d33e01bbe11202376e7ebe84417e8e47afc0f32aab894061b7d" name="cross-avr-gcc14-bootstrap-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="fd5cc9b2dad77cab796dd9d95c8859172b5e0f26e471fbbe7b7c08905abb7beea7ec8217b2c3be10487912b835e5de51d597beca27c3bf8b077ef54b35700e73" name="cross-avr-gcc14-bootstrap-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="b513b72e120faaa32a8e4022bcd23f0b2c4018e8ab5131340656bd68fe18d480018e2535db8239ddef3c996c52674d04a5a6a2028fc56e594ce992ea0a4986c1" name="cross-avr-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="5f8b375fa3b1fbd3f684e0a532bb279969a369fc418d4c53dc56b393099dd8bfa282109cfb290f19867bb716d1083160df07c68e8705301a036d47522172249a" name="cross-avr-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="48a628c60ec359abb0402c0ecc26a25e2b8a586322b27a933a39122a47bc51beb8f050173d9223ea3dcea8c4be53aa5b58cd0f4d2cd6f53a4a2b4b0ec6858aea" name="cross-bpf-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="0405d5d4deac91380e2441df09603aa8e052601db308b718629e0123b498957051e13bb5408030f90789d51c47efe9ab4e34e6fa2f7fe891f1e0a93b6ab8feb2" name="cross-bpf-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="a594c25a596b2c6087b08799a5ec964d1807061018336a894bab0a4ed39a309bb639b9aeb4d59513afa5d21f692b679ec33253dcfdfc6358df2c495df038daf3" name="cross-bpf-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="02b0f89a033b24d05ef05b111080e73c11932c81c1a18a3d1c433af419a07e0c2dbad2fd2aceee6bb4645a8920d2a49d65a525f777f7b5c8ab4898fc095e5a09" name="cross-bpf-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="2dca8a22f9d74335fcf2b4259c92659a8d878d3f6eee1e9430b53e2ffc31440f7b7f9049687c89000b9c11aba34484acbb2a4461b5e7f96115caa3089e8c62fe" name="cross-bpf-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="07591831f705fa1efb5de1e543dfcf4eac2d284968ac4cbb005e29217cb9172f42096765a3846dd130f4633c1528cc4f8e5c9868ce0348f2caf6f9425b506838" name="cross-bpf-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="b92325d21e2463f79e5f0a3012fa6edb7e814af96e4391659724c7a6a07e80d24356a9e5ef1791be4e5f454e4177b3ee5546215938e1a79210e9d0864a416b14" name="cross-bpf-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="3f6d41c38a842bd6a84e7ee3816b1156db3ec0a52ddecfc474c2bf850c2ef5d340fff31b71e08f93c791882ad10b95a7923f3c84fd0d95b5b7a7ff375482df2e" name="cross-bpf-gcc14" arch="i586">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="f125521e77470c6ff6444de11333f4ed79e7f56df3fd39a132ff795c478cc6ff01663e5ccc3bab4dbf12c37a0bdf5b6565a989b5dab4bec85b536e6fffb43886" name="cross-bpf-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="921cc1ccda8ad32cb02c3d30eb8ef0395a15afe13690f4fd37b6b876685e7a8dd8e54bf7e3ed40fdcf3f000eb0d76f850b417f1a05a14d128f115116e6fe499d" name="cross-bpf-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="3d07ac0cee7f09a5c968a9db1208785178cc39811ab749c49eca79f20806372adbabbfcac2df8fe0e6675a7edb40853a9fe64d50d4a68c3bef3f5e5d205beb16" name="cross-bpf-gcc14-debuginfo" arch="i586">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="7697d7b5f9314e955c1c7bc87e0c21b8db23f86f84d872cc73dcce9908a23a45626f05bda21bddabac89943b922aefc38eec3f484a299ea0b6a558c61695fb7b" name="cross-bpf-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="5d52676c9fd646fd732746b2f66256b0cd2d3302ea78ff22cebf8072d93a3ed4613daff450bf2d5fb8d16282e2c288cf54d62304eac7690610e3a850dc54a54f" name="cross-bpf-gcc14-debugsource" arch="i586">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="dc8781ecca7b8b9290762205f1c21977948d56c3d833cef0431f351b257656c5203c5fc261f2b59be10777880843a109bdab5869083de5e2c101cf9d9097749e" name="cross-bpf-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="7eae5ea0bfca87597422fb4638367e50ded2f8d56050c8f9b4bc637a0be546d710fa3a41d69af32aa8a139c691406e5bf81302241f0910982681841eb0fad7f0" name="cross-epiphany-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="b7e6027293a2e256ce9e4b650e5dd18cfc5eeb54a2c81d644faee182b3dcf3ec4424dff34c636aa01788ba7888aedef9d385f49d051a7edf764053f01834e534" name="cross-epiphany-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="735da13cd0d099a72c316e940adaa7fcd5bc1f747f116cbfc786459723fef2894491180939ff124987750ae780e8c9aef47d130bbef7264f4e63709dfb3f9008" name="cross-epiphany-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="8236ac8a9405f5985847678379ab3056f5d00284da2a1d74830b8c9b1ea7a396c193f463981f37d6685cc2fe4ff72c182b5f6d96492a3110ac5c5214cc7c1ec1" name="cross-epiphany-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="96c9d3e085e4ca210e435838313cc8489be29e963673babe7bfb6e4ebb2f1edace7c19c6a0af1c76701aecc869c2ae1022f0bb1abf2c25161f6da638134dedb4" name="cross-epiphany-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="8b473633bd615b75656ed608a947788bcafbbd915d83c5219315f1a41dc83d98708d10db2c84f2114fa0262d36a062def0861906433495005408250685ce643d" name="cross-epiphany-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="d68bdc2af1519b9560d87b58e2dd7dbe3fc0dd01ddb37a9fffe166a1b24f7bcd79ae3c09036ca5a22222bdfffa448e5dec2499cc5b04cd6c86f44a9332e75e95" name="cross-epiphany-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="4be1d81a280a8edd97a590433fd48a993c08627bd0ca72ab9abfd2d51a23536f4c32e5fecf906b27bb60e8e56c43160e857c75c21cdcbdd06fe0c6ba17b03d72" name="cross-hppa-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="d7a87c96eb87f3b127e0a8c7a1400586938b8283aa7e058d30d7b4f930aa2d52efa05d38986b774751b8e52eb58a0dd3e315652f3ce429bc15f43721e3e3e8e8" name="cross-hppa-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="1dd3bb7b2c6a3a690832c9901825b48539ee315891492af985a1fc42bdd625546be988849be0eac2333191b7d151a7cedecce2b2060829ed3e3bb9591928da60" name="cross-hppa-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="310ee57390952ae612a0097a3dc1556376639e1853b267671c96e3ab8fa299f42f9ee3d14c017b0777c72acdd628a6ec69f2510b44285ebd683cbb991db91503" name="cross-hppa-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="01bf4a84498ab98fb8a77dfc2a1ea008dbd0024950368194f9730372c735e2ea3c5c43b73b6ad20ae7fd9c6f147ac0c0bf20b251c4f4fbff0cd0b01e4ed7ff6f" name="cross-hppa-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="6781ff5c2a9535bc5a33612c0ae8cb0c30c0c0cb234bb733418f4a6930c94153d83e2330f3a428de0e9597f3044eeda96c2630f0313dc20a8e74fc74975e5caf" name="cross-hppa-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="eea9290b7a564b999abe26aeaebeee0323811e68aff95b6b6027c096f4430822b379420c40433ba603bd64ae4dcb8e023fd609159e803fbb0dda4a3c28b19d79" name="cross-hppa-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="ee9e4e13dd03d54cc101f5b13700d1e08bf6db43b36267b31b70e85403d43d42b9b4e66755d2f8292f1938ea428f625c2e2dcf24b2ae7e4748993cdeb08597c3" name="cross-hppa-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="792674c720871d638858809a622ad53d12be20cdf915733138b9bf411dee757f5c6e2a9324ca47bc37afd99cdd5001b121dea737550da0e06b444b9d9099c318" name="cross-hppa-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="ced2e81aa1771af1064694db685fca98327b03dffa270bbf5b28ed444d39f4a251bcd9fa41c9e2632f54a2934626e7ea7236ba4a19793b28619bfc24b4de5c07" name="cross-hppa-gcc14-bootstrap" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="3e3a23e03156965c5ae95732ee577637fef2f248596daa19fef47f2abbfb0df84c505ba2171899a3adf06319c4fcae0201752ab86386ced96f0aa1df40338b5d" name="cross-hppa-gcc14-bootstrap" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="9233dbfa16ef18896ad039cb081a85f0ce8e7a41e0240cec075c495ed99cf9a5065bcda343e76e7e2686a24ea75b1fc78faebeaf659204775ed2875a724bf486" name="cross-hppa-gcc14-bootstrap-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="1177fbee3d7f2e220c2f6e853e7bb3ea3adeea82ccc71cf0c45723d44ee7dc898191c0ae55fe172de1c974b7af5a4e415ea1767fbf8d3a890e802e64238da3ed" name="cross-hppa-gcc14-bootstrap-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="a6b5a1ae8ea64ac1e0259b872221f5515b400678f2719aa20aafc278bc8b9edcfae755eece32ac3b51afe435bcf2bc901f01938e1ce234b2f59dc21ac5b3581d" name="cross-hppa-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="7e7b1fd50902f0b196a73b74ef379112fcfb75f9ce6653e838e4a4368788ff940a2e086c8d71b6d6346429ad3931fa04b61d0dd5900f6cae7d3f109f78de325a" name="cross-hppa-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="558382d5f65cc8f0866f0ea0d9d603a7177248daf02caf479cf46790bfa063707175c9615eaac0f8b0dfdb680fc1117326fa3f27eeb716c2870791efefb7663a" name="cross-hppa-gcc14-icecream-backend" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="73df00c4cf3d4d280fc39031f2bf366635870d77fee75287e06dc4cfd5c0ea708c1498f8ce9961fad17f33ab3bea09faa99dc319c71e005a1069d19b72990a99" name="cross-hppa64-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="39112d83522e8a0890b62d23f17fd495f4542ccb2cff4a866a07d3b68b352266044fe92140021995c3cf956f5fd1d46e70ba6641a54fde98a89b3d98add60e68" name="cross-hppa64-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="310e8a2ba76864ae9496f9b340bbc7352a42ee31f207a35c9299a2fea0c9bd99e37325639abc9a6620c2a2c839f943869a11181b60cbe4628dd8c16b041de215" name="cross-hppa64-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="3139a09223d643d8cc7a4f3fc0b30daf58563dd01786f5a9ec579865a085cded79e53911463b2c29cd4b0b5ef77a0afb6670ab8a074eadb281144756f47192ae" name="cross-hppa64-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="817b44f7bbfce9a01eda9ad310fdb083ec20720af9ebf62051fbbe1e31317c7d4f418a66b44dbd2f3524ed101a5646c62d5d1f14fe082de13b9081b9b059d8f6" name="cross-hppa64-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="4525d8052b0512b37483a25882ddc6719e93e7d4df59ec9782cbe0029d252f0bbdce26d1792602f92b0a0bd5e474cca37296080d8194e79c19f7e0b5ed247798" name="cross-hppa64-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="fe450f835caa0573833401f68c4234554560bd46c72a894e6ce79e305068f26ecd03dd7a96eb815fec7c7344f531d10db2ce75cb48d182449b467c8865820540" name="cross-hppa64-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="3283c00713927d1e52b632f4d9166e49b228e6294ef3de94924c890d647af2bb15f3094530766a2d7972fa57606690c75ab5203b5f46142668d4ede015105f2e" name="cross-i386-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="95d47b997c1a62531f83e633b34f6be1306a69469791d9d003427a11fff8f0ccbe4565c376c36f1bf75a5f70e81f6542d7f63816a0ae091edaa10ae51293fd77" name="cross-i386-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="9f1f8eaca6519330463436689bc3ec6f00a8d6b162f23f5d3c13f116a729e0018c0dec16848c5adb1d5d054f31d00e09ee9568d4632daae9dbd2aec4ee3828e8" name="cross-i386-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="fb24df756b31a03b7cc35b9ef6f0bcee2bc14633b436958a9020eab950eb7c0b5cd5c0f14d875ca8647d7b7e24d1edbf32af24ceca4ba4a93dbdf4ff47743c1b" name="cross-i386-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="d8204a173d554ba96063b535f51be82024966bd160f4c5614d7bcfa9112ebae7c57c4defa436fc9e03e0bb0d9f079da1fb8e2b7ce95c11f248d8c028d0793b6e" name="cross-ia64-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="c0dc9b0ecdad770e69a55f31f9772e18c269342e68fbd826fd9004a5bf5507bbf4a5aec7b54e28e544653ec133d55a8cb03bc0c1c4283b99f0ad66f97ec5b817" name="cross-ia64-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="ff6c21e8f1c57d6cffab5c7ae06f1416b7f3d1b4be47c29bb16e0f687e079c710be526f377a984cc448fa27b7737516fad17e4ee0bc0a9ce8d656b3a5a83978c" name="cross-ia64-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="92557bd1514562b30ce53f2b000c875a15e9d61edf66031e466de577d83e73433500cdf8089eca33f17bbbfbab02c0f36c10b47e97174b9c91ea85e77128c8e4" name="cross-ia64-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="706a3de019d53288b71f85a641f26befea37e77fb4142b4627177ce84934ec807845f5d8869ce179b99f32f0bb45afffd402e1259fab083bee9fe2bdf6f77c2c" name="cross-ia64-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="8383dd14dc9b8c1d8ee8402e743b74ca18235c2beed41bed553c7974436d73a00d7256d48faa2d31dbae98c1bfeb8e938b0663ecbd84300d9835de01d93e7a6a" name="cross-ia64-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="977c5b7f209b1c0524872c1100ba10004bb3648edc10f62c2fdecf5393415abc1cac444841f3ecf8b89923cf6a63a1b65e8fec03c7f0050ffd4c0aa54c4f5e22" name="cross-ia64-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="b2492904bbfb3343e6477593d001b6e2a65bd5824a0574946b1e75f07cbbfc9f607be4e46b2e3e8122595dfb51a24b865b38e325b37ad34a9f7031e526305de4" name="cross-m68k-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="f51c4b3af047ce768a488570c2440090843eaaa60808897103bf9980314290edbac03c0534ea92d20a747a17f95804791962e2c07b8854f3115e7464219b4da6" name="cross-m68k-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="6780b9b5ac6b13f0f809b6a5ed844b671362d31e571a57e86e23345f756186259f8e7c09697c0ce88e3e5115590c6d84e1e87810a68e927a95b980d5dd79197e" name="cross-m68k-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="dab4bf242f722e9f887d98b7e04c50bd15c505eb1f21e5c885ed8c6c3f472ac6422b95d973f3a19de46d6c7ee06918c6685a48ed1d00e6fdc0f5603947269df4" name="cross-m68k-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="b17133506b83c5606d494f415b012a5c3a3107577bcf53d912029851bad1ac6e0471ad03d8df646337f5c5056c67acae5c7342a8099f883d0c98ca362d2d99a6" name="cross-m68k-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="356c4586393250a040296b73cfb0abf5c639177e53ffade02e46af5a7d09614713920116a15b7622e8f4a6e47fdf1f0c82d7261c13191e79960a3358ffc4009d" name="cross-m68k-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="76125d0323334a6c9d08c0a400eda19cc94afb9af472faee48872cd7e4352fb716942054998292a1eb8a96c43a0c8d84113a3c82f84e47412d693edda6f8ba43" name="cross-m68k-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="a5347bae7716a1b7a52e3785eb4ca26b508a90ff82ddc3af78316d35710c51baa744f88ad698a16439c1af7c9825c7bb8a519d188e6cacfb609d3517d15e52f4" name="cross-m68k-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="feade6063439631b69aafa95ed2ccaff53e38e92a7ffdd962497ca670809e465ab0a479fc96db24713fd896fc0dd00401532820bd962e0780f133daf0392f426" name="cross-m68k-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="d033236bcf1154b8e8fe0829de72e11b4ff3e3a05bdb6ec344a0839c40a06d1d8864242e6f62d64a6e7909c8c560e8cc914f6fb904401c1a755344c4c34a0360" name="cross-m68k-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="6e0250d82e0e9012ef4efccec38ec361703762a6614da563236796e4a36644dbcb980b66b9f5937f6e2ae3b4b20edf0ec0a129f1257fc86d1339355fb83199d5" name="cross-m68k-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="222b4b86c3b9ccd11b26dbc68a62d02694f874036988448c358a89d81a3f12ee4669b08fa372993ee650d0cd7ee842dc58a9299dd1e4bbe07844074704098c2c" name="cross-m68k-gcc14-icecream-backend" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="f11654bb1a5d21a069264a9a729f659ff0213835aa7987edee3f547312a00d1aa0ecb13654d8f7d9014839d884d1a4415e7ea19541c2ce753aeb3c21522d30dd" name="cross-mips-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="bcd5964c6d25578ef28522972d537eff4b03b4d178c2bf8f2aea1888dc48f4e731804cd036f0193f8508dddca96efde525a9aba838f59b598bd131d71f4d3bdf" name="cross-mips-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="862414c37bbc5819da7256b697daa4ea95cc9f41a1cc81aef344c95358a392c03a1f152eb562e011fe997fda3519505c31400c3b4234f889f4e1960b185a124d" name="cross-mips-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="3d22dc4ed425d97bbf27a9a80fb86b4405dcda50a9598abaf6431b4463bc541e3a32ab7b8e66b64ead7067bb01839a1766e9664aaac9a00e346ff080dc0a95d8" name="cross-mips-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="13ddc3fb14df6e8ef7ee43546aabff2f3bf814f1f3c19d90aa0f92386f4265140c43bc74cbccbf205987d67dc2a1a026433794299aa410b503208a5d9cae1cee" name="cross-mips-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="009db1402b25f04f8859579c079a655e10f809e5c2f6adc8b9b55c8a7614ca05d89b2a08ee16d6a388efb333649992e5ff9d6d70edd2818298a962b7f4378c99" name="cross-mips-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="67a77975456a8aa090774b85873862aafc1656b750b0105ee265f875db108b1eb669ef0a1aca0495054762e2de690264c9a2eec23f4f7a180c37f0694214051a" name="cross-mips-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="cd99ac8de731691dbc49df2fa7d5bd5474b8b8f9d43342fd26c2eabe903e390b317fd42785e54e3330c3a49191506438d465159b242b49de99e4b7bc2a7b5c5c" name="cross-mips-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="5743be2c1ee9d9bb0d009a83a2374c04445e315d2e57ce54515aab6145c799f64282c5e7c42b04a608ee4350836193b7847bd7ea9ac432c6eb5c61096e950f66" name="cross-mips-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="6bdd8418b727adcf335724d30c93e3dd0f9ce0c68da903aa65a6a23f00f039a8acd86ac35d97999a8cf8612ac702929a48db13b988ebc18ba488d4ec653e44be" name="cross-mips-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="8fc4d821c6cafde5e3771f08c5c61929b9ae3e637817c421f1c66d502eaf445d23f7f518457b5a8bb155560ebd2c60605e645d6b1a8a9fc166bb16a3e2b7b0d0" name="cross-mips-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="511d837c905977d922aafb40dd981b11d2727744a8b5cd672bee80efb4fa283826b2d8c7d8baafe4431bb12458972f704f8edb10af3e3ec972f1edf619fc8b23" name="cross-mips-gcc14-icecream-backend" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="f5a094f8ea80db9d60913406f84683980eac980c9f2cb36fbabd246bdc1570585b21b1859245a3a8f85cf0a6c488abca6f93bf76b06850f9721afec14a118881" name="cross-nvptx-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="e8c21f423c7d27e180b514225fa8babd9752b31d1eac6cb4cdc4b7dff4e1b875d97798b2a79202f89805ba853b6bc215c5df2b0aeea63cd0166b44aff891420c" name="cross-nvptx-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="8232cd64e38832a5837c0a3b778a9c6de0a7edb037fa4a907a014dbfd9e4402447e5e323483f27f0fd540a982d29557aa510bc96cbe4ca06189b71881b8fff72" name="cross-nvptx-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="c80ce5bb75a9918706dc781cad8f724a7b27d0e1af88af2009347c934c025d0e917eb3cf39b96d9b76ee8fb5cc9dccd124c93e908c11e2f12efbcd9635be15ef" name="cross-nvptx-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="8ccb7572455ec4ca66b55111c0f53e46cca5c50eeae42de1c4de660b1ce201506cbef813a6b904c58843ae2e1d2a754e357e2ad8ab4a2c790610c1c6d3a77a9a" name="cross-nvptx-newlib14-devel" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="746b5bcc615348876bb65eba818e7a411e582ffb5849264dd786f342a1f706ae06676550f8e1abcd6d8f32dae0409ad3f28361c77d285b9270a30603b78d9630" name="cross-ppc-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="60bc543ea9e75b56c6a41704b6183174b8ccd8885b62537794196e95c2a591775776ecc4b6e0186d82a193f539b268032464813b2bf2fa484dc5cae458639820" name="cross-ppc-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="75241c36a3f3620b5c7c3daefe0875418720a6a8b77b0a8bdc5662cebcd8864d9ae40129b55154aab4b2b7cbc8888fae0e09b3b26c1f3222e1297154a154316a" name="cross-ppc-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="7c6ee0406c529a90e0d68ae804beb3bcbd02d2fc51d22987f056501f5848df13ea21603bf71e78008863e1f605c620a53fcff978b2fe6273f2b1b95dd895000b" name="cross-ppc-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="16c59536f3a6ecd86934bb1a6b02da29e48114e1211e8e862b30c0d138883040e25ed883cb2d45ad9b869db95c53add1123b6fca391271c2504c403c6d1e9048" name="cross-ppc-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="5d41a1f42cd4c409ec1e620b9f168859e3f4b931836a91efe844a264a50dafcc5abed8239da0d1ebda207ef481ac94aefe76228271f49b648d9eb24e3adedae0" name="cross-ppc-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="fd5bc677cf961750cdcaa2b703d3f0e29e4de276c2fd533029bdaae5a41f762ca5bbf4889de2e8012d62b11c41974a2270096c85a15fb721fb631d0896f62da5" name="cross-ppc-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="12014f8f0e2463636cfd7198df28bc350e2b10bc7e7182762712a305e85b7eda9ca88dc301d08f885599d507daf295164d1a1af0eeabbf03ec2019986ac845a3" name="cross-ppc64-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="0d5a8e9f50b78c846a92ec3cd05c234a7c337e19f0dc947034f134520ee00cb5338c25f56bf8737a4c8f9251702a0c64b0363412cf9091f7582d27e980dee2b7" name="cross-ppc64-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="189abb366c15aabd765d06eef2eb1196fec5251192c514fa707e3554fff23b9523d76e7f4cdbecc07d599129cba535dbdb2743a720300baf9a4d49e7822b1161" name="cross-ppc64-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="a2c487aec95ffc2d9332d0aa764b8d278803d5eedced2c6f82509afaaa360b9d59304477940fd1f12e1781dd2c9887371ab1f5e76a218697680e40feebcb658a" name="cross-ppc64-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="cd902c92f5fe9eb758d17938c1850a8be8ca884ed8aaca19b0f144bd991617dc8fb08068de4ae4996663bfc4608a8ed0c3a346ca878addf91f71fda2501053c8" name="cross-ppc64-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="abeff178709d2add4662c8b017d95c5ab90d18f0c2dabc6f90166ee33b767648f4d56b9bce3e23012a99de07e2a8bf46f33ac4a27bb02ff5ebc1534a8145df01" name="cross-ppc64-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="18e8b1b6bc1f1f382088c24c4563de65df4dbcef81fba022ebd44f325f25ce31fb47f70440c62346d822124751094f47fb5e4ca94e2818742627f154078d7d2e" name="cross-ppc64-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="c49887f8e410c293453a4e3172ccbef571dacd49416ffd6662dd6a51f3f3145f4c6cab980785a56bdc29d91e0f842d7cad212fa7a5b3c54a4a2353b0d9a686f2" name="cross-ppc64-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="87792ec00c61622c9c58ad856d69e1262b1fc92ada7eec8e43dba9a6111b64ef91d019a27494b8d11e024d1b95f6a7b762f47ce2ecb35056da982041f355748e" name="cross-ppc64-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="12e7151d9df41f64e49ba6f5605b3af2d2199d28b4bb52a536939bb6eabeeccce4336674d36456742072b53cf89537b0d016556c8499f9e621d29371fe91f3be" name="cross-ppc64-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="c107bf67873a64f47a891030f2150f0147704d85554e6b9af18ba5a3f4a793ebc52c3ab993ba7dd33781542a335e99eaa2674d805165d455444e912c93e73ffb" name="cross-ppc64-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="ca939a2d49e01499fd508a11618f748f6f151248e2b6c61b5898248aede35665d51ac1e5781d27b9ba4cf99e12d3869a93b621bf078253c5d4b6ba015c849e02" name="cross-ppc64-gcc14-icecream-backend" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="5d5b544fdd3d62384685a5265655003b42d6c8c470dfb21e039482b97b69cb38da48f31b809e33faec78ac5d97b433a6f460b67e8f91f2ea678ce08a983edb40" name="cross-ppc64le-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="ded64a41af9ccbfc5f2a9c0ac56f9af1c82bcbb54b6cf44328d740cd494096221d2de9089fd6bfb9ee0133872ac84cfaa74239af929fdd241566ae6508777789" name="cross-ppc64le-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="d8480365bab909189af547928b1cb3b86da53bc22c2738f099de0d196768fc8cbc6e3781ba8321fbdae4e2a3cf53a37fefae84409137d1b83a8747210c0ccf1e" name="cross-ppc64le-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="65be12aa10dd8cec64073ab5633f32953296933c7385b4abebcd5ca28ad168ba6370ecee305ac82e24eb54fb87072366216768c72b72b275ab9dff2ffe3c201d" name="cross-ppc64le-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="e711fb4489bfb13d80beb0a0ab0b3b9fa0a53e871a962e1603a47047c264ce1eabff4be79921020cfe022ef2b86441e01846d5d40bb4ffcddb320db947009eef" name="cross-ppc64le-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="4f57a9e742226265326af11b908b6d61ee3b62ea786152af6623de97da925572804ad7bb71459a3829d936d01f914c115973b90513331010576c6ab34bc79fe1" name="cross-ppc64le-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="3ecd11e94b65d5403a8f40ac7a809cb43897306ef7e133d35f63c8a6e4db7eaead4eaed5af410ec6b0435c7d275d4fd06868500356eeef6de5549444d5d851ed" name="cross-ppc64le-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="c38f3634b5a3eb187c540a46a79594567aa0d854e4814582a4f00f4dd782bb7043fe263b2aca7b5ac1af6750b89623ad5404880463c3703c34ae8429e46cd47a" name="cross-ppc64le-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="a9656fc09053be2cc56ea696b6f6c45bc36991d2ed2bbd3ab8e756fbb423b4d37a51ac6d6dfa978a0bb5304cd670a9b3fb8adf11242a7d4fac86458a57db6b0d" name="cross-ppc64le-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="93b55952bd6dc477463ae857c759603b16286cadcb5f2ed686f159dcb2a569d1461f0cc42f7b1b9fd0335a01ba8ab3c32619f15e959db207ca18f6c805e444a7" name="cross-ppc64le-gcc14-bootstrap" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="73d0e3676698e203297ffdf96360da1aa08ff600f4cd61c2aefe41fdc971f7003f73ce8fe99cdd9fedf257b1b0b1256ba7e1ea97db8f9495526937d330dd9544" name="cross-ppc64le-gcc14-bootstrap" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="806eab580fcc24842a5c4c12b3b9546c47a05b5d8e8f9bf4948ade1e9cff0d52e89e016fe7beb48c60c30ede61d41f5c8efbb2c3a06b12014f7a53b381573b86" name="cross-ppc64le-gcc14-bootstrap-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="ab8391f1ca90c326e52fd55a2bef0b85974fe13c638bf5f6e21ddd6b8809a33b939d2cb240f52a262cc71f0b935b9b7066a2f7e28ad39025bb8ebd9e5f851cbc" name="cross-ppc64le-gcc14-bootstrap-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="5d261b7f5ccf73a074c1be2e815c36efdcdd2d5da9a45f183def5c0d694afbdd0d3a5ff6dc65868c22e49ec22ee271036b84e28e0ead742d10f55ffe8da1d441" name="cross-ppc64le-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="07662e9039bbddd5b9ed8af69c18ffe4ef71a9fc0b326e121acd135942c9328827857448d8db5527526593dde25fb840a193c447ec0c355a687bb24c001a7555" name="cross-ppc64le-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="67f0b8ecfd371b456824f2c191dd8c1be5d4e5a3684b6f332bf3adf24beb41fa33acae653a47292a98373762d11f0a30e69eb4ecbb97624b27ff814fd5c5eead" name="cross-pru-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="aaad8272a093c4d7e3252d45ff4f09e848ce30e3a324794274af51e3519523078091fe344ead48b6dc16a50c33ea052c6af59751472c2dd870c8c414226e775d" name="cross-pru-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="f1f71d62ef4c703f047386ca5ea74ed028b46fc9efc844892073454717c9ff885a5d46a740adf239ed81d61af58278302b42dcc9f7af8e10aaad9690d9f98259" name="cross-pru-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="83ff7ce7c0a2341fb3f056936c7ded8fd3828c675293b0d063e2498dab0a857cb994b177aebeef819255619b442867494cb46d8bbf3d99a79ef46776b2233d1c" name="cross-pru-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="afc8914e85d55935cb6bb18fb22106581a894ccb32b76d02570bf04d5513d9aae964eddd5708d6a7ca599f8f24a2bb1ce19d3fc963db08591a7d01507419e44e" name="cross-pru-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="aa9c67ec037e45bc7f44bad490ddbd54e44c06d8e7801b5cce660d2464b2da099fb67bbf8f6e569b543719128cbcb6b5bdf26c8b4dd343c9cbbf9a13b2ad73a0" name="cross-pru-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="283e3b40a643da58d0046bfc03fc769944d2853d48aa85bc1166ce4c87ebe890d08cf975a57e58aefb8204895a7bf41a58f477e8304adea9b236c045f1012c8e" name="cross-pru-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="51aef36c33d8989af166322f47206a2365b4ede2ca68efbb6c7f9369473430e40a0a1faa858fd3066c51774a42657bda801ba6a317e2f35fc64d65b1d72dc2f6" name="cross-pru-gcc14-bootstrap" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="f41c5a50be302997c8b91b5302a758b7b889ea57742fed36cce9637244b35e110b952ba69e64f1c6050ed5d0c48ee306d992fd3b6c700324b75885ea3c297fa9" name="cross-pru-gcc14-bootstrap" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="90cbb0fc0829dd31ea90f6966969c1181fa4a5f1b1d44ea8a435abfb732c97a8f268b15b97627493dd7ed83e57af07f24eb7df75a02018fc79303d9f6e688031" name="cross-pru-gcc14-bootstrap-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="99497b8b66690547c8f0362fc5ecd131e446f7df2ab0b42ff1d0953b56cc5ceee80c9e3e73775dba67e521d851128fb29d7dd8c098baeb2d37005fd7202f679c" name="cross-pru-gcc14-bootstrap-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="7feeaeb538ba29255981a2ad97aecca4bf5964394771a9ca0343b960b6cdda5fff47f46b29d78ed1dfc495ec89b0c6e5761c8d5c38163594440e29581bc836dd" name="cross-riscv64-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="9b558d573afdb0130f044b26197893d8f8ece2b8a78166edde7f7169df18b62fd94ee16b85e621f433d0ed329f3620df1f48c5e5aa3b272f50a120056c4f310f" name="cross-riscv64-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="756056b41192d0104c818caef7cf8f0a430efb04a03ebe57aaa671ebc2ead9ebbb6bce21691275a9fe984aafe0dfe9e8f83e09a1c81e4d79eb864afa6dcb0db4" name="cross-riscv64-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="4c5344e4ccf84118b64013cfa1e3e418993f19ac38483fda8c1d5debcbd2605eab1d92b2588360ad394777167284905c8259bbacb0f8cd02cda1b46a87677c84" name="cross-riscv64-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="f7c4e7fd858b911391479fdfb8d1f9c396931723c4e1655b878c31c0649dfcd59d1a173c4761418571f82117c8b1d640974e5dba3c092ac17da2eaf5006696e8" name="cross-riscv64-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="feccf37b7a54eb39f175c391fae653ad5c792afde376822b2ec9fd22a797feb44b5b6e8c555896b84e0481fbe681c15a667d091d26bf015f6bc8ceb44d9045b1" name="cross-riscv64-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="82325c0f16717e51846c1492d31544341ac0841023ca0b79de9bd5199e54e8751f2cbfd53667a8b51c887bbe378df6d48ed02d74937404ec881522128dac3389" name="cross-riscv64-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="a7a3fc194fc6621dcf5339be7c9fb35206fa76e3ece6ed700c53615aa38ee22cbb9fdbdac6336debd0ab73bb168ebe6f835055f07bbc50022a0cbe2d450c9b50" name="cross-riscv64-elf-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="0fbdcfebca18450ec0b0e0b016e0eb585b2b2ce63bf6dd8853039d575723270a2f1911acf9c2a8eb4c887448f0394df52a6205c538c889ef21dad0b312ea9cc8" name="cross-riscv64-elf-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="3ac4317d92f3f3f98c99473e215deeef615709e5520372bbf3ee9f47fcd0ac5fa4ef0dcbab95128b3cc5979bb7df041ed0de5b3084253a113cf8bdfe40cd8efe" name="cross-riscv64-elf-gcc14-bootstrap" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="bdf1d058d86821fe004867468d099f3b8936439c4dc1174d765240a53eb86f701d51172abbaadd4d761141112777df4808ee7bde9e4c5948b24ed30e7bf32c87" name="cross-riscv64-elf-gcc14-bootstrap" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="dc12a5473f8a8adc9701750fdf49b8fe535b2938aabbe66ab54cad22e1d6ae8ac38f00836c9f3745839ab00f97a9dd593aeccc73b8ea41ffe404b3452e54e463" name="cross-riscv64-elf-gcc14-bootstrap-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="55c0c40049648725ada98acdc05b579625b2ecda72f7f2f9f9266f03c4513990258b57e9462dc805f5384e2f5e28679de50da476d5a8d60e886d7967ecb79175" name="cross-riscv64-elf-gcc14-bootstrap-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="b904b82e72a38314635efd957de8ecb8013cd760e2a5c0fc9d60717bae31cbf40bb8d0b7412d50e9a3f5ca6b35e5dc0e35ec9acdacbf5204aff9cb90aea2aa7c" name="cross-riscv64-elf-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="a6a5bc1f2d3c4742cb160e5922f4b5603f678ee3d579d912ba69b86b2107362935dcbc22ad6938479af68c47714c713050f416dd838e09a66419b991fd4f19e8" name="cross-riscv64-elf-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="8b1d9290d4e7d8718cd188aaba99fcb396ab54e1c9a447e0a7da9651a67b3f99a4d2b81ae86e2ebb07bf41d7cf18d28479d9a50cc24bd2a3e6da118be1b649c9" name="cross-riscv64-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="a2e6e3a0151a2fafd1adc4dbf1e9ed188dff3f5679f25fdae0187900b59637ec1e86da7a07393bafadf4c04a4129bbc6173abeacb0691c63c0420c2c2ffdf71b" name="cross-riscv64-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="4fcb2a4217807323cd79d4530da80860d356d9ddb80c2f740bfb780cea29ac945c096a43937b352adb2c3e951c51936dcf293e037d579b45127baf5a4099af1b" name="cross-riscv64-gcc14-bootstrap" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="f2ef7a8a2bb774b7b3b9fb1aedeb2d8a29826b618eeec3f0e17f68864a614e2d3b145ad268ee64969fa7522d8d69b1b04bc065401b85c0cf027cab2c88f89908" name="cross-riscv64-gcc14-bootstrap" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="2a39529835016327f98244453dab624f64fdbca0d25e9160ef970158c990382fcae5cab341b3ac7daa1463dd2667128c24466207097960f63e78f988b13d98be" name="cross-riscv64-gcc14-bootstrap-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="3be87ad1c7a270b8d8ae699c134ab10967b5a0f763a7496fd03d2b2c17dd169bf32c15ddb26bd94d5a9d12edad046839d58f2e41f09de8afb5c3d044e3d70f4f" name="cross-riscv64-gcc14-bootstrap-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="01ac56b6a92e88cfab47408717cd137e004f8de10079e756795abbe40c7db3127f0adfd0da407f704684705a63f451b6d71627efce4f02f4862af4d31df4ac4e" name="cross-riscv64-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="00af532ed1aa8498a2b571babf6309c25f7ca248daa5fcd596ceb4472c74f069049424f1b319b255b3c9b5b647a6757b04abed0199dec905ff810ceb95612ec1" name="cross-riscv64-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="de3e4604c7bf683606e7663b168ecf6a0e80c45e96bf4894e0350a8e2323f25287558d4b9942b58828d1c50c1ff79d2acf27ea766e7de1e9dc697769a0f5b2c5" name="cross-rx-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="c7cdd5a79dc58455fbf59470f78de15f5c68f67ce5e51c1a63209a8e556b17a491765d8346d4051ac47ca7e89986a9511c6523ee34e52433c992e6c88326b0ec" name="cross-rx-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="5b405b6e3e6ec48273ee03c77c3c8855eb2a5ea30fb7bd8e0cc278d979f11a3b0dee39c6c5b0a6efd0050a33b06f6bf515fa4561075719f8b645b10ca31f393b" name="cross-rx-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="2a8540b2bfc2a617f3119d441d590e2bb513458513f140b4321d67e9c6a45e3518898b9b35a31a90b86e3891e1fbacebd21f5adc41b6b045c28cfc15577f19bb" name="cross-rx-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="97aaac637646a414e5e9116f7e3877f3c6f81de2de0fbb094df63c29419f6b0e1991f5d02e6b1ab22d44e358cad3bd1e0a61faa6da76f33f77e014fd202d2e77" name="cross-rx-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="8cd2f422fe7d24988b84a856a35b942ec687e872e55ce64f2b81c1a23bb7af4de734352cef72705746cbafbb22dc3638a7709b43e62b813f986e6153c0c3cc73" name="cross-rx-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="9f57f201cd6adde5dcac17c0a3a39949032674c13bff71cdbb4c1d7231c762988460369d94a99a034eb10ffa2f413ee986c5626810157fc4d65cfbda2b10543e" name="cross-rx-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="507570efe5101046ab74d744729bf43f8ede85317e29230ea44ac9432ae2e7f57cda6650bb4c6719742511ffd2b9c253fa6decd68669c101481ce434864eff11" name="cross-rx-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="bbb323322b560d7f1f59aa63749fa71c07a6883733a7c4e38f11090322b3f6eac8cb99211a0ffbfdee3140f306b1beb6e4938829cbf2c391ca8dc3a198d7afd8" name="cross-rx-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="5bb4387f3ab15f4cce34c5ffc69c42f1403ed7867741b7563965cd3346c124892a30afe8279bf576d5b16db80dc46944857bd8cad4ad19811f79871f055b3164" name="cross-rx-gcc14-bootstrap" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="75026881b8c59d3f3244ee7ce262b4e526ba44b646fdbc8455a865b3953fd3150ee5b17cf1f6f92f85e6b91de6ef468717045804864c8d7e8c083ea0e05dcc80" name="cross-rx-gcc14-bootstrap" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="022387d60028bc278fc1e615c80ea7031b60453b1d00394c287e6c438289bf879b279e26004f0068c20fe20bad4015a75c126c5a269fcd8e337ef339c5cf689f" name="cross-rx-gcc14-bootstrap-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="b407c1aa1a7659ee89bd53553ada6ec31da9260644a652acf3c114bb08ad043b0f12fcfee5e52eef13663574f86d4e00dbe508c163bc954a2a871f63d655aad2" name="cross-rx-gcc14-bootstrap-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="efc9cbef9a228b71daf3acb064c01c3e15c09aa3e81814f7ca46789a448f4ed9f39a8cf3bec3880629204267d76d036043a993522e0b57b828dd4d0644d8fb67" name="cross-rx-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="b363f282b7c6be40e65fa63940c8f9ddb151114b9d65c7218d09e8243519c6c4bab79cb587d220e560053536cf8d77a1932de429b1da49162385e13f301613a3" name="cross-rx-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="2c9a8316631ffa65268cff4369499e5ba65a748da51bc0a38369607687d3aa83ee5b1f0d3bd212f62377c5bb9c55cb0f02a1af7e65ab877acee2272804701845" name="cross-s390-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="1875991fcd3866fb1fb2ff52849238360ea8f9e8f6baf3477295904e3e00d0aa17d83184a06a287039abd5ade09c4de6dac14876d72e46e98ef05d485d2dc8f0" name="cross-s390-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="f250e5d76d5ce42895f4b118579c68969b141d75abadf074362c0840acf6f334d55f5db6be63d0a2a191f3266bc554f5f30cd48b093e94dbde4996c55105747c" name="cross-s390-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="bf228394d601188729ebe13844c31730476d92c05a11d98bf7b75a59852936f002816cc40302d08c17a62b944b043b72e32f0b5905a795d58b3345bff7a54b64" name="cross-s390-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="ebc24c661eb217983ce22ff8af353954e0c6614c5f3a9920722c42f4c63dbf0d025918169fe48ab0993b493d9558ae64cdd9eb3fec6741da2e99f31a597b851d" name="cross-s390-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="b108da4f1fbbc2a77d59ae438e831be1d97f129a1736a6bf3446436344bb5aeb5f6a5007f4a6d12e8be837748545365da71b6513c223f0c00a36ea0928a02843" name="cross-s390-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="ad5be46e248c21d9aa0c3b54afc63c4505aa2db92a7149cc91b7441c9035f1f3bbd8f49eac49c91cd59b339b624b7869eed9cc7138d8628b271f8af47a3c0153" name="cross-s390-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="b3e819dc707aefc9fe846ac2a258b99de4a353585c1001bc16bb7fc6dd03e781cd95c1a695b80711583e099d166476c56cb4714026d42a26166d063068d1db77" name="cross-s390x-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="ada1af896588d78945b3f471e9934150d09547dc3e07a1e0cda31e73da38946cb2026c2b3934f47eed5c3282ae94fe8dc3aa9f632cd6149e4885dd0642ae3714" name="cross-s390x-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="f8e48a483f4728e527f292a4059fb4301e36e5ec90ece1a8bef0983a7222f063e8487c1478c178240803bdc9ff4f82a75d88f91efc6fd51827f564a1b5368c02" name="cross-s390x-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="6d81b9723dc7d1ec0717c8b1c51ea2493b6f5207e7f631ff91ed82eb47014a592af30d1e39f2b08b72dfeba362f2b89a77049dea2a2d674a452875cd54be10e9" name="cross-s390x-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="12877e7e3f06996aee97cee8521b82843b2f5f859ff36aa6a6612898c122866ce5a1482bec768a019bce2c0ef53cdd49dc820fedbdfbbb75610a6022798449ef" name="cross-s390x-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="695492d5635e3ae7619a0db0ec0eb73b1796366c2051b05a72550d407db0639b4cb4a37f269ea380058a5f210524106bef779328904770737c032d6a58171572" name="cross-s390x-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="0b931f4ecabc15255155462350c8e8dcaa09fd27ede927b42c244d75c31e49cd5c9bc9677736cc363c0644be03928ca5eaa5c1935f0d77c86e20d18a5182b489" name="cross-s390x-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="a5ba86a769bcb02e0f334b6d6b67a582b9560f87f8c944bd0ddb2700bac27a3e16fb4a1bce5e5c38f7cf3209140ece47b44672c41c5882a8c6c3b67168292dc2" name="cross-s390x-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="4b66fbc98777692a76408b7458a4f62c3b199700832ba6c5f069b7d59849d56d1b1a0cd029bf88a19025e51d3fcbcdd57ea0827c11c6111f691bdc0643e9d1d3" name="cross-s390x-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="3a52db960731359e1af7c2975242d87ffb1de7238732af3eb17227a787c43ff098860f9723bb8aebd89c011297b3f59c56d37a3ddabf34e61e24bff151a93ed9" name="cross-s390x-gcc14-bootstrap" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="bde4ae4775f88e77dc6930ef1d5027e27c54b2acf014f409be64e69c5864cad002c2dadb0ce382102b0bd1aea56f7745ad26899c39dba0a1970afb1f5cb64573" name="cross-s390x-gcc14-bootstrap" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="233ae618c210840e66bd40e260582220b0f47068eb67944f56cd58ce91ceba278139f8bb12257c452a620bdfc53f92274300fa60aca011fa902ecccebbefd251" name="cross-s390x-gcc14-bootstrap-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="adef37e1a8b03094c4606ed2e72159511adec3a1fb89f0e56aad2d49417b06e3df9f769c25c805b49d88e27aa27de6bc4ca6fb29a651e1663adeb563772946f6" name="cross-s390x-gcc14-bootstrap-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="e7c48c466de47506a8f54d48d2498d5f34efa764116cd1453f19e1133f3b2f4f0853512328a871ec17aff83ff7dd1ca990f6f3d509bdef615ae6d45d30698761" name="cross-s390x-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="48b407fed21f4a76339b5605580c8ca446d9d42a89ea3b6d2cff27af5068917aaf3377e8ddf038b0528f6fe2a753853244e05551d97964bce5abce9e279c2277" name="cross-s390x-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="46a1949bead55942c6575c973b8786ee8cc149df4f4bc15d72e74eeecbfeac89135d26ef00f03c997d1e876cf7b3b08bd4e6401f47a19d9afd8d568ba7ed9626" name="cross-sparc-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="533e8859f39c70484a6c3095f642f500b5d8e3d8b01da55d56aaba04c108e608a985473eb5004c42313ef97e47b90bf5a5ee7b5b4129649a32343523a9e2b376" name="cross-sparc-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="516949b54f5ddc742f18e6d9f706ab52e73a2ee192487f9994528e7b76ba757cff2ba3be096f5aa79a730d40705e7e2b9f7ba8f87059255f5141b60cc00edd8a" name="cross-sparc-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="42812effc8e9e334dfa41944746bd8655740503b8d5611a9630bce4d4b8d4bd4a1e809809c237c1130fa3eb584152826b655dc88ae756fbf94e1c0b07e13f0fb" name="cross-sparc-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="8fcb8bc135bdb0e936b3be91861d9cc33b067b0527607880fad28297d7d147b7a20351abfc4b72d904b25f6d35bff0de8b54ca62b24c61442803ab7bc9f8ec87" name="cross-sparc-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="2eaea9682ba95458d8e6deb5d600b7113fb42397abdd662f7fe01c64150e40f6371a4b96584099d2c6487b90fb8e148c599a684e2fac06cf491909693374d1a8" name="cross-sparc-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="22981a26b20674d252c249e04ea04ffb3aa191a63890a618189f5f7bb0a0f5507363f07ad25daf4a147e339fbdab34eb2b41ef6a08c6963461450dc439ce71bf" name="cross-sparc-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="9c1cdc288af7b23037675167fd1a1481cf1149563763a5bba65414173b6eae9c8d28a1566be1c45f8cf7374b2e1b6f46d1664fb4ef0ddbc0050367f2b95a684d" name="cross-sparc-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="bcffeba9e110b1adb617e2880496a71d647fa2d266b6a5db13e126cf0a398d79da7c4e60ff54a3cd5da5bee5fb4ebe8aceddcc4323a165cc2064d35b5e3414bf" name="cross-sparc-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="bafb1dbdf7d02e715515dcfcac36ffa9abb1e67c40a5a1147144a7cc168b7d47d759c7ef40153a06b447219205f0cde79b2e669bbe9a6f25554140687ed539d5" name="cross-sparc-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="d21f066a2b9dbe2acb10ddae7e0b0cc2c7a27524fb547bf7fd035f8d507fa5e1f967323d1f13a8a521cf6fa6fbf22e5b6ab7678c051342271510788d2958994a" name="cross-sparc-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="d47de00b110c78b24433d9b7ed44d7d73994afa2d587986ad2fee90d38037dc74b7790d4f84bc31a67622ee3351ffa7ed99fb8c552e9ace47f69c6d49943e0b5" name="cross-sparc64-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="0383e8854196900f3a076ff9c529096d76736ed78000728461c64e4637b684020ea529b3b133e8883660a93a4be00208298d980dd061fca7c5e6a5ceb9e22c1d" name="cross-sparc64-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="3608c95825e2901a04ced6a9e09308e6f5980c4248ea362ba33807b808b22abea093b4d39c9772f28de32caf2eb4ecb4e0da7c5550552ce3cf81b82303d6b48a" name="cross-sparc64-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="7aa6274a7328d3bb7cf2741bbf123722d9dc662a3640230a64572456acd11dcb081a6f6e9729acd2f65c6f4c512b76d66f2c176019fa40c1dd5ee47bba67b8af" name="cross-sparc64-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="8397e6383a2c4191550542049ca593a4f29414b009a41c0b0281de5f07fd675ebc210372ed07b26b637dbe3a6b433798212f7d3f525d4480e265ffafc926b092" name="cross-sparc64-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="70a4e90e34e22db608f3ac567fc27bcfeca1ce6ca57323ccb4578817c16731b2a4d05ea3a4f1d65d68bed82f2ccdd74055e91aa09a3132c8cb39227f511e45c9" name="cross-sparc64-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="0953d057366aad1ee843d286323378e615eef4f3f8ef5fdbbdd6c3f282337e2e8c46bdc048c4b17e3708d13e11641881e0aabb52d669edf0662f631d24d4e5a5" name="cross-sparc64-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="9f48dfefb78951453a793ccfde36b3d3f2c40f8745ee04a0d571016a733a22725d397cffdff7ed43f03f6d2e96631a7d32a7c6a484eb0926348c24e0b4b6b893" name="cross-sparc64-gcc14" arch="src">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="1d1075154452087fc672dbb09b3dae576fc03129293a4ab19e15386985ebc6abc81614bf3e414df698533ac1bd05200f77bd571ed6e8d08b0dfc2f6f7ae3a438" name="cross-sparc64-gcc14" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="19ac6841f0438a2f0648139ab3a836f600219a3e0bd106dacf0bb9e83799021d60ed5089e892a1ef22266b1c072c4f6b450f930456eda2fc936fe47dfcf3c320" name="cross-sparc64-gcc14-debuginfo" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="6be6f3290bc8b9e231fba1d015c737a21c679066f027d6db351350cdc6ddbd5ce3cb56f32168c334f4b77d40f97b291b5fed754518768275c52c85fdf3ef67db" name="cross-sparc64-gcc14-debugsource" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="7897a49ebed576bff152ec52cd3d46c1a826a2b3307dcccc20bc56734f334c11483a85585fc80335e0c3e3acd466d9cdc406f7b873e816a8edb8e31defd89e72" name="cross-sparc64-gcc14-icecream-backend" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="d1538b3ce7789514ff04c13799aecaed445cb90b68ce00923838864907b4d5c625496dbddb0cbf9d1d9c42cabae4c339d5a292769691eee87d5c2273b572b095" name="cross-sparcv9-gcc14-icecream-backend" arch="x86_64">
  <version epoch="0" ver="14.1.1+git10335" rel="1.0.2.1.sr20240605"/>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705579200">- Update to trunk head, a6bf09f65aed44d36acaa511e552783bfb, git8231</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705665600">- Package m2rte.so plugin in the gcc14-m2 sub-package rather than
  in gcc13-devel.  [boo#1210959]
- Require libstdc++6-devel-gcc14 from gcc14-m2 as m2 programs
  are linked against libstdc++6.
- Fixup rust packaging for the rust1 to crab1 rename.
- Build rust only for openSUSE Tumbleweed.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1705924800">- Update to trunk head, 86f3cbdaa6f60eaff1cdb4ab2f1a9bc796, git8330
- Package more risc-v headers
- Add cross-X-newlib-devel requires to newlib cross compilers.
  [boo#1219031]
- Re-enable AutoReqProv for cross packages but filter files processed
  via __requires_exclude_from and __provides_exclude_from.
  [boo#1219031]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1706529600">- Update to trunk head, b702dc980215074a06535e3aa52a766bef, git8486
- Refresh gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
- Up requirement to llvm15 when building GCN offload compiler, needed
  for gfx1100 support.
- Remove obsolete gcc11-amdgcn-disable-hot-cold-partitioning.patch and
  gcc10-amdgcn-llvm-as.patch patches.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707134400">- Use %{_target_cpu} to determine host and build.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707220800">- Update to trunk head, c5d34912ad576be1ef19be92f7eabde54b, git8817
  * bumps libgo SONAME</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707307200">- Update to trunk head, 5c3ba60024fedc6b3d374ebb071bcf5b3e, git8840
- Disable epiphany cross compiler since it fails building.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1707825600">- Update to trunk head, 4a1cd5560b9b545eb848eb1d1e06d345fb, git8957
  * bumps libgphobos and libgdrundime SONAME
- Use %patch -P N instead of %patchN
- Refresh gcc44-rename-info-files.patch</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709640000">- Fix libgccjit-devel dependency, a newer shared library is OK.
- Fix libgccjit dependency, the corresponding compiler isn't required.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1709812800">- Update to trunk head, b209d905f5ce1fa9d76ce634fd54245ff3, git9355</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710331200">- Revert libgccjit dependency change.  [boo#1220724]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1710763200">- Remove timezone Recommends from the libstdc++6 package.  [boo#1221601]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711368000">- Add newlib-gcn-iolock.diff to fix locking for I/O on gcn offload
  targets.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1711540800">- Update to trunk head, 0b02da5b99e89347f5f8bf875ec8318f84, git9687
- Fix install link to amdgcn-amdhsa-ld.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712664000">- Add gcc13-pr101523.patch to avoid combine spending too much
  compile-time and memory doing nothing on s390x.  [boo#1188441]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1712750400">- Update to trunk head, 109f1b28fc94c93096506e3df0c25e331, git9885
- Package Modula-2 info files.
- Install/Remove Modula-2 and D info files.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1713441600">- Update to trunk head, 7c2a9dbcc2c1cb1563774068c59d5e09e, git10008</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1714478400">- Update to gcc-14 branch head, 7a00c459cbb913ac165a39d34, git10154
  * GCC 14.1 RC1</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1715083200">- Update to GCC 14.1 release.</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1718971200">- Update to gcc-14 branch head, 272e8c90af527fc1d0055ad0f, git10335
  * picks first batch of post-release fixes</changelog>
</package>
<package pkgid="e5ebc83f6f3e648038c14170f7b53d161303ed182feff2d02311f8dd3db50d58065d4060d39b0102301821691543f4e78a70481aba639be2af71cf2bc3b5a8cf" name="cross-spu-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="83a8bffb7740a25d63b91776aa1234ef32ad3ae3d37d9d0bcd1eb0e9f46d83a8d9ccc3d60ba6a47476e0a0af48fc5be7c1ea711a46f2fef917674e0aa7984a0a" name="cross-spu-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="81e9ace4da86d464b0051a30bac24daffec03d19b203648603daa19b095810e951eecb5839a6224ae7200d199d79d2f185b974ad4de395d3592f4385006381ec" name="cross-spu-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="050ab63100022841b12543bb736e3b64aac3fe11c752f2f9e3a0a06a1fbcf985d9edc2e9ac77e7758b5fed61e954e587c745c5a9806dda5c01fdd5efe402b346" name="cross-spu-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="f77e29dfe1adc38e378722ce1b18a6752b9d92115553000eec05ee5209f60e4eb93e2cbb080b3e7afb8ea83db0855d6b911941164671e11d390330a980a12325" name="cross-spu-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="5b35a354d2046cd2e75df1f07f144b7fec2dc15148706c4d4d1c866599a0959779e2380f8b3c48157d2dcac8ad88ce4f4078108a93b0867c1ee99c5169dd92ef" name="cross-spu-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="a5eb8080dd94bc3c487cfbc9bf1cdc7714fb9adba3534625629fbd915800075e4e80deb73a7339a3b4199cf04f8975be61d9244a43eb73999311afe920274bc7" name="cross-spu-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="ea4340828164d98b89dfd2cb8ad816c421adb11a6c1873ba0befe5b77c71595d379d796e29b70a23fcc6e046a26d5e877fe3c418564d6c74c1f5a427c048b55b" name="cross-x86_64-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="4af9fd3f634597b717f79f194441b51fbee24cd7a0a2e3f8852aa15b40678fc72699ea70d7671daf3c2514e337ccb9a3c7c1d3cf5eff1267b3722ef2a0990f5a" name="cross-x86_64-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="de4dfee179dab0281a55e867e2d97fcb516399451c4641e25e3232b7c5d74a0155dcde1b7537a2a6a50c8102a8de053b74ff9b0e92c90c06bd6d35c20ed0ff8e" name="cross-x86_64-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="a40c1e7bdb401f2928d14ff57c9d8311f50b9b128aaa92371d6e2bc1915d1796963d9a4c91d02b694a512bdccfaf5e3aa24624fc23692067fdb52157bcb46258" name="cross-x86_64-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="b061751203691e1064c4765bd31ef3075efe44c940ba8a10fd710862bb229e16e73ce74eed716f32e1f9180b648280082e47bb198b427c26cb5db3955bad0e16" name="cross-xtensa-binutils" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="d9c420c2b3b5cefdc1f2b7a58d39eeba9579c4d0e5247d0aafe33a6959d7b6cd6d8b33ac9a76270fbf081af5dcadca28bce74c2731ac91d8e2a60a2d2d399617" name="cross-xtensa-binutils" arch="src">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="680a6af0cc5f24b66805581f8d7db799b384fc77c81d64bb3fae2cdbb4d7af19c35b59149988de068df350085a0e9214f357d2164dc4c6a489bf49624945757c" name="cross-xtensa-binutils" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="8d8d5e5b225efade6815253c216df109372e6ec60807d76f0200b67c70c6a797e5d9434447141ddabd145978dee12e066b902662d639089e8b881f4483d33198" name="cross-xtensa-binutils-debuginfo" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="ed71cbf1175499b415fef27724c623768db50f09d325a5c7dfb4e99cd911431592589a8f6390ee1a6eaabac4d3cb11ce866c3d625de1cf2ea4ca5e5fdb43507c" name="cross-xtensa-binutils-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="bc38a3f76db791cd2b12c2ee00b0b114af882cf87257a2b6f02126991112c4b627a25871e0b1254613ca459c01ab5f019c1b19da4accd00024e577f19a414d03" name="cross-xtensa-binutils-debugsource" arch="i586">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="3dfa5f80f737c70f21100a28a6a204bd0edc378aec065afa1e8b8de4d652bde959b0b6a9fc32b533015c3cff8d878aa9b8f268314eda1d9e62c45912500e2bef" name="cross-xtensa-binutils-debugsource" arch="x86_64">
  <version epoch="0" ver="2.42" rel="4.0.2.1.sr20240605"/>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1674820800">- Remove upstreamed patch binutils-maxpagesize.diff.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1675080000">- Pack libgprofng only for supported platforms.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1676980800">- Enable zstd compression algorithm (instead of zlib)
  for debug info sections by default.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1677153600">- Disable ZSTD debug section compress by default.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1678276800">- Disable packed-relative-relocs for old codestreams.  They generate
  buggy relocations when binutils-revert-rela.diff is active.
  [bsc#1206556]</changelog>
  <changelog author="Richard Biener &lt;rguenther@suse.com&gt;" date="1678968000">- Enable bpf-none cross target and add bpf-none to the multitarget
  set of supported targets.</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1679400000">- Document fixed CVEs:
  * bnc#1208037 aka CVE-2023-25588 aka PR29677
  * bnc#1208038 aka CVE-2023-25587 aka PR29846
  * bnc#1208040 aka CVE-2023-25585 aka PR29892
  * bnc#1208409 aka CVE-2023-0687 aka PR29444</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1681300800">- Rebase branch patch (includes fix for PR30281).</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1685448000">- riscv-dynamic-tls-reloc-pie.patch: Backport for PR ld/22263 and PR
  ld/25694
- riscv-pr22263-1.patch: Backport for PR ld/22263</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1689249600">- Add binutils-disable-dt-relr.sh for an compatibility problem
  caused by binutils-revert-rela.diff in SLE codestreams.
  Needed for update of glibc as that would otherwise pick up
  the broken relative relocs support.  [bsc#1213282, PED-1435]
- This only existed only for a very short while in SLE-15, as the main
  variant in devel:gcc subsumed this in binutils-revert-rela.diff.
  Hence:
- Remove binutils-disable-dt-relr.sh as subsumed.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1692187200">- Update to version 2.41 [PED-5778]:
  * The MIPS port now supports the Sony Interactive Entertainment Allegrex
  processor, used with the PlayStation Portable, which implements the MIPS
  II ISA along with a single-precision FPU and a few implementation-specific
  integer instructions.
  * Objdump's --private option can now be used on PE format files to display the
  fields in the file header and section headers.
  * New versioned release of libsframe: libsframe.so.1.  This release introduces
  versioned symbols with version node name LIBSFRAME_1.0.  This release also
  updates the ABI in an incompatible way: this includes removal of
  sframe_get_funcdesc_with_addr API, change in the behavior of
  sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.
  * SFrame Version 2 is now the default (and only) format version supported by
  gas, ld, readelf and objdump.
  * Add command-line option, --strip-section-headers, to objcopy and strip to
  remove ELF section header from ELF file.
  * The RISC-V port now supports the following new standard extensions:
  - Zicond (conditional zero instructions)
  - Zfa (additional floating-point instructions)
  - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
    Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)
  * The RISC-V port now supports the following vendor-defined extensions:
  - XVentanaCondOps
  * Add support for Intel FRED, LKGS and AMX-COMPLEX instructions.
  * A new .insn directive is recognized by x86 gas.
  * Add SME2 support to the AArch64 port.
  * The linker now accepts a command line option of --remap-inputs
  &lt;PATTERN&gt;=&lt;FILE&gt; to relace any input file that matches &lt;PATTERN&gt; with
  &lt;FILE&gt;.  In addition the option --remap-inputs-file=&lt;FILE&gt; can be used to
  specify a file containing any number of these remapping directives.
  * The linker command line option --print-map-locals can be used to include
  local symbols in a linker map.  (ELF targets only).
  * For most ELF based targets, if the --enable-linker-version option is used
  then the version of the linker will be inserted as a string into the .comment
  section.
  * The linker script syntax has a new command for output sections: ASCIZ "string"
  This will insert a zero-terminated string at the current location.
  * Add command-line option, -z nosectionheader, to omit ELF section
  header.
- Removed obsolete patches: binutils-2.40-branch.diff.gz,
  riscv-dynamic-tls-reloc-pie.patch, riscv-pr22263-1.patch,
  extensa-gcc-4_3-fix.diff .
- Add binutils-2.41-branch.diff.gz .
- Add binutils-old-makeinfo.diff for SLE-12 and older.
- Rebased aarch64-common-pagesize.patch and binutils-revert-rela.diff .
- Contains fixes for these non-CVEs (not security bugs per upstreams
  SECURITY.md):
  * bsc#1209642 aka CVE-2023-1579 aka PR29988
  * bsc#1210297 aka CVE-2023-1972 aka PR30285
  * bsc#1210733 aka CVE-2023-2222 aka PR29936
  * bsc#1213458 aka CVE-2021-32256 aka PR105039 (gcc)
  * bsc#1214565 aka CVE-2020-19726 aka PR26240
  * bsc#1214567 aka CVE-2022-35206 aka PR29290
  * bsc#1214579 aka CVE-2022-35205 aka PR29289
  * bsc#1214580 aka CVE-2022-44840 aka PR29732
  * bsc#1214604 aka CVE-2022-45703 aka PR29799
  * bsc#1214611 aka CVE-2022-48065 aka PR29925
  * bsc#1214619 aka CVE-2022-48064 aka PR29922
  * bsc#1214620 aka CVE-2022-48063 aka PR29924
  * bsc#1214623 aka CVE-2022-47696 aka PR29677
  * bsc#1214624 aka CVE-2022-47695 aka PR29846
  * bsc#1214625 aka CVE-2022-47673 aka PR29876</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1694692800">- Add libzstd-devel to Requires of binutils-devel. (bsc#1215341)</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1695643200">- riscv-relro.patch: RISC-V: Protect .got with relro</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1699531200">- Add binutils-use-less-memory.diff to be a little nicer to 32bit
  userspace and huge links.  [bsc#1216908]</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1706616000">- Update to version 2.42:
  * Add support for many aarch64 extensions: SVE2.1, SME2.1, B16B16,
  RASv2, LSE128, GCS, CHK, SPECRES2, LRCPC3, THE, ITE, D128, XS and
  flags to enable them: '+fcma', '+jscvt', '+frintts', '+flagm2',
  '+rcpc2' and '+wfxt'
  * Add experimantal support for GAS to synthesize call-frame-info for
  some hand-written asm (--scfi=experimental) on x86-64.
  * Add support for more x86-64 extensions: APX: 32 GPRs, NDD, PUSH2/POP2,
  PUSHP/POPP; USER_MSR, AVX10.1, PBNDKB, SM4, SM3, SHA512, AVX-VNNI-INT16.
  * Add support for more RISC-V extensions: T-Head v2.3.0, CORE-V v1.0,
  SiFive VCIX v1.0.
  * BPF assembler: ';' separates statements now, and does not introduce
  line comments anymore (use '#' or '//' for this).
  * x86-64 ld: Add '-z mark-plt/-z nomark-plt' to mark PLT entries with
  dynamic tags.
  * risc-v ld: Add '--[no-]check-uleb128'.
  * New linker script directive: REVERSE, to be combined with SORT_BY_NAME
  or SORT_BY_INIT_PRIORITY, reverses the generated order.
  * New linker options --warn-execstack-objects (warn only about execstack
  when input object files request it), and --error-execstack plus
  - -error-rxw-segments to convert the existing warnings into errors.
  * objdump: Add -Z/--decompress to be used with -s/--full-contents to
  decompress section contents before displaying.
  * readelf: Add --extra-sym-info to be used with --symbols (currently
  prints section name of references section index).
  * objcopy: Add --set-section-flags for x86_64 to include
  SHF_X86_64_LARGE.
  * s390 disassembly: add target-specific disasm option 'insndesc',
  as in "objdump -M insndesc" to display an instruction description
  as comment along with the disassembly.
- Add binutils-2.42-branch.diff.gz.
- Rebased s390-biarch.diff.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-2.41-branch.diff.gz, binutils-2.41.tar.bz2,
  binutils-2.41-branch.diff.gz.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).
- Removed add-ulp-section.diff, we use a different mechanism
  for live patching since a long time.</changelog>
  <changelog author="Michael Matz &lt;matz@suse.com&gt;" date="1707134400">- Add binutils-disable-code-arch-error.diff to demote an
  error about swapped .arch/.code directives to a warning.
  It happens in the wild.</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1708516800">- riscv-no-relax.patch: RISC-V: Don't generate branch/jump relocation if
  symbol is local when no-relax</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708603200">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Bernhard Wiedemann &lt;bwiedemann@suse.com&gt;" date="1714564800">- Allow to disable profiling</changelog>
  <changelog author="Andreas Schwab &lt;schwab@suse.de&gt;" date="1718280000">- binutils-pr22868.diff: Remove obsolete patch
- Undefine _FORTIFY_SOURCE when running checks</changelog>
</package>
<package pkgid="a4b51362ca9a0aa69a5c96bff949757e3b88110bb52957a718c4172cf4a3479853805cc2bae5a40ffdcf3944624fe55ca27cd262402ea784be4341ee239bb1cc" name="ctdb" arch="i586">
  <version epoch="0" ver="4.20.1+git.339.cf6e153bb2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1676376000">- Update to 4.17.5
  * smbc_getxattr() return value is incorrect; (bso#14808);
  * Compound SMB2 FLUSH+CLOSE requests from MacOSX are not handled
    correctly; (bso#15172);
  * synthetic_pathref AFP_AfpInfo failed errors; (bso#15210);
  * samba-tool gpo listall fails IPv6 only - finddcs() fails to find DC
    when there is only an AAAA record for the DC in DNS; (bso#15226);
  * smbd crashes if an FSCTL request is done on a stream handle; (bso#15236);
  * DFS links don't work anymore on Mac clients since 4.17; (bso#15277);
  * vfs_virusfilter segfault on access, directory edgecase
    (accessing NULL value); (bso#15283);
  * CVE-2022-38023 [SECURITY] Samba should refuse RC4 (aka md5) based
    SChannel on NETLOGON (additional changes); (bso#15240);
  * %U for include directive doesn't work for share listing
    (netshareenum); (bso#15243);
  * Shares missing from netshareenum response in samba 4.17.4;
    (bso#15266);
  * ctdb: use-after-free in run_proc; (bso#15269);
  * irpc_destructor may crash during shutdown; (bso#15280);
  * auth3_generate_session_info_pac leaks wbcAuthUserInfo; (bso#15286);
  * smbclient segfaults with use after free on an optimized build;
    (bso#15268);
  * smbstatus leaking files in msg.sock and msg.lock; (bso#15282);
  * Leak in wbcCtxPingDc2; (bso#15164);
  * Access based share enum does not work in Samba 4.16+; (bso#15265);
  * Crash during share enumeration; (bso#15267);
  * rep_listxattr on FreeBSD does not properly check for reads off
    end of returned buffer; (bso#15271);
  * Avoid relying on C89 features in a few places; (bso#15281);
- named crashes on DLZ zone update; (bso#14030); (bsc#1206996);
- Drop libnsl build requirement; (bsc#1208220);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1679054400">- Update to 4.18.0
  * SMB server performance improvements
  * More succinct samba-tool error messages
  * Color output with samba-tool --color
    The NO_COLOR environment variable will disable colour output
  * New samba-tool dsacl subcommand for deleting ACEs
  * New wbinfo option --change-secret-at
  * Net option to change the NT ACL default location
  * Azure AD / Office365 synchronization improvements</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1680091200">- Update to 4.18.1
  * CVE-2023-0225: AD DC "dnsHostname" attribute can be
    deleted by unprivileged authenticated users.
    (bso#15276);(bsc#1209483).
  * CVE-2023-0614: Access controlled AD LDAP attributes can be
    discovered  (bso#15270); (bsc#1209485).
  * CVE-2023-0922: Samba AD DC admin tool samba-tool sends
    passwords in cleartext(bso#15315);(bsc#1209481).
  * ldb wildcard matching makes excessive allocations;
    (bso#15331).
  * large_ldap test is inefficient; (bso#15332).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1685620800">- Update to 4.18.3
  * Symlinks to files can have random DOS mode information in a
    directory listing; (bso#15375).
  * vfs_fruit might cause a failing open for delete; (bso#15378).
  * winbind recurses into itself via rpcd_lsad; (bso#15361).
  * wbinfo -u fails on ad dc with &gt;1000 users; (bso#15366).
  * DS ACEs might be inherited to unrelated object classes;
    (bso#15338).
  * a lot of messages: get_static_share_mode_data:
    get_static_share_mode_data_fn failed: NT_STATUS_NOT_FOUND;
    (bso#15362).
  * aes256 smb3 encryption algorithms are not allowed in
    smb3_sid_parse(); (bso#15374).
  * Setting veto files = /.*/ break listing directories;
    (bso#15360).
  * "samba-tool domain provision" does not run interactive mode
    if no arguments are given; (bso#15363).
  * dsgetdcname: assumes local system uses IPv4; (bso#15325).
- Update to 4.18.2
  * Log flood: smbd_calculate_access_mask_fsp: Access denied:
    message level should be lower; (bso#15302).
  * Floating point exception (FPE) via cli_pull_send at
    source3/libsmb/clireadwrite.c; (bso#15306).
  * test_tstream_more_tcp_user_timeout_spin fails intermittently
    on Rackspace GitLab runners; (bso#15328).
  * Reduce flapping of ridalloc test; (bso#15329).
  * large_ldap test is unreliable; (bso#15351).
  * New filename parser doesn't check veto files smb.conf
    parameter; (bso#15143).
  * mdssvc may crash when initializing; (bso#15354).
  * large directory optimization broken for non-lcomp path
    elements; (bso#15313).
  * streams_depot fails to create streams; (bso#15357).
  * shadow_copy2 and streams_depot don't play well together;
    (bso#15358).
  * Flapping tests in samba_tool_drs_show_repl.py; (bso#15316).
  * winbindd idmap child contacts the domain controller without a
    need; (bso#15317).
  * idmap_autorid may fail to map sids of trusted domains for the
    first time; (bso#15318).
  * idmap_hash doesn't use ID_TYPE_BOTH for reverse mappings;
    (bso#15319).
  * net ads search -P doesn't work against servers in other
    domains; (bso#15323).
  * Temporary smbXsrv_tcon_global.tdb can't be parsed;
    (bso#15353).
  * Tests use depricated and removed methods like
    assertRegexpMatches; (bso#15343).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1688644800">- Update to 4.18.4
  * Backport --pidl-developer fixes; (bso#15404).
  * Named crashes on DLZ zone update; (bso#14030).
  * smbcacls and smbcquotas do not check // before the server;
    (bso#2312).
  * cli_list loops 100% CPU against pre-lanman2 servers;
    (bso#15382).
  * smbclient leaks fds with showacls; (bso#15391).
  * smbd returns NOT_FOUND when creating files on a r/o
    filesystem; (bso#15402).
  * NSS_WRAPPER_HOSTNAME doesn't match NSS_WRAPPER_HOSTS entry
    and causes test timeouts; (bso#15355).
  * net ads lookup (with unspecified realm) fails; (bso#15384).
  * Register Samba processes with GPFS; (bso#15381).
  * Python tarfile extraction needs change to avoid a warning
    (CVE-2007-4559 mitigation); (bso#15390).
  * The winbind child segfaults when listing users with `winbind
    scan trusted domains = yes`; (bso#15398).
  * Remove comments about deprecated 'write cache size';
    (bso#15383).
  * smbget memory leak if failed to download files recursively;
    (bso#15403).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1689768000">- Update to 4.18.5
  * CVE-2022-2127: lm_resp_len not checked properly in
    winbindd_pam_auth_crap_send; (bso#15072); (bsc#1213174).
  * CVE-2023-34966: Samba Spotlight mdssvc RPC Request Infinite
    Loop Denial-of-Service Vulnerability; (bso#15340); (bsc#1213173).
  * CVE-2023-34967: Samba Spotlight mdssvc RPC Request Type
    Confusion Denial-of-Service Vulnerability; (bso#15341); (bsc#1213172).
  * CVE-2023-34968: Spotlight server-side Share Path Disclosure;
    (bso#15388); (bsc#1213171).
  * CVE-2023-3347: Samba doesn't require SMB2+ signing if
    `server signing = mandatory` is set; (bso#15397); (bsc#1213170).
  * secure channel faulty since Windows 10/11 update 07/2023;
    (bso#15418); (bsc#1213384).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1691496000">- Move libcluster-samba4.so from samba-libs to samba-client-libs;
  (bsc#1213940);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1692619200">- Update to 4.18.6
  * reply_sesssetup_and_X() can dereference uninitialized tmp pointer;
    (bso#15420);
  * Missing return in reply_exit_done(); (bso#15430);
  * post-exec password redaction for samba-tool is more reliable for fully
    random passwords as it no longer uses regular expressions containing the
    password value itself; (bso#15289);
  * Windows client join fails if a second container CN=System exists somewhere;
    (bso#9959);
  * Spotlight sometimes returns no results on latest macOS; (bso#15342);
  * Renaming results in NT_STATUS_SHARING_VIOLATION if previously attempted to
    remove the destination; (bso#15417);
  * Spotlight results return wrong date in result list; (bso#15427);
  * "net offlinejoin provision" does not work as non-root user; (bso#15414);
  * rpcserver no longer accepts double backslash in dfs pathname; (bso#15400);
  * cm_prepare_connection() calls close(fd) for the second time; (bso#15433);
  * 2-3min delays at reconnect with smb2_validate_sequence_number: bad
    message_id 2; (bso#15346);
  * samba-tool ntacl get segfault if aio_pthread appended; (bso#15441);
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed; (bso#15446);
  * Python tarfile extraction needs change to avoid a warning (CVE-2007-4559
    mitigation); (bso#15390);
  * Regression DFS not working with widelinks = true; (bso#15435);
  * mdssvc: Do an early talloc_free() in _mdssvc_open(); (bso#15449);</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1695729600">- Update to 4.19.0
  * File doesn't show when user doesn't have permission if
    aio_pthread is loaded; (bso#15453).
  * ctdb_killtcp fails to work with --enable-pcap and libpcap ≥
    1.9.1; (bso#15451).
  * Logging to stdout/stderr with DEBUG_SYSLOG_FORMAT_ALWAYS can
    log to syslog; (bso#15460).
  * ‘samba-tool domain level raise’ fails unless given a URL;
    (bso#15458).
  * reply_sesssetup_and_X() can dereference uninitialized tmp
    pointer; (bso#15420).
  * missing return in reply_exit_done(); (bso#15430).
  * TREE_CONNECT without SETUP causes smbd to use uninitialized
    pointer; (bso#15432).
  * Avoid infinite loop in initial user sync with Azure AD
    Connect when synchronising a large Samba AD domain;
    (bso#15401).
  * Samba replication logs show (null) DN; (bso#15407).
  * 2-3min delays at reconnect with
    smb2_validate_sequence_number: bad message_id 2; (bso#15346).
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed;
    (bso#15446).
  * CID 1539212 causes real issue when output contains only
    newlines; (bso#15438).
  * KDC encodes INT64 claims incorrectly; (bso#15452).
  * mdssvc: Do an early talloc_free() in _mdssvc_open();
    (bso#15449).
  * Windows client join fails if a second container CN=System
    exists somewhere; (bso#9959).
  * regression DFS not working with widelinks = true;
    (bso#15435).
  * Heimdal fails to build on 32-bit FreeBSD; (bso#15443).
  * samba-tool ntacl get segfault if aio_pthread appended;
    (bso#15441).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1696939200">- CVE-2023-4091: samba: Client can truncate file with read-only
  permissions; (bsc#1215904); (bso#15439).
- CVE-2023-42669: samba: rpcecho, enabled and running in AD DC,
  allows blocking sleep on request; (bso#1215905); (bso#15474).
- CVE-2023-42670: samba:  The procedure number is out of range
  when starting Active Directory Users and Computers;
  (bsc#1215906); (bso#15473).
- CVE-2023-3961: samba: Unsanitized client pipe name passed to
  local_np_connect(); (bsc#1215907); (bso#15422).
- CVE-2023-4154: samba: dirsync allows SYSTEM access with only
  "GUID_DRS_GET_CHANGES" right, not "GUID_DRS_GET_ALL_CHANGES;
  (bsc#1215908); (bso#15424).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112000">- use systemd-logind rather than utmp for y2038 safety;
  (bsc#1216159).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112001">- packaging: Remove /etc/slp.reg.d from samba spec file;
  (bsc#1216160)</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697457600">- Update to 4.19.2
  * Use-after-free in aio_del_req_from_fsp during smbd shutdown
    after failed IPC FSCTL_PIPE_TRANSCEIVE; (bso#15423).
  * clidfs.c do_connect() missing a "return" after a
    cli_shutdown() call; (bso#15426).
  * macOS mdfind returns only 50 results; (bso#15463).
  * GETREALFILENAME_CACHE can modify incoming new filename with
    previous cache entry value; (bso#15481).
  * libnss_winbind causes memory corruption since samba-4.18,
    impacts sendmail, zabbix, potentially more; (bso#15464).
  * ctdbd: setproctitle not initialized messages flooding logs;
    (bso#15479).
  * CVE-2023-5568 Heap buffer overflow with freshness tokens in
    the Heimdal KDC in Samba 4.19; (bso#15491).
  * The heimdal KDC doesn't detect s4u2self correctly when fast
    is in use; (bso#15477).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1698062400">- packaging: samba-tool domain provision requires python3-Markdown;
  (bsc#1216519).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1701086400">- Update to 4.19.3
  * sid_strings test broken by unix epoch &gt; 1700000000;
    (bso#15520).
  * smbd crashes if asked to return full information on close of
    a stream handle with delete on close disposition set;
    (bso#15487).
  * smbd: fix close order of base_fsp and stream_fsp in
    smb_fname_fsp_destructor(); (bso#15521).
  * Improve logging for failover scenarios; (bso#15499).
  * Files without "read attributes" NFS4 ACL permission are not
    listed in directories; (bso#15093).
  * CVE-2018-14628 [SECURITY] Deleted Object tombstones visible
    in AD LDAP to normal users; (bso#13595).
  * Kerberos TGS-REQ with User2User does not work for normal
    accounts; (bso#15492).
  * vfs_gpfs stat calls fail due to file system permissions;
    (bso#15507).
  * Samba doesn't build with Python 3.12; (bso#15513).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704801600">- Update to 4.19.4
  * net changesecretpw cannot set the machine account password if
    secrets.tdb is empty; (bso#13577).
  * For generating doc, take, if defined, env XML_CATALOG_FILES;
    (bso#15540).
  * Trivial C typo in nsswitch/winbind_nss_netbsd.c; (bso#15541).
  * vfs_linux_xfs is incorrectly named; (bso#15542).
  * systemd stumbled over copyright-message at smbd startup;
    (bso#15377).
  * Following intermediate abolute share-local symlinks is
    broken; (bso#15505).
  * ctdb RELEASE_IP causes a crash in release_ip if a connection
    to a non-public address disconnects first; (bso#15523).
  * shadow_copy2 broken when current fileset's directories are
    removed; (bso#15544).
  * smbd does not detect ctdb public ipv6 addresses for
    multichannel exclusion; (bso#15534).
  * 'force user = localunixuser' doesn't work if 'allow trusted
    domains = no' is set; (bso#15469).
  * smbget debug logging doesn't work; (bso#15525).
  * smget: username in the smburl and interactive password entry
    doesn't work; (bso#15532).
  * smbget auth function doesn't set values for password prompt
    correctly; (bso#15538).
  * Unable to copy and write files from clients to Ceph cluster
    via SMB Linux gateway with Ceph VFS module; (bso#15440).
  * Multichannel refresh network information; (bso#15547).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704888000">- Remove -x from bash shebang update-apparmor-samba-profile;
  (bsc#1218431).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1708430400">- Update to 4.19.5
  * Windows 2016 fails to restore previous version of a file from
    a shadow_copy2 snapshot; (bso#13688).
  * Symlinks on AIX are broken in 4.19 (and a few version before
    that); (bso#15549).
  * Fake directory create times has no effect; (bso#12421).
  * ctime mixed up with mtime by smbd; (bso#15550).
  * samba-gpupdate --rsop fails if machine is not in a site;
    (bso#15548).
  * gpupdate: The root cert import when NDES is not available is
    broken; (bso#15557).
  * samba-gpupdate should print a useful message if cepces-submit
    can't be found; (bso#15552).
  * samba-gpupdate logging doesn't work; (bso#15558).
  * smbpasswd reset permissions only if not 0600; (bso#15555).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1715860800">- Update to 4.20.1
  * dns update debug message is too noisy; (bso#15630);
  * Do not fail PAC validation for RFC8009 checksums types; (bso#15635);
  * Improve performance of lookup_groupmem() in idmap_ad; (bso#15605);
  * Smbcacls incorrectly propagates inheritance with Inherit-Only flag; (bso#15636);
  * http library doesn't support 'chunked transfer encoding'; (bso#15611);
  * Provide a systemd service file for the background queue daemon; (bso#15600);
- Update to 4.20.0
  New features:
  * samba-tool user getpassword / syncpasswords ;rounds= change
  * Group Managed service account client-side features
  * New Windows Search Protocol Client
  * Allow 'smbcacls' to save/restore DACLs to file
  * Samba-tool extensions for AD Claims, Authentication Policies and Silos
  * AD DC support for Authentication Silos and Authentication Policies
  * Conditional ACEs and Resource Attribute ACEs
  * Service Witness Protocol [MS-SWN]
  Removed features:
  * Get locally logged on users from utmp
  Fixed bugs:
  * Avoid null-dereference with bad claims; (bso#15606);
  * ndr_pull_security_ace can leave resource attribute ACE coda
    claim struct undefined; (bso#15613);
  * fd_handle_destructor() panics within an smbd_smb2_close() if
    vfs_stat_fsp() fails in fd_close(); (bso#15527);
  * set_nt_acl sometimes fails with NT_STATUS_INVALID_PARAMETER -
    openat() EACCES; (bso#15583);
  * libgpo: Segfault in python bindings; (bso#15599);
  * Samba AD is missing some authentication policy tests;
    (bso#15607);
  * samba-gpupdate: Correctly implement site support; (bso#15588);
  * Remove unsupported "Final" keyword missing from Python 3.6;
    (bso#15575);
  * Additional witness backports for 4.20.0; (bso#15577);
  * Error output with wspsearch; (bso#15579);
  * Packet marshalling push support missing for
    CTDB_CONTROL_TCP_CLIENT_DISCONNECTED and
    CTDB_CONTROL_TCP_CLIENT_PASSED; (bso#15580);
  * Performance regression for NDR parsing of security
    descriptors; (bso#15574);
  * Build and install man page for wspsearch client utility;
    (bso#15565);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1717416000">- Fix non deterministic builds; (bsc#1225754); (bso#13213);</changelog>
</package>
<package pkgid="b2d4918de95c989de98d1b21b00308dfb00f6b07842a28d7c8efaa993af8e8d264c3ed2b7c059d65314aa2ce983c6db10824e632b258556a617eaedd79a238f1" name="ctdb" arch="x86_64">
  <version epoch="0" ver="4.20.1+git.339.cf6e153bb2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1676376000">- Update to 4.17.5
  * smbc_getxattr() return value is incorrect; (bso#14808);
  * Compound SMB2 FLUSH+CLOSE requests from MacOSX are not handled
    correctly; (bso#15172);
  * synthetic_pathref AFP_AfpInfo failed errors; (bso#15210);
  * samba-tool gpo listall fails IPv6 only - finddcs() fails to find DC
    when there is only an AAAA record for the DC in DNS; (bso#15226);
  * smbd crashes if an FSCTL request is done on a stream handle; (bso#15236);
  * DFS links don't work anymore on Mac clients since 4.17; (bso#15277);
  * vfs_virusfilter segfault on access, directory edgecase
    (accessing NULL value); (bso#15283);
  * CVE-2022-38023 [SECURITY] Samba should refuse RC4 (aka md5) based
    SChannel on NETLOGON (additional changes); (bso#15240);
  * %U for include directive doesn't work for share listing
    (netshareenum); (bso#15243);
  * Shares missing from netshareenum response in samba 4.17.4;
    (bso#15266);
  * ctdb: use-after-free in run_proc; (bso#15269);
  * irpc_destructor may crash during shutdown; (bso#15280);
  * auth3_generate_session_info_pac leaks wbcAuthUserInfo; (bso#15286);
  * smbclient segfaults with use after free on an optimized build;
    (bso#15268);
  * smbstatus leaking files in msg.sock and msg.lock; (bso#15282);
  * Leak in wbcCtxPingDc2; (bso#15164);
  * Access based share enum does not work in Samba 4.16+; (bso#15265);
  * Crash during share enumeration; (bso#15267);
  * rep_listxattr on FreeBSD does not properly check for reads off
    end of returned buffer; (bso#15271);
  * Avoid relying on C89 features in a few places; (bso#15281);
- named crashes on DLZ zone update; (bso#14030); (bsc#1206996);
- Drop libnsl build requirement; (bsc#1208220);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1679054400">- Update to 4.18.0
  * SMB server performance improvements
  * More succinct samba-tool error messages
  * Color output with samba-tool --color
    The NO_COLOR environment variable will disable colour output
  * New samba-tool dsacl subcommand for deleting ACEs
  * New wbinfo option --change-secret-at
  * Net option to change the NT ACL default location
  * Azure AD / Office365 synchronization improvements</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1680091200">- Update to 4.18.1
  * CVE-2023-0225: AD DC "dnsHostname" attribute can be
    deleted by unprivileged authenticated users.
    (bso#15276);(bsc#1209483).
  * CVE-2023-0614: Access controlled AD LDAP attributes can be
    discovered  (bso#15270); (bsc#1209485).
  * CVE-2023-0922: Samba AD DC admin tool samba-tool sends
    passwords in cleartext(bso#15315);(bsc#1209481).
  * ldb wildcard matching makes excessive allocations;
    (bso#15331).
  * large_ldap test is inefficient; (bso#15332).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1685620800">- Update to 4.18.3
  * Symlinks to files can have random DOS mode information in a
    directory listing; (bso#15375).
  * vfs_fruit might cause a failing open for delete; (bso#15378).
  * winbind recurses into itself via rpcd_lsad; (bso#15361).
  * wbinfo -u fails on ad dc with &gt;1000 users; (bso#15366).
  * DS ACEs might be inherited to unrelated object classes;
    (bso#15338).
  * a lot of messages: get_static_share_mode_data:
    get_static_share_mode_data_fn failed: NT_STATUS_NOT_FOUND;
    (bso#15362).
  * aes256 smb3 encryption algorithms are not allowed in
    smb3_sid_parse(); (bso#15374).
  * Setting veto files = /.*/ break listing directories;
    (bso#15360).
  * "samba-tool domain provision" does not run interactive mode
    if no arguments are given; (bso#15363).
  * dsgetdcname: assumes local system uses IPv4; (bso#15325).
- Update to 4.18.2
  * Log flood: smbd_calculate_access_mask_fsp: Access denied:
    message level should be lower; (bso#15302).
  * Floating point exception (FPE) via cli_pull_send at
    source3/libsmb/clireadwrite.c; (bso#15306).
  * test_tstream_more_tcp_user_timeout_spin fails intermittently
    on Rackspace GitLab runners; (bso#15328).
  * Reduce flapping of ridalloc test; (bso#15329).
  * large_ldap test is unreliable; (bso#15351).
  * New filename parser doesn't check veto files smb.conf
    parameter; (bso#15143).
  * mdssvc may crash when initializing; (bso#15354).
  * large directory optimization broken for non-lcomp path
    elements; (bso#15313).
  * streams_depot fails to create streams; (bso#15357).
  * shadow_copy2 and streams_depot don't play well together;
    (bso#15358).
  * Flapping tests in samba_tool_drs_show_repl.py; (bso#15316).
  * winbindd idmap child contacts the domain controller without a
    need; (bso#15317).
  * idmap_autorid may fail to map sids of trusted domains for the
    first time; (bso#15318).
  * idmap_hash doesn't use ID_TYPE_BOTH for reverse mappings;
    (bso#15319).
  * net ads search -P doesn't work against servers in other
    domains; (bso#15323).
  * Temporary smbXsrv_tcon_global.tdb can't be parsed;
    (bso#15353).
  * Tests use depricated and removed methods like
    assertRegexpMatches; (bso#15343).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1688644800">- Update to 4.18.4
  * Backport --pidl-developer fixes; (bso#15404).
  * Named crashes on DLZ zone update; (bso#14030).
  * smbcacls and smbcquotas do not check // before the server;
    (bso#2312).
  * cli_list loops 100% CPU against pre-lanman2 servers;
    (bso#15382).
  * smbclient leaks fds with showacls; (bso#15391).
  * smbd returns NOT_FOUND when creating files on a r/o
    filesystem; (bso#15402).
  * NSS_WRAPPER_HOSTNAME doesn't match NSS_WRAPPER_HOSTS entry
    and causes test timeouts; (bso#15355).
  * net ads lookup (with unspecified realm) fails; (bso#15384).
  * Register Samba processes with GPFS; (bso#15381).
  * Python tarfile extraction needs change to avoid a warning
    (CVE-2007-4559 mitigation); (bso#15390).
  * The winbind child segfaults when listing users with `winbind
    scan trusted domains = yes`; (bso#15398).
  * Remove comments about deprecated 'write cache size';
    (bso#15383).
  * smbget memory leak if failed to download files recursively;
    (bso#15403).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1689768000">- Update to 4.18.5
  * CVE-2022-2127: lm_resp_len not checked properly in
    winbindd_pam_auth_crap_send; (bso#15072); (bsc#1213174).
  * CVE-2023-34966: Samba Spotlight mdssvc RPC Request Infinite
    Loop Denial-of-Service Vulnerability; (bso#15340); (bsc#1213173).
  * CVE-2023-34967: Samba Spotlight mdssvc RPC Request Type
    Confusion Denial-of-Service Vulnerability; (bso#15341); (bsc#1213172).
  * CVE-2023-34968: Spotlight server-side Share Path Disclosure;
    (bso#15388); (bsc#1213171).
  * CVE-2023-3347: Samba doesn't require SMB2+ signing if
    `server signing = mandatory` is set; (bso#15397); (bsc#1213170).
  * secure channel faulty since Windows 10/11 update 07/2023;
    (bso#15418); (bsc#1213384).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1691496000">- Move libcluster-samba4.so from samba-libs to samba-client-libs;
  (bsc#1213940);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1692619200">- Update to 4.18.6
  * reply_sesssetup_and_X() can dereference uninitialized tmp pointer;
    (bso#15420);
  * Missing return in reply_exit_done(); (bso#15430);
  * post-exec password redaction for samba-tool is more reliable for fully
    random passwords as it no longer uses regular expressions containing the
    password value itself; (bso#15289);
  * Windows client join fails if a second container CN=System exists somewhere;
    (bso#9959);
  * Spotlight sometimes returns no results on latest macOS; (bso#15342);
  * Renaming results in NT_STATUS_SHARING_VIOLATION if previously attempted to
    remove the destination; (bso#15417);
  * Spotlight results return wrong date in result list; (bso#15427);
  * "net offlinejoin provision" does not work as non-root user; (bso#15414);
  * rpcserver no longer accepts double backslash in dfs pathname; (bso#15400);
  * cm_prepare_connection() calls close(fd) for the second time; (bso#15433);
  * 2-3min delays at reconnect with smb2_validate_sequence_number: bad
    message_id 2; (bso#15346);
  * samba-tool ntacl get segfault if aio_pthread appended; (bso#15441);
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed; (bso#15446);
  * Python tarfile extraction needs change to avoid a warning (CVE-2007-4559
    mitigation); (bso#15390);
  * Regression DFS not working with widelinks = true; (bso#15435);
  * mdssvc: Do an early talloc_free() in _mdssvc_open(); (bso#15449);</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1695729600">- Update to 4.19.0
  * File doesn't show when user doesn't have permission if
    aio_pthread is loaded; (bso#15453).
  * ctdb_killtcp fails to work with --enable-pcap and libpcap ≥
    1.9.1; (bso#15451).
  * Logging to stdout/stderr with DEBUG_SYSLOG_FORMAT_ALWAYS can
    log to syslog; (bso#15460).
  * ‘samba-tool domain level raise’ fails unless given a URL;
    (bso#15458).
  * reply_sesssetup_and_X() can dereference uninitialized tmp
    pointer; (bso#15420).
  * missing return in reply_exit_done(); (bso#15430).
  * TREE_CONNECT without SETUP causes smbd to use uninitialized
    pointer; (bso#15432).
  * Avoid infinite loop in initial user sync with Azure AD
    Connect when synchronising a large Samba AD domain;
    (bso#15401).
  * Samba replication logs show (null) DN; (bso#15407).
  * 2-3min delays at reconnect with
    smb2_validate_sequence_number: bad message_id 2; (bso#15346).
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed;
    (bso#15446).
  * CID 1539212 causes real issue when output contains only
    newlines; (bso#15438).
  * KDC encodes INT64 claims incorrectly; (bso#15452).
  * mdssvc: Do an early talloc_free() in _mdssvc_open();
    (bso#15449).
  * Windows client join fails if a second container CN=System
    exists somewhere; (bso#9959).
  * regression DFS not working with widelinks = true;
    (bso#15435).
  * Heimdal fails to build on 32-bit FreeBSD; (bso#15443).
  * samba-tool ntacl get segfault if aio_pthread appended;
    (bso#15441).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1696939200">- CVE-2023-4091: samba: Client can truncate file with read-only
  permissions; (bsc#1215904); (bso#15439).
- CVE-2023-42669: samba: rpcecho, enabled and running in AD DC,
  allows blocking sleep on request; (bso#1215905); (bso#15474).
- CVE-2023-42670: samba:  The procedure number is out of range
  when starting Active Directory Users and Computers;
  (bsc#1215906); (bso#15473).
- CVE-2023-3961: samba: Unsanitized client pipe name passed to
  local_np_connect(); (bsc#1215907); (bso#15422).
- CVE-2023-4154: samba: dirsync allows SYSTEM access with only
  "GUID_DRS_GET_CHANGES" right, not "GUID_DRS_GET_ALL_CHANGES;
  (bsc#1215908); (bso#15424).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112000">- use systemd-logind rather than utmp for y2038 safety;
  (bsc#1216159).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112001">- packaging: Remove /etc/slp.reg.d from samba spec file;
  (bsc#1216160)</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697457600">- Update to 4.19.2
  * Use-after-free in aio_del_req_from_fsp during smbd shutdown
    after failed IPC FSCTL_PIPE_TRANSCEIVE; (bso#15423).
  * clidfs.c do_connect() missing a "return" after a
    cli_shutdown() call; (bso#15426).
  * macOS mdfind returns only 50 results; (bso#15463).
  * GETREALFILENAME_CACHE can modify incoming new filename with
    previous cache entry value; (bso#15481).
  * libnss_winbind causes memory corruption since samba-4.18,
    impacts sendmail, zabbix, potentially more; (bso#15464).
  * ctdbd: setproctitle not initialized messages flooding logs;
    (bso#15479).
  * CVE-2023-5568 Heap buffer overflow with freshness tokens in
    the Heimdal KDC in Samba 4.19; (bso#15491).
  * The heimdal KDC doesn't detect s4u2self correctly when fast
    is in use; (bso#15477).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1698062400">- packaging: samba-tool domain provision requires python3-Markdown;
  (bsc#1216519).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1701086400">- Update to 4.19.3
  * sid_strings test broken by unix epoch &gt; 1700000000;
    (bso#15520).
  * smbd crashes if asked to return full information on close of
    a stream handle with delete on close disposition set;
    (bso#15487).
  * smbd: fix close order of base_fsp and stream_fsp in
    smb_fname_fsp_destructor(); (bso#15521).
  * Improve logging for failover scenarios; (bso#15499).
  * Files without "read attributes" NFS4 ACL permission are not
    listed in directories; (bso#15093).
  * CVE-2018-14628 [SECURITY] Deleted Object tombstones visible
    in AD LDAP to normal users; (bso#13595).
  * Kerberos TGS-REQ with User2User does not work for normal
    accounts; (bso#15492).
  * vfs_gpfs stat calls fail due to file system permissions;
    (bso#15507).
  * Samba doesn't build with Python 3.12; (bso#15513).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704801600">- Update to 4.19.4
  * net changesecretpw cannot set the machine account password if
    secrets.tdb is empty; (bso#13577).
  * For generating doc, take, if defined, env XML_CATALOG_FILES;
    (bso#15540).
  * Trivial C typo in nsswitch/winbind_nss_netbsd.c; (bso#15541).
  * vfs_linux_xfs is incorrectly named; (bso#15542).
  * systemd stumbled over copyright-message at smbd startup;
    (bso#15377).
  * Following intermediate abolute share-local symlinks is
    broken; (bso#15505).
  * ctdb RELEASE_IP causes a crash in release_ip if a connection
    to a non-public address disconnects first; (bso#15523).
  * shadow_copy2 broken when current fileset's directories are
    removed; (bso#15544).
  * smbd does not detect ctdb public ipv6 addresses for
    multichannel exclusion; (bso#15534).
  * 'force user = localunixuser' doesn't work if 'allow trusted
    domains = no' is set; (bso#15469).
  * smbget debug logging doesn't work; (bso#15525).
  * smget: username in the smburl and interactive password entry
    doesn't work; (bso#15532).
  * smbget auth function doesn't set values for password prompt
    correctly; (bso#15538).
  * Unable to copy and write files from clients to Ceph cluster
    via SMB Linux gateway with Ceph VFS module; (bso#15440).
  * Multichannel refresh network information; (bso#15547).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704888000">- Remove -x from bash shebang update-apparmor-samba-profile;
  (bsc#1218431).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1708430400">- Update to 4.19.5
  * Windows 2016 fails to restore previous version of a file from
    a shadow_copy2 snapshot; (bso#13688).
  * Symlinks on AIX are broken in 4.19 (and a few version before
    that); (bso#15549).
  * Fake directory create times has no effect; (bso#12421).
  * ctime mixed up with mtime by smbd; (bso#15550).
  * samba-gpupdate --rsop fails if machine is not in a site;
    (bso#15548).
  * gpupdate: The root cert import when NDES is not available is
    broken; (bso#15557).
  * samba-gpupdate should print a useful message if cepces-submit
    can't be found; (bso#15552).
  * samba-gpupdate logging doesn't work; (bso#15558).
  * smbpasswd reset permissions only if not 0600; (bso#15555).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1715860800">- Update to 4.20.1
  * dns update debug message is too noisy; (bso#15630);
  * Do not fail PAC validation for RFC8009 checksums types; (bso#15635);
  * Improve performance of lookup_groupmem() in idmap_ad; (bso#15605);
  * Smbcacls incorrectly propagates inheritance with Inherit-Only flag; (bso#15636);
  * http library doesn't support 'chunked transfer encoding'; (bso#15611);
  * Provide a systemd service file for the background queue daemon; (bso#15600);
- Update to 4.20.0
  New features:
  * samba-tool user getpassword / syncpasswords ;rounds= change
  * Group Managed service account client-side features
  * New Windows Search Protocol Client
  * Allow 'smbcacls' to save/restore DACLs to file
  * Samba-tool extensions for AD Claims, Authentication Policies and Silos
  * AD DC support for Authentication Silos and Authentication Policies
  * Conditional ACEs and Resource Attribute ACEs
  * Service Witness Protocol [MS-SWN]
  Removed features:
  * Get locally logged on users from utmp
  Fixed bugs:
  * Avoid null-dereference with bad claims; (bso#15606);
  * ndr_pull_security_ace can leave resource attribute ACE coda
    claim struct undefined; (bso#15613);
  * fd_handle_destructor() panics within an smbd_smb2_close() if
    vfs_stat_fsp() fails in fd_close(); (bso#15527);
  * set_nt_acl sometimes fails with NT_STATUS_INVALID_PARAMETER -
    openat() EACCES; (bso#15583);
  * libgpo: Segfault in python bindings; (bso#15599);
  * Samba AD is missing some authentication policy tests;
    (bso#15607);
  * samba-gpupdate: Correctly implement site support; (bso#15588);
  * Remove unsupported "Final" keyword missing from Python 3.6;
    (bso#15575);
  * Additional witness backports for 4.20.0; (bso#15577);
  * Error output with wspsearch; (bso#15579);
  * Packet marshalling push support missing for
    CTDB_CONTROL_TCP_CLIENT_DISCONNECTED and
    CTDB_CONTROL_TCP_CLIENT_PASSED; (bso#15580);
  * Performance regression for NDR parsing of security
    descriptors; (bso#15574);
  * Build and install man page for wspsearch client utility;
    (bso#15565);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1717416000">- Fix non deterministic builds; (bsc#1225754); (bso#13213);</changelog>
</package>
<package pkgid="fe9213ab2498c57caaf55e7ac21f4a1e91be6ff8c905c9e316247f5b75657acbeb20cd96d984c632d4fb0390570a4c684df36dc5112b570c4fc6bfa22af423a1" name="ctdb-debuginfo" arch="i586">
  <version epoch="0" ver="4.20.1+git.339.cf6e153bb2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1676376000">- Update to 4.17.5
  * smbc_getxattr() return value is incorrect; (bso#14808);
  * Compound SMB2 FLUSH+CLOSE requests from MacOSX are not handled
    correctly; (bso#15172);
  * synthetic_pathref AFP_AfpInfo failed errors; (bso#15210);
  * samba-tool gpo listall fails IPv6 only - finddcs() fails to find DC
    when there is only an AAAA record for the DC in DNS; (bso#15226);
  * smbd crashes if an FSCTL request is done on a stream handle; (bso#15236);
  * DFS links don't work anymore on Mac clients since 4.17; (bso#15277);
  * vfs_virusfilter segfault on access, directory edgecase
    (accessing NULL value); (bso#15283);
  * CVE-2022-38023 [SECURITY] Samba should refuse RC4 (aka md5) based
    SChannel on NETLOGON (additional changes); (bso#15240);
  * %U for include directive doesn't work for share listing
    (netshareenum); (bso#15243);
  * Shares missing from netshareenum response in samba 4.17.4;
    (bso#15266);
  * ctdb: use-after-free in run_proc; (bso#15269);
  * irpc_destructor may crash during shutdown; (bso#15280);
  * auth3_generate_session_info_pac leaks wbcAuthUserInfo; (bso#15286);
  * smbclient segfaults with use after free on an optimized build;
    (bso#15268);
  * smbstatus leaking files in msg.sock and msg.lock; (bso#15282);
  * Leak in wbcCtxPingDc2; (bso#15164);
  * Access based share enum does not work in Samba 4.16+; (bso#15265);
  * Crash during share enumeration; (bso#15267);
  * rep_listxattr on FreeBSD does not properly check for reads off
    end of returned buffer; (bso#15271);
  * Avoid relying on C89 features in a few places; (bso#15281);
- named crashes on DLZ zone update; (bso#14030); (bsc#1206996);
- Drop libnsl build requirement; (bsc#1208220);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1679054400">- Update to 4.18.0
  * SMB server performance improvements
  * More succinct samba-tool error messages
  * Color output with samba-tool --color
    The NO_COLOR environment variable will disable colour output
  * New samba-tool dsacl subcommand for deleting ACEs
  * New wbinfo option --change-secret-at
  * Net option to change the NT ACL default location
  * Azure AD / Office365 synchronization improvements</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1680091200">- Update to 4.18.1
  * CVE-2023-0225: AD DC "dnsHostname" attribute can be
    deleted by unprivileged authenticated users.
    (bso#15276);(bsc#1209483).
  * CVE-2023-0614: Access controlled AD LDAP attributes can be
    discovered  (bso#15270); (bsc#1209485).
  * CVE-2023-0922: Samba AD DC admin tool samba-tool sends
    passwords in cleartext(bso#15315);(bsc#1209481).
  * ldb wildcard matching makes excessive allocations;
    (bso#15331).
  * large_ldap test is inefficient; (bso#15332).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1685620800">- Update to 4.18.3
  * Symlinks to files can have random DOS mode information in a
    directory listing; (bso#15375).
  * vfs_fruit might cause a failing open for delete; (bso#15378).
  * winbind recurses into itself via rpcd_lsad; (bso#15361).
  * wbinfo -u fails on ad dc with &gt;1000 users; (bso#15366).
  * DS ACEs might be inherited to unrelated object classes;
    (bso#15338).
  * a lot of messages: get_static_share_mode_data:
    get_static_share_mode_data_fn failed: NT_STATUS_NOT_FOUND;
    (bso#15362).
  * aes256 smb3 encryption algorithms are not allowed in
    smb3_sid_parse(); (bso#15374).
  * Setting veto files = /.*/ break listing directories;
    (bso#15360).
  * "samba-tool domain provision" does not run interactive mode
    if no arguments are given; (bso#15363).
  * dsgetdcname: assumes local system uses IPv4; (bso#15325).
- Update to 4.18.2
  * Log flood: smbd_calculate_access_mask_fsp: Access denied:
    message level should be lower; (bso#15302).
  * Floating point exception (FPE) via cli_pull_send at
    source3/libsmb/clireadwrite.c; (bso#15306).
  * test_tstream_more_tcp_user_timeout_spin fails intermittently
    on Rackspace GitLab runners; (bso#15328).
  * Reduce flapping of ridalloc test; (bso#15329).
  * large_ldap test is unreliable; (bso#15351).
  * New filename parser doesn't check veto files smb.conf
    parameter; (bso#15143).
  * mdssvc may crash when initializing; (bso#15354).
  * large directory optimization broken for non-lcomp path
    elements; (bso#15313).
  * streams_depot fails to create streams; (bso#15357).
  * shadow_copy2 and streams_depot don't play well together;
    (bso#15358).
  * Flapping tests in samba_tool_drs_show_repl.py; (bso#15316).
  * winbindd idmap child contacts the domain controller without a
    need; (bso#15317).
  * idmap_autorid may fail to map sids of trusted domains for the
    first time; (bso#15318).
  * idmap_hash doesn't use ID_TYPE_BOTH for reverse mappings;
    (bso#15319).
  * net ads search -P doesn't work against servers in other
    domains; (bso#15323).
  * Temporary smbXsrv_tcon_global.tdb can't be parsed;
    (bso#15353).
  * Tests use depricated and removed methods like
    assertRegexpMatches; (bso#15343).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1688644800">- Update to 4.18.4
  * Backport --pidl-developer fixes; (bso#15404).
  * Named crashes on DLZ zone update; (bso#14030).
  * smbcacls and smbcquotas do not check // before the server;
    (bso#2312).
  * cli_list loops 100% CPU against pre-lanman2 servers;
    (bso#15382).
  * smbclient leaks fds with showacls; (bso#15391).
  * smbd returns NOT_FOUND when creating files on a r/o
    filesystem; (bso#15402).
  * NSS_WRAPPER_HOSTNAME doesn't match NSS_WRAPPER_HOSTS entry
    and causes test timeouts; (bso#15355).
  * net ads lookup (with unspecified realm) fails; (bso#15384).
  * Register Samba processes with GPFS; (bso#15381).
  * Python tarfile extraction needs change to avoid a warning
    (CVE-2007-4559 mitigation); (bso#15390).
  * The winbind child segfaults when listing users with `winbind
    scan trusted domains = yes`; (bso#15398).
  * Remove comments about deprecated 'write cache size';
    (bso#15383).
  * smbget memory leak if failed to download files recursively;
    (bso#15403).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1689768000">- Update to 4.18.5
  * CVE-2022-2127: lm_resp_len not checked properly in
    winbindd_pam_auth_crap_send; (bso#15072); (bsc#1213174).
  * CVE-2023-34966: Samba Spotlight mdssvc RPC Request Infinite
    Loop Denial-of-Service Vulnerability; (bso#15340); (bsc#1213173).
  * CVE-2023-34967: Samba Spotlight mdssvc RPC Request Type
    Confusion Denial-of-Service Vulnerability; (bso#15341); (bsc#1213172).
  * CVE-2023-34968: Spotlight server-side Share Path Disclosure;
    (bso#15388); (bsc#1213171).
  * CVE-2023-3347: Samba doesn't require SMB2+ signing if
    `server signing = mandatory` is set; (bso#15397); (bsc#1213170).
  * secure channel faulty since Windows 10/11 update 07/2023;
    (bso#15418); (bsc#1213384).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1691496000">- Move libcluster-samba4.so from samba-libs to samba-client-libs;
  (bsc#1213940);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1692619200">- Update to 4.18.6
  * reply_sesssetup_and_X() can dereference uninitialized tmp pointer;
    (bso#15420);
  * Missing return in reply_exit_done(); (bso#15430);
  * post-exec password redaction for samba-tool is more reliable for fully
    random passwords as it no longer uses regular expressions containing the
    password value itself; (bso#15289);
  * Windows client join fails if a second container CN=System exists somewhere;
    (bso#9959);
  * Spotlight sometimes returns no results on latest macOS; (bso#15342);
  * Renaming results in NT_STATUS_SHARING_VIOLATION if previously attempted to
    remove the destination; (bso#15417);
  * Spotlight results return wrong date in result list; (bso#15427);
  * "net offlinejoin provision" does not work as non-root user; (bso#15414);
  * rpcserver no longer accepts double backslash in dfs pathname; (bso#15400);
  * cm_prepare_connection() calls close(fd) for the second time; (bso#15433);
  * 2-3min delays at reconnect with smb2_validate_sequence_number: bad
    message_id 2; (bso#15346);
  * samba-tool ntacl get segfault if aio_pthread appended; (bso#15441);
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed; (bso#15446);
  * Python tarfile extraction needs change to avoid a warning (CVE-2007-4559
    mitigation); (bso#15390);
  * Regression DFS not working with widelinks = true; (bso#15435);
  * mdssvc: Do an early talloc_free() in _mdssvc_open(); (bso#15449);</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1695729600">- Update to 4.19.0
  * File doesn't show when user doesn't have permission if
    aio_pthread is loaded; (bso#15453).
  * ctdb_killtcp fails to work with --enable-pcap and libpcap ≥
    1.9.1; (bso#15451).
  * Logging to stdout/stderr with DEBUG_SYSLOG_FORMAT_ALWAYS can
    log to syslog; (bso#15460).
  * ‘samba-tool domain level raise’ fails unless given a URL;
    (bso#15458).
  * reply_sesssetup_and_X() can dereference uninitialized tmp
    pointer; (bso#15420).
  * missing return in reply_exit_done(); (bso#15430).
  * TREE_CONNECT without SETUP causes smbd to use uninitialized
    pointer; (bso#15432).
  * Avoid infinite loop in initial user sync with Azure AD
    Connect when synchronising a large Samba AD domain;
    (bso#15401).
  * Samba replication logs show (null) DN; (bso#15407).
  * 2-3min delays at reconnect with
    smb2_validate_sequence_number: bad message_id 2; (bso#15346).
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed;
    (bso#15446).
  * CID 1539212 causes real issue when output contains only
    newlines; (bso#15438).
  * KDC encodes INT64 claims incorrectly; (bso#15452).
  * mdssvc: Do an early talloc_free() in _mdssvc_open();
    (bso#15449).
  * Windows client join fails if a second container CN=System
    exists somewhere; (bso#9959).
  * regression DFS not working with widelinks = true;
    (bso#15435).
  * Heimdal fails to build on 32-bit FreeBSD; (bso#15443).
  * samba-tool ntacl get segfault if aio_pthread appended;
    (bso#15441).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1696939200">- CVE-2023-4091: samba: Client can truncate file with read-only
  permissions; (bsc#1215904); (bso#15439).
- CVE-2023-42669: samba: rpcecho, enabled and running in AD DC,
  allows blocking sleep on request; (bso#1215905); (bso#15474).
- CVE-2023-42670: samba:  The procedure number is out of range
  when starting Active Directory Users and Computers;
  (bsc#1215906); (bso#15473).
- CVE-2023-3961: samba: Unsanitized client pipe name passed to
  local_np_connect(); (bsc#1215907); (bso#15422).
- CVE-2023-4154: samba: dirsync allows SYSTEM access with only
  "GUID_DRS_GET_CHANGES" right, not "GUID_DRS_GET_ALL_CHANGES;
  (bsc#1215908); (bso#15424).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112000">- use systemd-logind rather than utmp for y2038 safety;
  (bsc#1216159).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112001">- packaging: Remove /etc/slp.reg.d from samba spec file;
  (bsc#1216160)</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697457600">- Update to 4.19.2
  * Use-after-free in aio_del_req_from_fsp during smbd shutdown
    after failed IPC FSCTL_PIPE_TRANSCEIVE; (bso#15423).
  * clidfs.c do_connect() missing a "return" after a
    cli_shutdown() call; (bso#15426).
  * macOS mdfind returns only 50 results; (bso#15463).
  * GETREALFILENAME_CACHE can modify incoming new filename with
    previous cache entry value; (bso#15481).
  * libnss_winbind causes memory corruption since samba-4.18,
    impacts sendmail, zabbix, potentially more; (bso#15464).
  * ctdbd: setproctitle not initialized messages flooding logs;
    (bso#15479).
  * CVE-2023-5568 Heap buffer overflow with freshness tokens in
    the Heimdal KDC in Samba 4.19; (bso#15491).
  * The heimdal KDC doesn't detect s4u2self correctly when fast
    is in use; (bso#15477).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1698062400">- packaging: samba-tool domain provision requires python3-Markdown;
  (bsc#1216519).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1701086400">- Update to 4.19.3
  * sid_strings test broken by unix epoch &gt; 1700000000;
    (bso#15520).
  * smbd crashes if asked to return full information on close of
    a stream handle with delete on close disposition set;
    (bso#15487).
  * smbd: fix close order of base_fsp and stream_fsp in
    smb_fname_fsp_destructor(); (bso#15521).
  * Improve logging for failover scenarios; (bso#15499).
  * Files without "read attributes" NFS4 ACL permission are not
    listed in directories; (bso#15093).
  * CVE-2018-14628 [SECURITY] Deleted Object tombstones visible
    in AD LDAP to normal users; (bso#13595).
  * Kerberos TGS-REQ with User2User does not work for normal
    accounts; (bso#15492).
  * vfs_gpfs stat calls fail due to file system permissions;
    (bso#15507).
  * Samba doesn't build with Python 3.12; (bso#15513).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704801600">- Update to 4.19.4
  * net changesecretpw cannot set the machine account password if
    secrets.tdb is empty; (bso#13577).
  * For generating doc, take, if defined, env XML_CATALOG_FILES;
    (bso#15540).
  * Trivial C typo in nsswitch/winbind_nss_netbsd.c; (bso#15541).
  * vfs_linux_xfs is incorrectly named; (bso#15542).
  * systemd stumbled over copyright-message at smbd startup;
    (bso#15377).
  * Following intermediate abolute share-local symlinks is
    broken; (bso#15505).
  * ctdb RELEASE_IP causes a crash in release_ip if a connection
    to a non-public address disconnects first; (bso#15523).
  * shadow_copy2 broken when current fileset's directories are
    removed; (bso#15544).
  * smbd does not detect ctdb public ipv6 addresses for
    multichannel exclusion; (bso#15534).
  * 'force user = localunixuser' doesn't work if 'allow trusted
    domains = no' is set; (bso#15469).
  * smbget debug logging doesn't work; (bso#15525).
  * smget: username in the smburl and interactive password entry
    doesn't work; (bso#15532).
  * smbget auth function doesn't set values for password prompt
    correctly; (bso#15538).
  * Unable to copy and write files from clients to Ceph cluster
    via SMB Linux gateway with Ceph VFS module; (bso#15440).
  * Multichannel refresh network information; (bso#15547).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704888000">- Remove -x from bash shebang update-apparmor-samba-profile;
  (bsc#1218431).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1708430400">- Update to 4.19.5
  * Windows 2016 fails to restore previous version of a file from
    a shadow_copy2 snapshot; (bso#13688).
  * Symlinks on AIX are broken in 4.19 (and a few version before
    that); (bso#15549).
  * Fake directory create times has no effect; (bso#12421).
  * ctime mixed up with mtime by smbd; (bso#15550).
  * samba-gpupdate --rsop fails if machine is not in a site;
    (bso#15548).
  * gpupdate: The root cert import when NDES is not available is
    broken; (bso#15557).
  * samba-gpupdate should print a useful message if cepces-submit
    can't be found; (bso#15552).
  * samba-gpupdate logging doesn't work; (bso#15558).
  * smbpasswd reset permissions only if not 0600; (bso#15555).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1715860800">- Update to 4.20.1
  * dns update debug message is too noisy; (bso#15630);
  * Do not fail PAC validation for RFC8009 checksums types; (bso#15635);
  * Improve performance of lookup_groupmem() in idmap_ad; (bso#15605);
  * Smbcacls incorrectly propagates inheritance with Inherit-Only flag; (bso#15636);
  * http library doesn't support 'chunked transfer encoding'; (bso#15611);
  * Provide a systemd service file for the background queue daemon; (bso#15600);
- Update to 4.20.0
  New features:
  * samba-tool user getpassword / syncpasswords ;rounds= change
  * Group Managed service account client-side features
  * New Windows Search Protocol Client
  * Allow 'smbcacls' to save/restore DACLs to file
  * Samba-tool extensions for AD Claims, Authentication Policies and Silos
  * AD DC support for Authentication Silos and Authentication Policies
  * Conditional ACEs and Resource Attribute ACEs
  * Service Witness Protocol [MS-SWN]
  Removed features:
  * Get locally logged on users from utmp
  Fixed bugs:
  * Avoid null-dereference with bad claims; (bso#15606);
  * ndr_pull_security_ace can leave resource attribute ACE coda
    claim struct undefined; (bso#15613);
  * fd_handle_destructor() panics within an smbd_smb2_close() if
    vfs_stat_fsp() fails in fd_close(); (bso#15527);
  * set_nt_acl sometimes fails with NT_STATUS_INVALID_PARAMETER -
    openat() EACCES; (bso#15583);
  * libgpo: Segfault in python bindings; (bso#15599);
  * Samba AD is missing some authentication policy tests;
    (bso#15607);
  * samba-gpupdate: Correctly implement site support; (bso#15588);
  * Remove unsupported "Final" keyword missing from Python 3.6;
    (bso#15575);
  * Additional witness backports for 4.20.0; (bso#15577);
  * Error output with wspsearch; (bso#15579);
  * Packet marshalling push support missing for
    CTDB_CONTROL_TCP_CLIENT_DISCONNECTED and
    CTDB_CONTROL_TCP_CLIENT_PASSED; (bso#15580);
  * Performance regression for NDR parsing of security
    descriptors; (bso#15574);
  * Build and install man page for wspsearch client utility;
    (bso#15565);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1717416000">- Fix non deterministic builds; (bsc#1225754); (bso#13213);</changelog>
</package>
<package pkgid="9317345fa987037deaf8da43cd0ba8c9976a390199ce74672224aa2811685fe4147de9b4ef5a5ea935a092253dd9327385b8b3e21f6c608b296fce66769c016c" name="ctdb-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.20.1+git.339.cf6e153bb2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1676376000">- Update to 4.17.5
  * smbc_getxattr() return value is incorrect; (bso#14808);
  * Compound SMB2 FLUSH+CLOSE requests from MacOSX are not handled
    correctly; (bso#15172);
  * synthetic_pathref AFP_AfpInfo failed errors; (bso#15210);
  * samba-tool gpo listall fails IPv6 only - finddcs() fails to find DC
    when there is only an AAAA record for the DC in DNS; (bso#15226);
  * smbd crashes if an FSCTL request is done on a stream handle; (bso#15236);
  * DFS links don't work anymore on Mac clients since 4.17; (bso#15277);
  * vfs_virusfilter segfault on access, directory edgecase
    (accessing NULL value); (bso#15283);
  * CVE-2022-38023 [SECURITY] Samba should refuse RC4 (aka md5) based
    SChannel on NETLOGON (additional changes); (bso#15240);
  * %U for include directive doesn't work for share listing
    (netshareenum); (bso#15243);
  * Shares missing from netshareenum response in samba 4.17.4;
    (bso#15266);
  * ctdb: use-after-free in run_proc; (bso#15269);
  * irpc_destructor may crash during shutdown; (bso#15280);
  * auth3_generate_session_info_pac leaks wbcAuthUserInfo; (bso#15286);
  * smbclient segfaults with use after free on an optimized build;
    (bso#15268);
  * smbstatus leaking files in msg.sock and msg.lock; (bso#15282);
  * Leak in wbcCtxPingDc2; (bso#15164);
  * Access based share enum does not work in Samba 4.16+; (bso#15265);
  * Crash during share enumeration; (bso#15267);
  * rep_listxattr on FreeBSD does not properly check for reads off
    end of returned buffer; (bso#15271);
  * Avoid relying on C89 features in a few places; (bso#15281);
- named crashes on DLZ zone update; (bso#14030); (bsc#1206996);
- Drop libnsl build requirement; (bsc#1208220);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1679054400">- Update to 4.18.0
  * SMB server performance improvements
  * More succinct samba-tool error messages
  * Color output with samba-tool --color
    The NO_COLOR environment variable will disable colour output
  * New samba-tool dsacl subcommand for deleting ACEs
  * New wbinfo option --change-secret-at
  * Net option to change the NT ACL default location
  * Azure AD / Office365 synchronization improvements</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1680091200">- Update to 4.18.1
  * CVE-2023-0225: AD DC "dnsHostname" attribute can be
    deleted by unprivileged authenticated users.
    (bso#15276);(bsc#1209483).
  * CVE-2023-0614: Access controlled AD LDAP attributes can be
    discovered  (bso#15270); (bsc#1209485).
  * CVE-2023-0922: Samba AD DC admin tool samba-tool sends
    passwords in cleartext(bso#15315);(bsc#1209481).
  * ldb wildcard matching makes excessive allocations;
    (bso#15331).
  * large_ldap test is inefficient; (bso#15332).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1685620800">- Update to 4.18.3
  * Symlinks to files can have random DOS mode information in a
    directory listing; (bso#15375).
  * vfs_fruit might cause a failing open for delete; (bso#15378).
  * winbind recurses into itself via rpcd_lsad; (bso#15361).
  * wbinfo -u fails on ad dc with &gt;1000 users; (bso#15366).
  * DS ACEs might be inherited to unrelated object classes;
    (bso#15338).
  * a lot of messages: get_static_share_mode_data:
    get_static_share_mode_data_fn failed: NT_STATUS_NOT_FOUND;
    (bso#15362).
  * aes256 smb3 encryption algorithms are not allowed in
    smb3_sid_parse(); (bso#15374).
  * Setting veto files = /.*/ break listing directories;
    (bso#15360).
  * "samba-tool domain provision" does not run interactive mode
    if no arguments are given; (bso#15363).
  * dsgetdcname: assumes local system uses IPv4; (bso#15325).
- Update to 4.18.2
  * Log flood: smbd_calculate_access_mask_fsp: Access denied:
    message level should be lower; (bso#15302).
  * Floating point exception (FPE) via cli_pull_send at
    source3/libsmb/clireadwrite.c; (bso#15306).
  * test_tstream_more_tcp_user_timeout_spin fails intermittently
    on Rackspace GitLab runners; (bso#15328).
  * Reduce flapping of ridalloc test; (bso#15329).
  * large_ldap test is unreliable; (bso#15351).
  * New filename parser doesn't check veto files smb.conf
    parameter; (bso#15143).
  * mdssvc may crash when initializing; (bso#15354).
  * large directory optimization broken for non-lcomp path
    elements; (bso#15313).
  * streams_depot fails to create streams; (bso#15357).
  * shadow_copy2 and streams_depot don't play well together;
    (bso#15358).
  * Flapping tests in samba_tool_drs_show_repl.py; (bso#15316).
  * winbindd idmap child contacts the domain controller without a
    need; (bso#15317).
  * idmap_autorid may fail to map sids of trusted domains for the
    first time; (bso#15318).
  * idmap_hash doesn't use ID_TYPE_BOTH for reverse mappings;
    (bso#15319).
  * net ads search -P doesn't work against servers in other
    domains; (bso#15323).
  * Temporary smbXsrv_tcon_global.tdb can't be parsed;
    (bso#15353).
  * Tests use depricated and removed methods like
    assertRegexpMatches; (bso#15343).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1688644800">- Update to 4.18.4
  * Backport --pidl-developer fixes; (bso#15404).
  * Named crashes on DLZ zone update; (bso#14030).
  * smbcacls and smbcquotas do not check // before the server;
    (bso#2312).
  * cli_list loops 100% CPU against pre-lanman2 servers;
    (bso#15382).
  * smbclient leaks fds with showacls; (bso#15391).
  * smbd returns NOT_FOUND when creating files on a r/o
    filesystem; (bso#15402).
  * NSS_WRAPPER_HOSTNAME doesn't match NSS_WRAPPER_HOSTS entry
    and causes test timeouts; (bso#15355).
  * net ads lookup (with unspecified realm) fails; (bso#15384).
  * Register Samba processes with GPFS; (bso#15381).
  * Python tarfile extraction needs change to avoid a warning
    (CVE-2007-4559 mitigation); (bso#15390).
  * The winbind child segfaults when listing users with `winbind
    scan trusted domains = yes`; (bso#15398).
  * Remove comments about deprecated 'write cache size';
    (bso#15383).
  * smbget memory leak if failed to download files recursively;
    (bso#15403).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1689768000">- Update to 4.18.5
  * CVE-2022-2127: lm_resp_len not checked properly in
    winbindd_pam_auth_crap_send; (bso#15072); (bsc#1213174).
  * CVE-2023-34966: Samba Spotlight mdssvc RPC Request Infinite
    Loop Denial-of-Service Vulnerability; (bso#15340); (bsc#1213173).
  * CVE-2023-34967: Samba Spotlight mdssvc RPC Request Type
    Confusion Denial-of-Service Vulnerability; (bso#15341); (bsc#1213172).
  * CVE-2023-34968: Spotlight server-side Share Path Disclosure;
    (bso#15388); (bsc#1213171).
  * CVE-2023-3347: Samba doesn't require SMB2+ signing if
    `server signing = mandatory` is set; (bso#15397); (bsc#1213170).
  * secure channel faulty since Windows 10/11 update 07/2023;
    (bso#15418); (bsc#1213384).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1691496000">- Move libcluster-samba4.so from samba-libs to samba-client-libs;
  (bsc#1213940);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1692619200">- Update to 4.18.6
  * reply_sesssetup_and_X() can dereference uninitialized tmp pointer;
    (bso#15420);
  * Missing return in reply_exit_done(); (bso#15430);
  * post-exec password redaction for samba-tool is more reliable for fully
    random passwords as it no longer uses regular expressions containing the
    password value itself; (bso#15289);
  * Windows client join fails if a second container CN=System exists somewhere;
    (bso#9959);
  * Spotlight sometimes returns no results on latest macOS; (bso#15342);
  * Renaming results in NT_STATUS_SHARING_VIOLATION if previously attempted to
    remove the destination; (bso#15417);
  * Spotlight results return wrong date in result list; (bso#15427);
  * "net offlinejoin provision" does not work as non-root user; (bso#15414);
  * rpcserver no longer accepts double backslash in dfs pathname; (bso#15400);
  * cm_prepare_connection() calls close(fd) for the second time; (bso#15433);
  * 2-3min delays at reconnect with smb2_validate_sequence_number: bad
    message_id 2; (bso#15346);
  * samba-tool ntacl get segfault if aio_pthread appended; (bso#15441);
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed; (bso#15446);
  * Python tarfile extraction needs change to avoid a warning (CVE-2007-4559
    mitigation); (bso#15390);
  * Regression DFS not working with widelinks = true; (bso#15435);
  * mdssvc: Do an early talloc_free() in _mdssvc_open(); (bso#15449);</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1695729600">- Update to 4.19.0
  * File doesn't show when user doesn't have permission if
    aio_pthread is loaded; (bso#15453).
  * ctdb_killtcp fails to work with --enable-pcap and libpcap ≥
    1.9.1; (bso#15451).
  * Logging to stdout/stderr with DEBUG_SYSLOG_FORMAT_ALWAYS can
    log to syslog; (bso#15460).
  * ‘samba-tool domain level raise’ fails unless given a URL;
    (bso#15458).
  * reply_sesssetup_and_X() can dereference uninitialized tmp
    pointer; (bso#15420).
  * missing return in reply_exit_done(); (bso#15430).
  * TREE_CONNECT without SETUP causes smbd to use uninitialized
    pointer; (bso#15432).
  * Avoid infinite loop in initial user sync with Azure AD
    Connect when synchronising a large Samba AD domain;
    (bso#15401).
  * Samba replication logs show (null) DN; (bso#15407).
  * 2-3min delays at reconnect with
    smb2_validate_sequence_number: bad message_id 2; (bso#15346).
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed;
    (bso#15446).
  * CID 1539212 causes real issue when output contains only
    newlines; (bso#15438).
  * KDC encodes INT64 claims incorrectly; (bso#15452).
  * mdssvc: Do an early talloc_free() in _mdssvc_open();
    (bso#15449).
  * Windows client join fails if a second container CN=System
    exists somewhere; (bso#9959).
  * regression DFS not working with widelinks = true;
    (bso#15435).
  * Heimdal fails to build on 32-bit FreeBSD; (bso#15443).
  * samba-tool ntacl get segfault if aio_pthread appended;
    (bso#15441).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1696939200">- CVE-2023-4091: samba: Client can truncate file with read-only
  permissions; (bsc#1215904); (bso#15439).
- CVE-2023-42669: samba: rpcecho, enabled and running in AD DC,
  allows blocking sleep on request; (bso#1215905); (bso#15474).
- CVE-2023-42670: samba:  The procedure number is out of range
  when starting Active Directory Users and Computers;
  (bsc#1215906); (bso#15473).
- CVE-2023-3961: samba: Unsanitized client pipe name passed to
  local_np_connect(); (bsc#1215907); (bso#15422).
- CVE-2023-4154: samba: dirsync allows SYSTEM access with only
  "GUID_DRS_GET_CHANGES" right, not "GUID_DRS_GET_ALL_CHANGES;
  (bsc#1215908); (bso#15424).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112000">- use systemd-logind rather than utmp for y2038 safety;
  (bsc#1216159).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112001">- packaging: Remove /etc/slp.reg.d from samba spec file;
  (bsc#1216160)</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697457600">- Update to 4.19.2
  * Use-after-free in aio_del_req_from_fsp during smbd shutdown
    after failed IPC FSCTL_PIPE_TRANSCEIVE; (bso#15423).
  * clidfs.c do_connect() missing a "return" after a
    cli_shutdown() call; (bso#15426).
  * macOS mdfind returns only 50 results; (bso#15463).
  * GETREALFILENAME_CACHE can modify incoming new filename with
    previous cache entry value; (bso#15481).
  * libnss_winbind causes memory corruption since samba-4.18,
    impacts sendmail, zabbix, potentially more; (bso#15464).
  * ctdbd: setproctitle not initialized messages flooding logs;
    (bso#15479).
  * CVE-2023-5568 Heap buffer overflow with freshness tokens in
    the Heimdal KDC in Samba 4.19; (bso#15491).
  * The heimdal KDC doesn't detect s4u2self correctly when fast
    is in use; (bso#15477).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1698062400">- packaging: samba-tool domain provision requires python3-Markdown;
  (bsc#1216519).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1701086400">- Update to 4.19.3
  * sid_strings test broken by unix epoch &gt; 1700000000;
    (bso#15520).
  * smbd crashes if asked to return full information on close of
    a stream handle with delete on close disposition set;
    (bso#15487).
  * smbd: fix close order of base_fsp and stream_fsp in
    smb_fname_fsp_destructor(); (bso#15521).
  * Improve logging for failover scenarios; (bso#15499).
  * Files without "read attributes" NFS4 ACL permission are not
    listed in directories; (bso#15093).
  * CVE-2018-14628 [SECURITY] Deleted Object tombstones visible
    in AD LDAP to normal users; (bso#13595).
  * Kerberos TGS-REQ with User2User does not work for normal
    accounts; (bso#15492).
  * vfs_gpfs stat calls fail due to file system permissions;
    (bso#15507).
  * Samba doesn't build with Python 3.12; (bso#15513).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704801600">- Update to 4.19.4
  * net changesecretpw cannot set the machine account password if
    secrets.tdb is empty; (bso#13577).
  * For generating doc, take, if defined, env XML_CATALOG_FILES;
    (bso#15540).
  * Trivial C typo in nsswitch/winbind_nss_netbsd.c; (bso#15541).
  * vfs_linux_xfs is incorrectly named; (bso#15542).
  * systemd stumbled over copyright-message at smbd startup;
    (bso#15377).
  * Following intermediate abolute share-local symlinks is
    broken; (bso#15505).
  * ctdb RELEASE_IP causes a crash in release_ip if a connection
    to a non-public address disconnects first; (bso#15523).
  * shadow_copy2 broken when current fileset's directories are
    removed; (bso#15544).
  * smbd does not detect ctdb public ipv6 addresses for
    multichannel exclusion; (bso#15534).
  * 'force user = localunixuser' doesn't work if 'allow trusted
    domains = no' is set; (bso#15469).
  * smbget debug logging doesn't work; (bso#15525).
  * smget: username in the smburl and interactive password entry
    doesn't work; (bso#15532).
  * smbget auth function doesn't set values for password prompt
    correctly; (bso#15538).
  * Unable to copy and write files from clients to Ceph cluster
    via SMB Linux gateway with Ceph VFS module; (bso#15440).
  * Multichannel refresh network information; (bso#15547).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704888000">- Remove -x from bash shebang update-apparmor-samba-profile;
  (bsc#1218431).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1708430400">- Update to 4.19.5
  * Windows 2016 fails to restore previous version of a file from
    a shadow_copy2 snapshot; (bso#13688).
  * Symlinks on AIX are broken in 4.19 (and a few version before
    that); (bso#15549).
  * Fake directory create times has no effect; (bso#12421).
  * ctime mixed up with mtime by smbd; (bso#15550).
  * samba-gpupdate --rsop fails if machine is not in a site;
    (bso#15548).
  * gpupdate: The root cert import when NDES is not available is
    broken; (bso#15557).
  * samba-gpupdate should print a useful message if cepces-submit
    can't be found; (bso#15552).
  * samba-gpupdate logging doesn't work; (bso#15558).
  * smbpasswd reset permissions only if not 0600; (bso#15555).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1715860800">- Update to 4.20.1
  * dns update debug message is too noisy; (bso#15630);
  * Do not fail PAC validation for RFC8009 checksums types; (bso#15635);
  * Improve performance of lookup_groupmem() in idmap_ad; (bso#15605);
  * Smbcacls incorrectly propagates inheritance with Inherit-Only flag; (bso#15636);
  * http library doesn't support 'chunked transfer encoding'; (bso#15611);
  * Provide a systemd service file for the background queue daemon; (bso#15600);
- Update to 4.20.0
  New features:
  * samba-tool user getpassword / syncpasswords ;rounds= change
  * Group Managed service account client-side features
  * New Windows Search Protocol Client
  * Allow 'smbcacls' to save/restore DACLs to file
  * Samba-tool extensions for AD Claims, Authentication Policies and Silos
  * AD DC support for Authentication Silos and Authentication Policies
  * Conditional ACEs and Resource Attribute ACEs
  * Service Witness Protocol [MS-SWN]
  Removed features:
  * Get locally logged on users from utmp
  Fixed bugs:
  * Avoid null-dereference with bad claims; (bso#15606);
  * ndr_pull_security_ace can leave resource attribute ACE coda
    claim struct undefined; (bso#15613);
  * fd_handle_destructor() panics within an smbd_smb2_close() if
    vfs_stat_fsp() fails in fd_close(); (bso#15527);
  * set_nt_acl sometimes fails with NT_STATUS_INVALID_PARAMETER -
    openat() EACCES; (bso#15583);
  * libgpo: Segfault in python bindings; (bso#15599);
  * Samba AD is missing some authentication policy tests;
    (bso#15607);
  * samba-gpupdate: Correctly implement site support; (bso#15588);
  * Remove unsupported "Final" keyword missing from Python 3.6;
    (bso#15575);
  * Additional witness backports for 4.20.0; (bso#15577);
  * Error output with wspsearch; (bso#15579);
  * Packet marshalling push support missing for
    CTDB_CONTROL_TCP_CLIENT_DISCONNECTED and
    CTDB_CONTROL_TCP_CLIENT_PASSED; (bso#15580);
  * Performance regression for NDR parsing of security
    descriptors; (bso#15574);
  * Build and install man page for wspsearch client utility;
    (bso#15565);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1717416000">- Fix non deterministic builds; (bsc#1225754); (bso#13213);</changelog>
</package>
<package pkgid="9d68403995fff8d8b8763f85d162af774da71c0a4a1730a76e159c5f49f20c136134d70b8d9d80db1c19f79475920f5f8527cfe6fff34b385c4ebe82af323f46" name="ctdb-pcp-pmda" arch="i586">
  <version epoch="0" ver="4.20.1+git.339.cf6e153bb2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1676376000">- Update to 4.17.5
  * smbc_getxattr() return value is incorrect; (bso#14808);
  * Compound SMB2 FLUSH+CLOSE requests from MacOSX are not handled
    correctly; (bso#15172);
  * synthetic_pathref AFP_AfpInfo failed errors; (bso#15210);
  * samba-tool gpo listall fails IPv6 only - finddcs() fails to find DC
    when there is only an AAAA record for the DC in DNS; (bso#15226);
  * smbd crashes if an FSCTL request is done on a stream handle; (bso#15236);
  * DFS links don't work anymore on Mac clients since 4.17; (bso#15277);
  * vfs_virusfilter segfault on access, directory edgecase
    (accessing NULL value); (bso#15283);
  * CVE-2022-38023 [SECURITY] Samba should refuse RC4 (aka md5) based
    SChannel on NETLOGON (additional changes); (bso#15240);
  * %U for include directive doesn't work for share listing
    (netshareenum); (bso#15243);
  * Shares missing from netshareenum response in samba 4.17.4;
    (bso#15266);
  * ctdb: use-after-free in run_proc; (bso#15269);
  * irpc_destructor may crash during shutdown; (bso#15280);
  * auth3_generate_session_info_pac leaks wbcAuthUserInfo; (bso#15286);
  * smbclient segfaults with use after free on an optimized build;
    (bso#15268);
  * smbstatus leaking files in msg.sock and msg.lock; (bso#15282);
  * Leak in wbcCtxPingDc2; (bso#15164);
  * Access based share enum does not work in Samba 4.16+; (bso#15265);
  * Crash during share enumeration; (bso#15267);
  * rep_listxattr on FreeBSD does not properly check for reads off
    end of returned buffer; (bso#15271);
  * Avoid relying on C89 features in a few places; (bso#15281);
- named crashes on DLZ zone update; (bso#14030); (bsc#1206996);
- Drop libnsl build requirement; (bsc#1208220);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1679054400">- Update to 4.18.0
  * SMB server performance improvements
  * More succinct samba-tool error messages
  * Color output with samba-tool --color
    The NO_COLOR environment variable will disable colour output
  * New samba-tool dsacl subcommand for deleting ACEs
  * New wbinfo option --change-secret-at
  * Net option to change the NT ACL default location
  * Azure AD / Office365 synchronization improvements</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1680091200">- Update to 4.18.1
  * CVE-2023-0225: AD DC "dnsHostname" attribute can be
    deleted by unprivileged authenticated users.
    (bso#15276);(bsc#1209483).
  * CVE-2023-0614: Access controlled AD LDAP attributes can be
    discovered  (bso#15270); (bsc#1209485).
  * CVE-2023-0922: Samba AD DC admin tool samba-tool sends
    passwords in cleartext(bso#15315);(bsc#1209481).
  * ldb wildcard matching makes excessive allocations;
    (bso#15331).
  * large_ldap test is inefficient; (bso#15332).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1685620800">- Update to 4.18.3
  * Symlinks to files can have random DOS mode information in a
    directory listing; (bso#15375).
  * vfs_fruit might cause a failing open for delete; (bso#15378).
  * winbind recurses into itself via rpcd_lsad; (bso#15361).
  * wbinfo -u fails on ad dc with &gt;1000 users; (bso#15366).
  * DS ACEs might be inherited to unrelated object classes;
    (bso#15338).
  * a lot of messages: get_static_share_mode_data:
    get_static_share_mode_data_fn failed: NT_STATUS_NOT_FOUND;
    (bso#15362).
  * aes256 smb3 encryption algorithms are not allowed in
    smb3_sid_parse(); (bso#15374).
  * Setting veto files = /.*/ break listing directories;
    (bso#15360).
  * "samba-tool domain provision" does not run interactive mode
    if no arguments are given; (bso#15363).
  * dsgetdcname: assumes local system uses IPv4; (bso#15325).
- Update to 4.18.2
  * Log flood: smbd_calculate_access_mask_fsp: Access denied:
    message level should be lower; (bso#15302).
  * Floating point exception (FPE) via cli_pull_send at
    source3/libsmb/clireadwrite.c; (bso#15306).
  * test_tstream_more_tcp_user_timeout_spin fails intermittently
    on Rackspace GitLab runners; (bso#15328).
  * Reduce flapping of ridalloc test; (bso#15329).
  * large_ldap test is unreliable; (bso#15351).
  * New filename parser doesn't check veto files smb.conf
    parameter; (bso#15143).
  * mdssvc may crash when initializing; (bso#15354).
  * large directory optimization broken for non-lcomp path
    elements; (bso#15313).
  * streams_depot fails to create streams; (bso#15357).
  * shadow_copy2 and streams_depot don't play well together;
    (bso#15358).
  * Flapping tests in samba_tool_drs_show_repl.py; (bso#15316).
  * winbindd idmap child contacts the domain controller without a
    need; (bso#15317).
  * idmap_autorid may fail to map sids of trusted domains for the
    first time; (bso#15318).
  * idmap_hash doesn't use ID_TYPE_BOTH for reverse mappings;
    (bso#15319).
  * net ads search -P doesn't work against servers in other
    domains; (bso#15323).
  * Temporary smbXsrv_tcon_global.tdb can't be parsed;
    (bso#15353).
  * Tests use depricated and removed methods like
    assertRegexpMatches; (bso#15343).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1688644800">- Update to 4.18.4
  * Backport --pidl-developer fixes; (bso#15404).
  * Named crashes on DLZ zone update; (bso#14030).
  * smbcacls and smbcquotas do not check // before the server;
    (bso#2312).
  * cli_list loops 100% CPU against pre-lanman2 servers;
    (bso#15382).
  * smbclient leaks fds with showacls; (bso#15391).
  * smbd returns NOT_FOUND when creating files on a r/o
    filesystem; (bso#15402).
  * NSS_WRAPPER_HOSTNAME doesn't match NSS_WRAPPER_HOSTS entry
    and causes test timeouts; (bso#15355).
  * net ads lookup (with unspecified realm) fails; (bso#15384).
  * Register Samba processes with GPFS; (bso#15381).
  * Python tarfile extraction needs change to avoid a warning
    (CVE-2007-4559 mitigation); (bso#15390).
  * The winbind child segfaults when listing users with `winbind
    scan trusted domains = yes`; (bso#15398).
  * Remove comments about deprecated 'write cache size';
    (bso#15383).
  * smbget memory leak if failed to download files recursively;
    (bso#15403).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1689768000">- Update to 4.18.5
  * CVE-2022-2127: lm_resp_len not checked properly in
    winbindd_pam_auth_crap_send; (bso#15072); (bsc#1213174).
  * CVE-2023-34966: Samba Spotlight mdssvc RPC Request Infinite
    Loop Denial-of-Service Vulnerability; (bso#15340); (bsc#1213173).
  * CVE-2023-34967: Samba Spotlight mdssvc RPC Request Type
    Confusion Denial-of-Service Vulnerability; (bso#15341); (bsc#1213172).
  * CVE-2023-34968: Spotlight server-side Share Path Disclosure;
    (bso#15388); (bsc#1213171).
  * CVE-2023-3347: Samba doesn't require SMB2+ signing if
    `server signing = mandatory` is set; (bso#15397); (bsc#1213170).
  * secure channel faulty since Windows 10/11 update 07/2023;
    (bso#15418); (bsc#1213384).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1691496000">- Move libcluster-samba4.so from samba-libs to samba-client-libs;
  (bsc#1213940);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1692619200">- Update to 4.18.6
  * reply_sesssetup_and_X() can dereference uninitialized tmp pointer;
    (bso#15420);
  * Missing return in reply_exit_done(); (bso#15430);
  * post-exec password redaction for samba-tool is more reliable for fully
    random passwords as it no longer uses regular expressions containing the
    password value itself; (bso#15289);
  * Windows client join fails if a second container CN=System exists somewhere;
    (bso#9959);
  * Spotlight sometimes returns no results on latest macOS; (bso#15342);
  * Renaming results in NT_STATUS_SHARING_VIOLATION if previously attempted to
    remove the destination; (bso#15417);
  * Spotlight results return wrong date in result list; (bso#15427);
  * "net offlinejoin provision" does not work as non-root user; (bso#15414);
  * rpcserver no longer accepts double backslash in dfs pathname; (bso#15400);
  * cm_prepare_connection() calls close(fd) for the second time; (bso#15433);
  * 2-3min delays at reconnect with smb2_validate_sequence_number: bad
    message_id 2; (bso#15346);
  * samba-tool ntacl get segfault if aio_pthread appended; (bso#15441);
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed; (bso#15446);
  * Python tarfile extraction needs change to avoid a warning (CVE-2007-4559
    mitigation); (bso#15390);
  * Regression DFS not working with widelinks = true; (bso#15435);
  * mdssvc: Do an early talloc_free() in _mdssvc_open(); (bso#15449);</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1695729600">- Update to 4.19.0
  * File doesn't show when user doesn't have permission if
    aio_pthread is loaded; (bso#15453).
  * ctdb_killtcp fails to work with --enable-pcap and libpcap ≥
    1.9.1; (bso#15451).
  * Logging to stdout/stderr with DEBUG_SYSLOG_FORMAT_ALWAYS can
    log to syslog; (bso#15460).
  * ‘samba-tool domain level raise’ fails unless given a URL;
    (bso#15458).
  * reply_sesssetup_and_X() can dereference uninitialized tmp
    pointer; (bso#15420).
  * missing return in reply_exit_done(); (bso#15430).
  * TREE_CONNECT without SETUP causes smbd to use uninitialized
    pointer; (bso#15432).
  * Avoid infinite loop in initial user sync with Azure AD
    Connect when synchronising a large Samba AD domain;
    (bso#15401).
  * Samba replication logs show (null) DN; (bso#15407).
  * 2-3min delays at reconnect with
    smb2_validate_sequence_number: bad message_id 2; (bso#15346).
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed;
    (bso#15446).
  * CID 1539212 causes real issue when output contains only
    newlines; (bso#15438).
  * KDC encodes INT64 claims incorrectly; (bso#15452).
  * mdssvc: Do an early talloc_free() in _mdssvc_open();
    (bso#15449).
  * Windows client join fails if a second container CN=System
    exists somewhere; (bso#9959).
  * regression DFS not working with widelinks = true;
    (bso#15435).
  * Heimdal fails to build on 32-bit FreeBSD; (bso#15443).
  * samba-tool ntacl get segfault if aio_pthread appended;
    (bso#15441).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1696939200">- CVE-2023-4091: samba: Client can truncate file with read-only
  permissions; (bsc#1215904); (bso#15439).
- CVE-2023-42669: samba: rpcecho, enabled and running in AD DC,
  allows blocking sleep on request; (bso#1215905); (bso#15474).
- CVE-2023-42670: samba:  The procedure number is out of range
  when starting Active Directory Users and Computers;
  (bsc#1215906); (bso#15473).
- CVE-2023-3961: samba: Unsanitized client pipe name passed to
  local_np_connect(); (bsc#1215907); (bso#15422).
- CVE-2023-4154: samba: dirsync allows SYSTEM access with only
  "GUID_DRS_GET_CHANGES" right, not "GUID_DRS_GET_ALL_CHANGES;
  (bsc#1215908); (bso#15424).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112000">- use systemd-logind rather than utmp for y2038 safety;
  (bsc#1216159).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112001">- packaging: Remove /etc/slp.reg.d from samba spec file;
  (bsc#1216160)</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697457600">- Update to 4.19.2
  * Use-after-free in aio_del_req_from_fsp during smbd shutdown
    after failed IPC FSCTL_PIPE_TRANSCEIVE; (bso#15423).
  * clidfs.c do_connect() missing a "return" after a
    cli_shutdown() call; (bso#15426).
  * macOS mdfind returns only 50 results; (bso#15463).
  * GETREALFILENAME_CACHE can modify incoming new filename with
    previous cache entry value; (bso#15481).
  * libnss_winbind causes memory corruption since samba-4.18,
    impacts sendmail, zabbix, potentially more; (bso#15464).
  * ctdbd: setproctitle not initialized messages flooding logs;
    (bso#15479).
  * CVE-2023-5568 Heap buffer overflow with freshness tokens in
    the Heimdal KDC in Samba 4.19; (bso#15491).
  * The heimdal KDC doesn't detect s4u2self correctly when fast
    is in use; (bso#15477).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1698062400">- packaging: samba-tool domain provision requires python3-Markdown;
  (bsc#1216519).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1701086400">- Update to 4.19.3
  * sid_strings test broken by unix epoch &gt; 1700000000;
    (bso#15520).
  * smbd crashes if asked to return full information on close of
    a stream handle with delete on close disposition set;
    (bso#15487).
  * smbd: fix close order of base_fsp and stream_fsp in
    smb_fname_fsp_destructor(); (bso#15521).
  * Improve logging for failover scenarios; (bso#15499).
  * Files without "read attributes" NFS4 ACL permission are not
    listed in directories; (bso#15093).
  * CVE-2018-14628 [SECURITY] Deleted Object tombstones visible
    in AD LDAP to normal users; (bso#13595).
  * Kerberos TGS-REQ with User2User does not work for normal
    accounts; (bso#15492).
  * vfs_gpfs stat calls fail due to file system permissions;
    (bso#15507).
  * Samba doesn't build with Python 3.12; (bso#15513).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704801600">- Update to 4.19.4
  * net changesecretpw cannot set the machine account password if
    secrets.tdb is empty; (bso#13577).
  * For generating doc, take, if defined, env XML_CATALOG_FILES;
    (bso#15540).
  * Trivial C typo in nsswitch/winbind_nss_netbsd.c; (bso#15541).
  * vfs_linux_xfs is incorrectly named; (bso#15542).
  * systemd stumbled over copyright-message at smbd startup;
    (bso#15377).
  * Following intermediate abolute share-local symlinks is
    broken; (bso#15505).
  * ctdb RELEASE_IP causes a crash in release_ip if a connection
    to a non-public address disconnects first; (bso#15523).
  * shadow_copy2 broken when current fileset's directories are
    removed; (bso#15544).
  * smbd does not detect ctdb public ipv6 addresses for
    multichannel exclusion; (bso#15534).
  * 'force user = localunixuser' doesn't work if 'allow trusted
    domains = no' is set; (bso#15469).
  * smbget debug logging doesn't work; (bso#15525).
  * smget: username in the smburl and interactive password entry
    doesn't work; (bso#15532).
  * smbget auth function doesn't set values for password prompt
    correctly; (bso#15538).
  * Unable to copy and write files from clients to Ceph cluster
    via SMB Linux gateway with Ceph VFS module; (bso#15440).
  * Multichannel refresh network information; (bso#15547).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704888000">- Remove -x from bash shebang update-apparmor-samba-profile;
  (bsc#1218431).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1708430400">- Update to 4.19.5
  * Windows 2016 fails to restore previous version of a file from
    a shadow_copy2 snapshot; (bso#13688).
  * Symlinks on AIX are broken in 4.19 (and a few version before
    that); (bso#15549).
  * Fake directory create times has no effect; (bso#12421).
  * ctime mixed up with mtime by smbd; (bso#15550).
  * samba-gpupdate --rsop fails if machine is not in a site;
    (bso#15548).
  * gpupdate: The root cert import when NDES is not available is
    broken; (bso#15557).
  * samba-gpupdate should print a useful message if cepces-submit
    can't be found; (bso#15552).
  * samba-gpupdate logging doesn't work; (bso#15558).
  * smbpasswd reset permissions only if not 0600; (bso#15555).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1715860800">- Update to 4.20.1
  * dns update debug message is too noisy; (bso#15630);
  * Do not fail PAC validation for RFC8009 checksums types; (bso#15635);
  * Improve performance of lookup_groupmem() in idmap_ad; (bso#15605);
  * Smbcacls incorrectly propagates inheritance with Inherit-Only flag; (bso#15636);
  * http library doesn't support 'chunked transfer encoding'; (bso#15611);
  * Provide a systemd service file for the background queue daemon; (bso#15600);
- Update to 4.20.0
  New features:
  * samba-tool user getpassword / syncpasswords ;rounds= change
  * Group Managed service account client-side features
  * New Windows Search Protocol Client
  * Allow 'smbcacls' to save/restore DACLs to file
  * Samba-tool extensions for AD Claims, Authentication Policies and Silos
  * AD DC support for Authentication Silos and Authentication Policies
  * Conditional ACEs and Resource Attribute ACEs
  * Service Witness Protocol [MS-SWN]
  Removed features:
  * Get locally logged on users from utmp
  Fixed bugs:
  * Avoid null-dereference with bad claims; (bso#15606);
  * ndr_pull_security_ace can leave resource attribute ACE coda
    claim struct undefined; (bso#15613);
  * fd_handle_destructor() panics within an smbd_smb2_close() if
    vfs_stat_fsp() fails in fd_close(); (bso#15527);
  * set_nt_acl sometimes fails with NT_STATUS_INVALID_PARAMETER -
    openat() EACCES; (bso#15583);
  * libgpo: Segfault in python bindings; (bso#15599);
  * Samba AD is missing some authentication policy tests;
    (bso#15607);
  * samba-gpupdate: Correctly implement site support; (bso#15588);
  * Remove unsupported "Final" keyword missing from Python 3.6;
    (bso#15575);
  * Additional witness backports for 4.20.0; (bso#15577);
  * Error output with wspsearch; (bso#15579);
  * Packet marshalling push support missing for
    CTDB_CONTROL_TCP_CLIENT_DISCONNECTED and
    CTDB_CONTROL_TCP_CLIENT_PASSED; (bso#15580);
  * Performance regression for NDR parsing of security
    descriptors; (bso#15574);
  * Build and install man page for wspsearch client utility;
    (bso#15565);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1717416000">- Fix non deterministic builds; (bsc#1225754); (bso#13213);</changelog>
</package>
<package pkgid="c41e4a5e14f71ba55dd07bd7d59bbcdac5fabd88a85e3b2dcd0a3e7ff7033de6370ad4c28b6ea23ea410c5d7dcedc3a3085650c4a0afc4905cd5c6fff4ea53d9" name="ctdb-pcp-pmda" arch="x86_64">
  <version epoch="0" ver="4.20.1+git.339.cf6e153bb2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1676376000">- Update to 4.17.5
  * smbc_getxattr() return value is incorrect; (bso#14808);
  * Compound SMB2 FLUSH+CLOSE requests from MacOSX are not handled
    correctly; (bso#15172);
  * synthetic_pathref AFP_AfpInfo failed errors; (bso#15210);
  * samba-tool gpo listall fails IPv6 only - finddcs() fails to find DC
    when there is only an AAAA record for the DC in DNS; (bso#15226);
  * smbd crashes if an FSCTL request is done on a stream handle; (bso#15236);
  * DFS links don't work anymore on Mac clients since 4.17; (bso#15277);
  * vfs_virusfilter segfault on access, directory edgecase
    (accessing NULL value); (bso#15283);
  * CVE-2022-38023 [SECURITY] Samba should refuse RC4 (aka md5) based
    SChannel on NETLOGON (additional changes); (bso#15240);
  * %U for include directive doesn't work for share listing
    (netshareenum); (bso#15243);
  * Shares missing from netshareenum response in samba 4.17.4;
    (bso#15266);
  * ctdb: use-after-free in run_proc; (bso#15269);
  * irpc_destructor may crash during shutdown; (bso#15280);
  * auth3_generate_session_info_pac leaks wbcAuthUserInfo; (bso#15286);
  * smbclient segfaults with use after free on an optimized build;
    (bso#15268);
  * smbstatus leaking files in msg.sock and msg.lock; (bso#15282);
  * Leak in wbcCtxPingDc2; (bso#15164);
  * Access based share enum does not work in Samba 4.16+; (bso#15265);
  * Crash during share enumeration; (bso#15267);
  * rep_listxattr on FreeBSD does not properly check for reads off
    end of returned buffer; (bso#15271);
  * Avoid relying on C89 features in a few places; (bso#15281);
- named crashes on DLZ zone update; (bso#14030); (bsc#1206996);
- Drop libnsl build requirement; (bsc#1208220);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1679054400">- Update to 4.18.0
  * SMB server performance improvements
  * More succinct samba-tool error messages
  * Color output with samba-tool --color
    The NO_COLOR environment variable will disable colour output
  * New samba-tool dsacl subcommand for deleting ACEs
  * New wbinfo option --change-secret-at
  * Net option to change the NT ACL default location
  * Azure AD / Office365 synchronization improvements</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1680091200">- Update to 4.18.1
  * CVE-2023-0225: AD DC "dnsHostname" attribute can be
    deleted by unprivileged authenticated users.
    (bso#15276);(bsc#1209483).
  * CVE-2023-0614: Access controlled AD LDAP attributes can be
    discovered  (bso#15270); (bsc#1209485).
  * CVE-2023-0922: Samba AD DC admin tool samba-tool sends
    passwords in cleartext(bso#15315);(bsc#1209481).
  * ldb wildcard matching makes excessive allocations;
    (bso#15331).
  * large_ldap test is inefficient; (bso#15332).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1685620800">- Update to 4.18.3
  * Symlinks to files can have random DOS mode information in a
    directory listing; (bso#15375).
  * vfs_fruit might cause a failing open for delete; (bso#15378).
  * winbind recurses into itself via rpcd_lsad; (bso#15361).
  * wbinfo -u fails on ad dc with &gt;1000 users; (bso#15366).
  * DS ACEs might be inherited to unrelated object classes;
    (bso#15338).
  * a lot of messages: get_static_share_mode_data:
    get_static_share_mode_data_fn failed: NT_STATUS_NOT_FOUND;
    (bso#15362).
  * aes256 smb3 encryption algorithms are not allowed in
    smb3_sid_parse(); (bso#15374).
  * Setting veto files = /.*/ break listing directories;
    (bso#15360).
  * "samba-tool domain provision" does not run interactive mode
    if no arguments are given; (bso#15363).
  * dsgetdcname: assumes local system uses IPv4; (bso#15325).
- Update to 4.18.2
  * Log flood: smbd_calculate_access_mask_fsp: Access denied:
    message level should be lower; (bso#15302).
  * Floating point exception (FPE) via cli_pull_send at
    source3/libsmb/clireadwrite.c; (bso#15306).
  * test_tstream_more_tcp_user_timeout_spin fails intermittently
    on Rackspace GitLab runners; (bso#15328).
  * Reduce flapping of ridalloc test; (bso#15329).
  * large_ldap test is unreliable; (bso#15351).
  * New filename parser doesn't check veto files smb.conf
    parameter; (bso#15143).
  * mdssvc may crash when initializing; (bso#15354).
  * large directory optimization broken for non-lcomp path
    elements; (bso#15313).
  * streams_depot fails to create streams; (bso#15357).
  * shadow_copy2 and streams_depot don't play well together;
    (bso#15358).
  * Flapping tests in samba_tool_drs_show_repl.py; (bso#15316).
  * winbindd idmap child contacts the domain controller without a
    need; (bso#15317).
  * idmap_autorid may fail to map sids of trusted domains for the
    first time; (bso#15318).
  * idmap_hash doesn't use ID_TYPE_BOTH for reverse mappings;
    (bso#15319).
  * net ads search -P doesn't work against servers in other
    domains; (bso#15323).
  * Temporary smbXsrv_tcon_global.tdb can't be parsed;
    (bso#15353).
  * Tests use depricated and removed methods like
    assertRegexpMatches; (bso#15343).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1688644800">- Update to 4.18.4
  * Backport --pidl-developer fixes; (bso#15404).
  * Named crashes on DLZ zone update; (bso#14030).
  * smbcacls and smbcquotas do not check // before the server;
    (bso#2312).
  * cli_list loops 100% CPU against pre-lanman2 servers;
    (bso#15382).
  * smbclient leaks fds with showacls; (bso#15391).
  * smbd returns NOT_FOUND when creating files on a r/o
    filesystem; (bso#15402).
  * NSS_WRAPPER_HOSTNAME doesn't match NSS_WRAPPER_HOSTS entry
    and causes test timeouts; (bso#15355).
  * net ads lookup (with unspecified realm) fails; (bso#15384).
  * Register Samba processes with GPFS; (bso#15381).
  * Python tarfile extraction needs change to avoid a warning
    (CVE-2007-4559 mitigation); (bso#15390).
  * The winbind child segfaults when listing users with `winbind
    scan trusted domains = yes`; (bso#15398).
  * Remove comments about deprecated 'write cache size';
    (bso#15383).
  * smbget memory leak if failed to download files recursively;
    (bso#15403).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1689768000">- Update to 4.18.5
  * CVE-2022-2127: lm_resp_len not checked properly in
    winbindd_pam_auth_crap_send; (bso#15072); (bsc#1213174).
  * CVE-2023-34966: Samba Spotlight mdssvc RPC Request Infinite
    Loop Denial-of-Service Vulnerability; (bso#15340); (bsc#1213173).
  * CVE-2023-34967: Samba Spotlight mdssvc RPC Request Type
    Confusion Denial-of-Service Vulnerability; (bso#15341); (bsc#1213172).
  * CVE-2023-34968: Spotlight server-side Share Path Disclosure;
    (bso#15388); (bsc#1213171).
  * CVE-2023-3347: Samba doesn't require SMB2+ signing if
    `server signing = mandatory` is set; (bso#15397); (bsc#1213170).
  * secure channel faulty since Windows 10/11 update 07/2023;
    (bso#15418); (bsc#1213384).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1691496000">- Move libcluster-samba4.so from samba-libs to samba-client-libs;
  (bsc#1213940);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1692619200">- Update to 4.18.6
  * reply_sesssetup_and_X() can dereference uninitialized tmp pointer;
    (bso#15420);
  * Missing return in reply_exit_done(); (bso#15430);
  * post-exec password redaction for samba-tool is more reliable for fully
    random passwords as it no longer uses regular expressions containing the
    password value itself; (bso#15289);
  * Windows client join fails if a second container CN=System exists somewhere;
    (bso#9959);
  * Spotlight sometimes returns no results on latest macOS; (bso#15342);
  * Renaming results in NT_STATUS_SHARING_VIOLATION if previously attempted to
    remove the destination; (bso#15417);
  * Spotlight results return wrong date in result list; (bso#15427);
  * "net offlinejoin provision" does not work as non-root user; (bso#15414);
  * rpcserver no longer accepts double backslash in dfs pathname; (bso#15400);
  * cm_prepare_connection() calls close(fd) for the second time; (bso#15433);
  * 2-3min delays at reconnect with smb2_validate_sequence_number: bad
    message_id 2; (bso#15346);
  * samba-tool ntacl get segfault if aio_pthread appended; (bso#15441);
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed; (bso#15446);
  * Python tarfile extraction needs change to avoid a warning (CVE-2007-4559
    mitigation); (bso#15390);
  * Regression DFS not working with widelinks = true; (bso#15435);
  * mdssvc: Do an early talloc_free() in _mdssvc_open(); (bso#15449);</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1695729600">- Update to 4.19.0
  * File doesn't show when user doesn't have permission if
    aio_pthread is loaded; (bso#15453).
  * ctdb_killtcp fails to work with --enable-pcap and libpcap ≥
    1.9.1; (bso#15451).
  * Logging to stdout/stderr with DEBUG_SYSLOG_FORMAT_ALWAYS can
    log to syslog; (bso#15460).
  * ‘samba-tool domain level raise’ fails unless given a URL;
    (bso#15458).
  * reply_sesssetup_and_X() can dereference uninitialized tmp
    pointer; (bso#15420).
  * missing return in reply_exit_done(); (bso#15430).
  * TREE_CONNECT without SETUP causes smbd to use uninitialized
    pointer; (bso#15432).
  * Avoid infinite loop in initial user sync with Azure AD
    Connect when synchronising a large Samba AD domain;
    (bso#15401).
  * Samba replication logs show (null) DN; (bso#15407).
  * 2-3min delays at reconnect with
    smb2_validate_sequence_number: bad message_id 2; (bso#15346).
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed;
    (bso#15446).
  * CID 1539212 causes real issue when output contains only
    newlines; (bso#15438).
  * KDC encodes INT64 claims incorrectly; (bso#15452).
  * mdssvc: Do an early talloc_free() in _mdssvc_open();
    (bso#15449).
  * Windows client join fails if a second container CN=System
    exists somewhere; (bso#9959).
  * regression DFS not working with widelinks = true;
    (bso#15435).
  * Heimdal fails to build on 32-bit FreeBSD; (bso#15443).
  * samba-tool ntacl get segfault if aio_pthread appended;
    (bso#15441).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1696939200">- CVE-2023-4091: samba: Client can truncate file with read-only
  permissions; (bsc#1215904); (bso#15439).
- CVE-2023-42669: samba: rpcecho, enabled and running in AD DC,
  allows blocking sleep on request; (bso#1215905); (bso#15474).
- CVE-2023-42670: samba:  The procedure number is out of range
  when starting Active Directory Users and Computers;
  (bsc#1215906); (bso#15473).
- CVE-2023-3961: samba: Unsanitized client pipe name passed to
  local_np_connect(); (bsc#1215907); (bso#15422).
- CVE-2023-4154: samba: dirsync allows SYSTEM access with only
  "GUID_DRS_GET_CHANGES" right, not "GUID_DRS_GET_ALL_CHANGES;
  (bsc#1215908); (bso#15424).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112000">- use systemd-logind rather than utmp for y2038 safety;
  (bsc#1216159).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112001">- packaging: Remove /etc/slp.reg.d from samba spec file;
  (bsc#1216160)</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697457600">- Update to 4.19.2
  * Use-after-free in aio_del_req_from_fsp during smbd shutdown
    after failed IPC FSCTL_PIPE_TRANSCEIVE; (bso#15423).
  * clidfs.c do_connect() missing a "return" after a
    cli_shutdown() call; (bso#15426).
  * macOS mdfind returns only 50 results; (bso#15463).
  * GETREALFILENAME_CACHE can modify incoming new filename with
    previous cache entry value; (bso#15481).
  * libnss_winbind causes memory corruption since samba-4.18,
    impacts sendmail, zabbix, potentially more; (bso#15464).
  * ctdbd: setproctitle not initialized messages flooding logs;
    (bso#15479).
  * CVE-2023-5568 Heap buffer overflow with freshness tokens in
    the Heimdal KDC in Samba 4.19; (bso#15491).
  * The heimdal KDC doesn't detect s4u2self correctly when fast
    is in use; (bso#15477).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1698062400">- packaging: samba-tool domain provision requires python3-Markdown;
  (bsc#1216519).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1701086400">- Update to 4.19.3
  * sid_strings test broken by unix epoch &gt; 1700000000;
    (bso#15520).
  * smbd crashes if asked to return full information on close of
    a stream handle with delete on close disposition set;
    (bso#15487).
  * smbd: fix close order of base_fsp and stream_fsp in
    smb_fname_fsp_destructor(); (bso#15521).
  * Improve logging for failover scenarios; (bso#15499).
  * Files without "read attributes" NFS4 ACL permission are not
    listed in directories; (bso#15093).
  * CVE-2018-14628 [SECURITY] Deleted Object tombstones visible
    in AD LDAP to normal users; (bso#13595).
  * Kerberos TGS-REQ with User2User does not work for normal
    accounts; (bso#15492).
  * vfs_gpfs stat calls fail due to file system permissions;
    (bso#15507).
  * Samba doesn't build with Python 3.12; (bso#15513).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704801600">- Update to 4.19.4
  * net changesecretpw cannot set the machine account password if
    secrets.tdb is empty; (bso#13577).
  * For generating doc, take, if defined, env XML_CATALOG_FILES;
    (bso#15540).
  * Trivial C typo in nsswitch/winbind_nss_netbsd.c; (bso#15541).
  * vfs_linux_xfs is incorrectly named; (bso#15542).
  * systemd stumbled over copyright-message at smbd startup;
    (bso#15377).
  * Following intermediate abolute share-local symlinks is
    broken; (bso#15505).
  * ctdb RELEASE_IP causes a crash in release_ip if a connection
    to a non-public address disconnects first; (bso#15523).
  * shadow_copy2 broken when current fileset's directories are
    removed; (bso#15544).
  * smbd does not detect ctdb public ipv6 addresses for
    multichannel exclusion; (bso#15534).
  * 'force user = localunixuser' doesn't work if 'allow trusted
    domains = no' is set; (bso#15469).
  * smbget debug logging doesn't work; (bso#15525).
  * smget: username in the smburl and interactive password entry
    doesn't work; (bso#15532).
  * smbget auth function doesn't set values for password prompt
    correctly; (bso#15538).
  * Unable to copy and write files from clients to Ceph cluster
    via SMB Linux gateway with Ceph VFS module; (bso#15440).
  * Multichannel refresh network information; (bso#15547).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704888000">- Remove -x from bash shebang update-apparmor-samba-profile;
  (bsc#1218431).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1708430400">- Update to 4.19.5
  * Windows 2016 fails to restore previous version of a file from
    a shadow_copy2 snapshot; (bso#13688).
  * Symlinks on AIX are broken in 4.19 (and a few version before
    that); (bso#15549).
  * Fake directory create times has no effect; (bso#12421).
  * ctime mixed up with mtime by smbd; (bso#15550).
  * samba-gpupdate --rsop fails if machine is not in a site;
    (bso#15548).
  * gpupdate: The root cert import when NDES is not available is
    broken; (bso#15557).
  * samba-gpupdate should print a useful message if cepces-submit
    can't be found; (bso#15552).
  * samba-gpupdate logging doesn't work; (bso#15558).
  * smbpasswd reset permissions only if not 0600; (bso#15555).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1715860800">- Update to 4.20.1
  * dns update debug message is too noisy; (bso#15630);
  * Do not fail PAC validation for RFC8009 checksums types; (bso#15635);
  * Improve performance of lookup_groupmem() in idmap_ad; (bso#15605);
  * Smbcacls incorrectly propagates inheritance with Inherit-Only flag; (bso#15636);
  * http library doesn't support 'chunked transfer encoding'; (bso#15611);
  * Provide a systemd service file for the background queue daemon; (bso#15600);
- Update to 4.20.0
  New features:
  * samba-tool user getpassword / syncpasswords ;rounds= change
  * Group Managed service account client-side features
  * New Windows Search Protocol Client
  * Allow 'smbcacls' to save/restore DACLs to file
  * Samba-tool extensions for AD Claims, Authentication Policies and Silos
  * AD DC support for Authentication Silos and Authentication Policies
  * Conditional ACEs and Resource Attribute ACEs
  * Service Witness Protocol [MS-SWN]
  Removed features:
  * Get locally logged on users from utmp
  Fixed bugs:
  * Avoid null-dereference with bad claims; (bso#15606);
  * ndr_pull_security_ace can leave resource attribute ACE coda
    claim struct undefined; (bso#15613);
  * fd_handle_destructor() panics within an smbd_smb2_close() if
    vfs_stat_fsp() fails in fd_close(); (bso#15527);
  * set_nt_acl sometimes fails with NT_STATUS_INVALID_PARAMETER -
    openat() EACCES; (bso#15583);
  * libgpo: Segfault in python bindings; (bso#15599);
  * Samba AD is missing some authentication policy tests;
    (bso#15607);
  * samba-gpupdate: Correctly implement site support; (bso#15588);
  * Remove unsupported "Final" keyword missing from Python 3.6;
    (bso#15575);
  * Additional witness backports for 4.20.0; (bso#15577);
  * Error output with wspsearch; (bso#15579);
  * Packet marshalling push support missing for
    CTDB_CONTROL_TCP_CLIENT_DISCONNECTED and
    CTDB_CONTROL_TCP_CLIENT_PASSED; (bso#15580);
  * Performance regression for NDR parsing of security
    descriptors; (bso#15574);
  * Build and install man page for wspsearch client utility;
    (bso#15565);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1717416000">- Fix non deterministic builds; (bsc#1225754); (bso#13213);</changelog>
</package>
<package pkgid="5101785e4233d856b33a3ccd0e947238cd2eb4f7ecba31c22a704deead8660b935679706dbc508d61029ed2a4887b4c706015168688da27b167c98118b99b8bb" name="ctdb-pcp-pmda-debuginfo" arch="i586">
  <version epoch="0" ver="4.20.1+git.339.cf6e153bb2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1676376000">- Update to 4.17.5
  * smbc_getxattr() return value is incorrect; (bso#14808);
  * Compound SMB2 FLUSH+CLOSE requests from MacOSX are not handled
    correctly; (bso#15172);
  * synthetic_pathref AFP_AfpInfo failed errors; (bso#15210);
  * samba-tool gpo listall fails IPv6 only - finddcs() fails to find DC
    when there is only an AAAA record for the DC in DNS; (bso#15226);
  * smbd crashes if an FSCTL request is done on a stream handle; (bso#15236);
  * DFS links don't work anymore on Mac clients since 4.17; (bso#15277);
  * vfs_virusfilter segfault on access, directory edgecase
    (accessing NULL value); (bso#15283);
  * CVE-2022-38023 [SECURITY] Samba should refuse RC4 (aka md5) based
    SChannel on NETLOGON (additional changes); (bso#15240);
  * %U for include directive doesn't work for share listing
    (netshareenum); (bso#15243);
  * Shares missing from netshareenum response in samba 4.17.4;
    (bso#15266);
  * ctdb: use-after-free in run_proc; (bso#15269);
  * irpc_destructor may crash during shutdown; (bso#15280);
  * auth3_generate_session_info_pac leaks wbcAuthUserInfo; (bso#15286);
  * smbclient segfaults with use after free on an optimized build;
    (bso#15268);
  * smbstatus leaking files in msg.sock and msg.lock; (bso#15282);
  * Leak in wbcCtxPingDc2; (bso#15164);
  * Access based share enum does not work in Samba 4.16+; (bso#15265);
  * Crash during share enumeration; (bso#15267);
  * rep_listxattr on FreeBSD does not properly check for reads off
    end of returned buffer; (bso#15271);
  * Avoid relying on C89 features in a few places; (bso#15281);
- named crashes on DLZ zone update; (bso#14030); (bsc#1206996);
- Drop libnsl build requirement; (bsc#1208220);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1679054400">- Update to 4.18.0
  * SMB server performance improvements
  * More succinct samba-tool error messages
  * Color output with samba-tool --color
    The NO_COLOR environment variable will disable colour output
  * New samba-tool dsacl subcommand for deleting ACEs
  * New wbinfo option --change-secret-at
  * Net option to change the NT ACL default location
  * Azure AD / Office365 synchronization improvements</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1680091200">- Update to 4.18.1
  * CVE-2023-0225: AD DC "dnsHostname" attribute can be
    deleted by unprivileged authenticated users.
    (bso#15276);(bsc#1209483).
  * CVE-2023-0614: Access controlled AD LDAP attributes can be
    discovered  (bso#15270); (bsc#1209485).
  * CVE-2023-0922: Samba AD DC admin tool samba-tool sends
    passwords in cleartext(bso#15315);(bsc#1209481).
  * ldb wildcard matching makes excessive allocations;
    (bso#15331).
  * large_ldap test is inefficient; (bso#15332).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1685620800">- Update to 4.18.3
  * Symlinks to files can have random DOS mode information in a
    directory listing; (bso#15375).
  * vfs_fruit might cause a failing open for delete; (bso#15378).
  * winbind recurses into itself via rpcd_lsad; (bso#15361).
  * wbinfo -u fails on ad dc with &gt;1000 users; (bso#15366).
  * DS ACEs might be inherited to unrelated object classes;
    (bso#15338).
  * a lot of messages: get_static_share_mode_data:
    get_static_share_mode_data_fn failed: NT_STATUS_NOT_FOUND;
    (bso#15362).
  * aes256 smb3 encryption algorithms are not allowed in
    smb3_sid_parse(); (bso#15374).
  * Setting veto files = /.*/ break listing directories;
    (bso#15360).
  * "samba-tool domain provision" does not run interactive mode
    if no arguments are given; (bso#15363).
  * dsgetdcname: assumes local system uses IPv4; (bso#15325).
- Update to 4.18.2
  * Log flood: smbd_calculate_access_mask_fsp: Access denied:
    message level should be lower; (bso#15302).
  * Floating point exception (FPE) via cli_pull_send at
    source3/libsmb/clireadwrite.c; (bso#15306).
  * test_tstream_more_tcp_user_timeout_spin fails intermittently
    on Rackspace GitLab runners; (bso#15328).
  * Reduce flapping of ridalloc test; (bso#15329).
  * large_ldap test is unreliable; (bso#15351).
  * New filename parser doesn't check veto files smb.conf
    parameter; (bso#15143).
  * mdssvc may crash when initializing; (bso#15354).
  * large directory optimization broken for non-lcomp path
    elements; (bso#15313).
  * streams_depot fails to create streams; (bso#15357).
  * shadow_copy2 and streams_depot don't play well together;
    (bso#15358).
  * Flapping tests in samba_tool_drs_show_repl.py; (bso#15316).
  * winbindd idmap child contacts the domain controller without a
    need; (bso#15317).
  * idmap_autorid may fail to map sids of trusted domains for the
    first time; (bso#15318).
  * idmap_hash doesn't use ID_TYPE_BOTH for reverse mappings;
    (bso#15319).
  * net ads search -P doesn't work against servers in other
    domains; (bso#15323).
  * Temporary smbXsrv_tcon_global.tdb can't be parsed;
    (bso#15353).
  * Tests use depricated and removed methods like
    assertRegexpMatches; (bso#15343).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1688644800">- Update to 4.18.4
  * Backport --pidl-developer fixes; (bso#15404).
  * Named crashes on DLZ zone update; (bso#14030).
  * smbcacls and smbcquotas do not check // before the server;
    (bso#2312).
  * cli_list loops 100% CPU against pre-lanman2 servers;
    (bso#15382).
  * smbclient leaks fds with showacls; (bso#15391).
  * smbd returns NOT_FOUND when creating files on a r/o
    filesystem; (bso#15402).
  * NSS_WRAPPER_HOSTNAME doesn't match NSS_WRAPPER_HOSTS entry
    and causes test timeouts; (bso#15355).
  * net ads lookup (with unspecified realm) fails; (bso#15384).
  * Register Samba processes with GPFS; (bso#15381).
  * Python tarfile extraction needs change to avoid a warning
    (CVE-2007-4559 mitigation); (bso#15390).
  * The winbind child segfaults when listing users with `winbind
    scan trusted domains = yes`; (bso#15398).
  * Remove comments about deprecated 'write cache size';
    (bso#15383).
  * smbget memory leak if failed to download files recursively;
    (bso#15403).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1689768000">- Update to 4.18.5
  * CVE-2022-2127: lm_resp_len not checked properly in
    winbindd_pam_auth_crap_send; (bso#15072); (bsc#1213174).
  * CVE-2023-34966: Samba Spotlight mdssvc RPC Request Infinite
    Loop Denial-of-Service Vulnerability; (bso#15340); (bsc#1213173).
  * CVE-2023-34967: Samba Spotlight mdssvc RPC Request Type
    Confusion Denial-of-Service Vulnerability; (bso#15341); (bsc#1213172).
  * CVE-2023-34968: Spotlight server-side Share Path Disclosure;
    (bso#15388); (bsc#1213171).
  * CVE-2023-3347: Samba doesn't require SMB2+ signing if
    `server signing = mandatory` is set; (bso#15397); (bsc#1213170).
  * secure channel faulty since Windows 10/11 update 07/2023;
    (bso#15418); (bsc#1213384).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1691496000">- Move libcluster-samba4.so from samba-libs to samba-client-libs;
  (bsc#1213940);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1692619200">- Update to 4.18.6
  * reply_sesssetup_and_X() can dereference uninitialized tmp pointer;
    (bso#15420);
  * Missing return in reply_exit_done(); (bso#15430);
  * post-exec password redaction for samba-tool is more reliable for fully
    random passwords as it no longer uses regular expressions containing the
    password value itself; (bso#15289);
  * Windows client join fails if a second container CN=System exists somewhere;
    (bso#9959);
  * Spotlight sometimes returns no results on latest macOS; (bso#15342);
  * Renaming results in NT_STATUS_SHARING_VIOLATION if previously attempted to
    remove the destination; (bso#15417);
  * Spotlight results return wrong date in result list; (bso#15427);
  * "net offlinejoin provision" does not work as non-root user; (bso#15414);
  * rpcserver no longer accepts double backslash in dfs pathname; (bso#15400);
  * cm_prepare_connection() calls close(fd) for the second time; (bso#15433);
  * 2-3min delays at reconnect with smb2_validate_sequence_number: bad
    message_id 2; (bso#15346);
  * samba-tool ntacl get segfault if aio_pthread appended; (bso#15441);
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed; (bso#15446);
  * Python tarfile extraction needs change to avoid a warning (CVE-2007-4559
    mitigation); (bso#15390);
  * Regression DFS not working with widelinks = true; (bso#15435);
  * mdssvc: Do an early talloc_free() in _mdssvc_open(); (bso#15449);</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1695729600">- Update to 4.19.0
  * File doesn't show when user doesn't have permission if
    aio_pthread is loaded; (bso#15453).
  * ctdb_killtcp fails to work with --enable-pcap and libpcap ≥
    1.9.1; (bso#15451).
  * Logging to stdout/stderr with DEBUG_SYSLOG_FORMAT_ALWAYS can
    log to syslog; (bso#15460).
  * ‘samba-tool domain level raise’ fails unless given a URL;
    (bso#15458).
  * reply_sesssetup_and_X() can dereference uninitialized tmp
    pointer; (bso#15420).
  * missing return in reply_exit_done(); (bso#15430).
  * TREE_CONNECT without SETUP causes smbd to use uninitialized
    pointer; (bso#15432).
  * Avoid infinite loop in initial user sync with Azure AD
    Connect when synchronising a large Samba AD domain;
    (bso#15401).
  * Samba replication logs show (null) DN; (bso#15407).
  * 2-3min delays at reconnect with
    smb2_validate_sequence_number: bad message_id 2; (bso#15346).
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed;
    (bso#15446).
  * CID 1539212 causes real issue when output contains only
    newlines; (bso#15438).
  * KDC encodes INT64 claims incorrectly; (bso#15452).
  * mdssvc: Do an early talloc_free() in _mdssvc_open();
    (bso#15449).
  * Windows client join fails if a second container CN=System
    exists somewhere; (bso#9959).
  * regression DFS not working with widelinks = true;
    (bso#15435).
  * Heimdal fails to build on 32-bit FreeBSD; (bso#15443).
  * samba-tool ntacl get segfault if aio_pthread appended;
    (bso#15441).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1696939200">- CVE-2023-4091: samba: Client can truncate file with read-only
  permissions; (bsc#1215904); (bso#15439).
- CVE-2023-42669: samba: rpcecho, enabled and running in AD DC,
  allows blocking sleep on request; (bso#1215905); (bso#15474).
- CVE-2023-42670: samba:  The procedure number is out of range
  when starting Active Directory Users and Computers;
  (bsc#1215906); (bso#15473).
- CVE-2023-3961: samba: Unsanitized client pipe name passed to
  local_np_connect(); (bsc#1215907); (bso#15422).
- CVE-2023-4154: samba: dirsync allows SYSTEM access with only
  "GUID_DRS_GET_CHANGES" right, not "GUID_DRS_GET_ALL_CHANGES;
  (bsc#1215908); (bso#15424).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112000">- use systemd-logind rather than utmp for y2038 safety;
  (bsc#1216159).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112001">- packaging: Remove /etc/slp.reg.d from samba spec file;
  (bsc#1216160)</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697457600">- Update to 4.19.2
  * Use-after-free in aio_del_req_from_fsp during smbd shutdown
    after failed IPC FSCTL_PIPE_TRANSCEIVE; (bso#15423).
  * clidfs.c do_connect() missing a "return" after a
    cli_shutdown() call; (bso#15426).
  * macOS mdfind returns only 50 results; (bso#15463).
  * GETREALFILENAME_CACHE can modify incoming new filename with
    previous cache entry value; (bso#15481).
  * libnss_winbind causes memory corruption since samba-4.18,
    impacts sendmail, zabbix, potentially more; (bso#15464).
  * ctdbd: setproctitle not initialized messages flooding logs;
    (bso#15479).
  * CVE-2023-5568 Heap buffer overflow with freshness tokens in
    the Heimdal KDC in Samba 4.19; (bso#15491).
  * The heimdal KDC doesn't detect s4u2self correctly when fast
    is in use; (bso#15477).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1698062400">- packaging: samba-tool domain provision requires python3-Markdown;
  (bsc#1216519).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1701086400">- Update to 4.19.3
  * sid_strings test broken by unix epoch &gt; 1700000000;
    (bso#15520).
  * smbd crashes if asked to return full information on close of
    a stream handle with delete on close disposition set;
    (bso#15487).
  * smbd: fix close order of base_fsp and stream_fsp in
    smb_fname_fsp_destructor(); (bso#15521).
  * Improve logging for failover scenarios; (bso#15499).
  * Files without "read attributes" NFS4 ACL permission are not
    listed in directories; (bso#15093).
  * CVE-2018-14628 [SECURITY] Deleted Object tombstones visible
    in AD LDAP to normal users; (bso#13595).
  * Kerberos TGS-REQ with User2User does not work for normal
    accounts; (bso#15492).
  * vfs_gpfs stat calls fail due to file system permissions;
    (bso#15507).
  * Samba doesn't build with Python 3.12; (bso#15513).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704801600">- Update to 4.19.4
  * net changesecretpw cannot set the machine account password if
    secrets.tdb is empty; (bso#13577).
  * For generating doc, take, if defined, env XML_CATALOG_FILES;
    (bso#15540).
  * Trivial C typo in nsswitch/winbind_nss_netbsd.c; (bso#15541).
  * vfs_linux_xfs is incorrectly named; (bso#15542).
  * systemd stumbled over copyright-message at smbd startup;
    (bso#15377).
  * Following intermediate abolute share-local symlinks is
    broken; (bso#15505).
  * ctdb RELEASE_IP causes a crash in release_ip if a connection
    to a non-public address disconnects first; (bso#15523).
  * shadow_copy2 broken when current fileset's directories are
    removed; (bso#15544).
  * smbd does not detect ctdb public ipv6 addresses for
    multichannel exclusion; (bso#15534).
  * 'force user = localunixuser' doesn't work if 'allow trusted
    domains = no' is set; (bso#15469).
  * smbget debug logging doesn't work; (bso#15525).
  * smget: username in the smburl and interactive password entry
    doesn't work; (bso#15532).
  * smbget auth function doesn't set values for password prompt
    correctly; (bso#15538).
  * Unable to copy and write files from clients to Ceph cluster
    via SMB Linux gateway with Ceph VFS module; (bso#15440).
  * Multichannel refresh network information; (bso#15547).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704888000">- Remove -x from bash shebang update-apparmor-samba-profile;
  (bsc#1218431).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1708430400">- Update to 4.19.5
  * Windows 2016 fails to restore previous version of a file from
    a shadow_copy2 snapshot; (bso#13688).
  * Symlinks on AIX are broken in 4.19 (and a few version before
    that); (bso#15549).
  * Fake directory create times has no effect; (bso#12421).
  * ctime mixed up with mtime by smbd; (bso#15550).
  * samba-gpupdate --rsop fails if machine is not in a site;
    (bso#15548).
  * gpupdate: The root cert import when NDES is not available is
    broken; (bso#15557).
  * samba-gpupdate should print a useful message if cepces-submit
    can't be found; (bso#15552).
  * samba-gpupdate logging doesn't work; (bso#15558).
  * smbpasswd reset permissions only if not 0600; (bso#15555).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1715860800">- Update to 4.20.1
  * dns update debug message is too noisy; (bso#15630);
  * Do not fail PAC validation for RFC8009 checksums types; (bso#15635);
  * Improve performance of lookup_groupmem() in idmap_ad; (bso#15605);
  * Smbcacls incorrectly propagates inheritance with Inherit-Only flag; (bso#15636);
  * http library doesn't support 'chunked transfer encoding'; (bso#15611);
  * Provide a systemd service file for the background queue daemon; (bso#15600);
- Update to 4.20.0
  New features:
  * samba-tool user getpassword / syncpasswords ;rounds= change
  * Group Managed service account client-side features
  * New Windows Search Protocol Client
  * Allow 'smbcacls' to save/restore DACLs to file
  * Samba-tool extensions for AD Claims, Authentication Policies and Silos
  * AD DC support for Authentication Silos and Authentication Policies
  * Conditional ACEs and Resource Attribute ACEs
  * Service Witness Protocol [MS-SWN]
  Removed features:
  * Get locally logged on users from utmp
  Fixed bugs:
  * Avoid null-dereference with bad claims; (bso#15606);
  * ndr_pull_security_ace can leave resource attribute ACE coda
    claim struct undefined; (bso#15613);
  * fd_handle_destructor() panics within an smbd_smb2_close() if
    vfs_stat_fsp() fails in fd_close(); (bso#15527);
  * set_nt_acl sometimes fails with NT_STATUS_INVALID_PARAMETER -
    openat() EACCES; (bso#15583);
  * libgpo: Segfault in python bindings; (bso#15599);
  * Samba AD is missing some authentication policy tests;
    (bso#15607);
  * samba-gpupdate: Correctly implement site support; (bso#15588);
  * Remove unsupported "Final" keyword missing from Python 3.6;
    (bso#15575);
  * Additional witness backports for 4.20.0; (bso#15577);
  * Error output with wspsearch; (bso#15579);
  * Packet marshalling push support missing for
    CTDB_CONTROL_TCP_CLIENT_DISCONNECTED and
    CTDB_CONTROL_TCP_CLIENT_PASSED; (bso#15580);
  * Performance regression for NDR parsing of security
    descriptors; (bso#15574);
  * Build and install man page for wspsearch client utility;
    (bso#15565);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1717416000">- Fix non deterministic builds; (bsc#1225754); (bso#13213);</changelog>
</package>
<package pkgid="be487d632b358237baa65ab8b5289c0964c7576e3c3478c3707e95409f1bb766e49744b87623176181f8fe4f7cbc05ef308dc1b950709ace61ef2993dec0e946" name="ctdb-pcp-pmda-debuginfo" arch="x86_64">
  <version epoch="0" ver="4.20.1+git.339.cf6e153bb2" rel="1.0.2.1.sr20240605"/>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1676376000">- Update to 4.17.5
  * smbc_getxattr() return value is incorrect; (bso#14808);
  * Compound SMB2 FLUSH+CLOSE requests from MacOSX are not handled
    correctly; (bso#15172);
  * synthetic_pathref AFP_AfpInfo failed errors; (bso#15210);
  * samba-tool gpo listall fails IPv6 only - finddcs() fails to find DC
    when there is only an AAAA record for the DC in DNS; (bso#15226);
  * smbd crashes if an FSCTL request is done on a stream handle; (bso#15236);
  * DFS links don't work anymore on Mac clients since 4.17; (bso#15277);
  * vfs_virusfilter segfault on access, directory edgecase
    (accessing NULL value); (bso#15283);
  * CVE-2022-38023 [SECURITY] Samba should refuse RC4 (aka md5) based
    SChannel on NETLOGON (additional changes); (bso#15240);
  * %U for include directive doesn't work for share listing
    (netshareenum); (bso#15243);
  * Shares missing from netshareenum response in samba 4.17.4;
    (bso#15266);
  * ctdb: use-after-free in run_proc; (bso#15269);
  * irpc_destructor may crash during shutdown; (bso#15280);
  * auth3_generate_session_info_pac leaks wbcAuthUserInfo; (bso#15286);
  * smbclient segfaults with use after free on an optimized build;
    (bso#15268);
  * smbstatus leaking files in msg.sock and msg.lock; (bso#15282);
  * Leak in wbcCtxPingDc2; (bso#15164);
  * Access based share enum does not work in Samba 4.16+; (bso#15265);
  * Crash during share enumeration; (bso#15267);
  * rep_listxattr on FreeBSD does not properly check for reads off
    end of returned buffer; (bso#15271);
  * Avoid relying on C89 features in a few places; (bso#15281);
- named crashes on DLZ zone update; (bso#14030); (bsc#1206996);
- Drop libnsl build requirement; (bsc#1208220);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1679054400">- Update to 4.18.0
  * SMB server performance improvements
  * More succinct samba-tool error messages
  * Color output with samba-tool --color
    The NO_COLOR environment variable will disable colour output
  * New samba-tool dsacl subcommand for deleting ACEs
  * New wbinfo option --change-secret-at
  * Net option to change the NT ACL default location
  * Azure AD / Office365 synchronization improvements</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1680091200">- Update to 4.18.1
  * CVE-2023-0225: AD DC "dnsHostname" attribute can be
    deleted by unprivileged authenticated users.
    (bso#15276);(bsc#1209483).
  * CVE-2023-0614: Access controlled AD LDAP attributes can be
    discovered  (bso#15270); (bsc#1209485).
  * CVE-2023-0922: Samba AD DC admin tool samba-tool sends
    passwords in cleartext(bso#15315);(bsc#1209481).
  * ldb wildcard matching makes excessive allocations;
    (bso#15331).
  * large_ldap test is inefficient; (bso#15332).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1685620800">- Update to 4.18.3
  * Symlinks to files can have random DOS mode information in a
    directory listing; (bso#15375).
  * vfs_fruit might cause a failing open for delete; (bso#15378).
  * winbind recurses into itself via rpcd_lsad; (bso#15361).
  * wbinfo -u fails on ad dc with &gt;1000 users; (bso#15366).
  * DS ACEs might be inherited to unrelated object classes;
    (bso#15338).
  * a lot of messages: get_static_share_mode_data:
    get_static_share_mode_data_fn failed: NT_STATUS_NOT_FOUND;
    (bso#15362).
  * aes256 smb3 encryption algorithms are not allowed in
    smb3_sid_parse(); (bso#15374).
  * Setting veto files = /.*/ break listing directories;
    (bso#15360).
  * "samba-tool domain provision" does not run interactive mode
    if no arguments are given; (bso#15363).
  * dsgetdcname: assumes local system uses IPv4; (bso#15325).
- Update to 4.18.2
  * Log flood: smbd_calculate_access_mask_fsp: Access denied:
    message level should be lower; (bso#15302).
  * Floating point exception (FPE) via cli_pull_send at
    source3/libsmb/clireadwrite.c; (bso#15306).
  * test_tstream_more_tcp_user_timeout_spin fails intermittently
    on Rackspace GitLab runners; (bso#15328).
  * Reduce flapping of ridalloc test; (bso#15329).
  * large_ldap test is unreliable; (bso#15351).
  * New filename parser doesn't check veto files smb.conf
    parameter; (bso#15143).
  * mdssvc may crash when initializing; (bso#15354).
  * large directory optimization broken for non-lcomp path
    elements; (bso#15313).
  * streams_depot fails to create streams; (bso#15357).
  * shadow_copy2 and streams_depot don't play well together;
    (bso#15358).
  * Flapping tests in samba_tool_drs_show_repl.py; (bso#15316).
  * winbindd idmap child contacts the domain controller without a
    need; (bso#15317).
  * idmap_autorid may fail to map sids of trusted domains for the
    first time; (bso#15318).
  * idmap_hash doesn't use ID_TYPE_BOTH for reverse mappings;
    (bso#15319).
  * net ads search -P doesn't work against servers in other
    domains; (bso#15323).
  * Temporary smbXsrv_tcon_global.tdb can't be parsed;
    (bso#15353).
  * Tests use depricated and removed methods like
    assertRegexpMatches; (bso#15343).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1688644800">- Update to 4.18.4
  * Backport --pidl-developer fixes; (bso#15404).
  * Named crashes on DLZ zone update; (bso#14030).
  * smbcacls and smbcquotas do not check // before the server;
    (bso#2312).
  * cli_list loops 100% CPU against pre-lanman2 servers;
    (bso#15382).
  * smbclient leaks fds with showacls; (bso#15391).
  * smbd returns NOT_FOUND when creating files on a r/o
    filesystem; (bso#15402).
  * NSS_WRAPPER_HOSTNAME doesn't match NSS_WRAPPER_HOSTS entry
    and causes test timeouts; (bso#15355).
  * net ads lookup (with unspecified realm) fails; (bso#15384).
  * Register Samba processes with GPFS; (bso#15381).
  * Python tarfile extraction needs change to avoid a warning
    (CVE-2007-4559 mitigation); (bso#15390).
  * The winbind child segfaults when listing users with `winbind
    scan trusted domains = yes`; (bso#15398).
  * Remove comments about deprecated 'write cache size';
    (bso#15383).
  * smbget memory leak if failed to download files recursively;
    (bso#15403).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1689768000">- Update to 4.18.5
  * CVE-2022-2127: lm_resp_len not checked properly in
    winbindd_pam_auth_crap_send; (bso#15072); (bsc#1213174).
  * CVE-2023-34966: Samba Spotlight mdssvc RPC Request Infinite
    Loop Denial-of-Service Vulnerability; (bso#15340); (bsc#1213173).
  * CVE-2023-34967: Samba Spotlight mdssvc RPC Request Type
    Confusion Denial-of-Service Vulnerability; (bso#15341); (bsc#1213172).
  * CVE-2023-34968: Spotlight server-side Share Path Disclosure;
    (bso#15388); (bsc#1213171).
  * CVE-2023-3347: Samba doesn't require SMB2+ signing if
    `server signing = mandatory` is set; (bso#15397); (bsc#1213170).
  * secure channel faulty since Windows 10/11 update 07/2023;
    (bso#15418); (bsc#1213384).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1691496000">- Move libcluster-samba4.so from samba-libs to samba-client-libs;
  (bsc#1213940);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1692619200">- Update to 4.18.6
  * reply_sesssetup_and_X() can dereference uninitialized tmp pointer;
    (bso#15420);
  * Missing return in reply_exit_done(); (bso#15430);
  * post-exec password redaction for samba-tool is more reliable for fully
    random passwords as it no longer uses regular expressions containing the
    password value itself; (bso#15289);
  * Windows client join fails if a second container CN=System exists somewhere;
    (bso#9959);
  * Spotlight sometimes returns no results on latest macOS; (bso#15342);
  * Renaming results in NT_STATUS_SHARING_VIOLATION if previously attempted to
    remove the destination; (bso#15417);
  * Spotlight results return wrong date in result list; (bso#15427);
  * "net offlinejoin provision" does not work as non-root user; (bso#15414);
  * rpcserver no longer accepts double backslash in dfs pathname; (bso#15400);
  * cm_prepare_connection() calls close(fd) for the second time; (bso#15433);
  * 2-3min delays at reconnect with smb2_validate_sequence_number: bad
    message_id 2; (bso#15346);
  * samba-tool ntacl get segfault if aio_pthread appended; (bso#15441);
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed; (bso#15446);
  * Python tarfile extraction needs change to avoid a warning (CVE-2007-4559
    mitigation); (bso#15390);
  * Regression DFS not working with widelinks = true; (bso#15435);
  * mdssvc: Do an early talloc_free() in _mdssvc_open(); (bso#15449);</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1695729600">- Update to 4.19.0
  * File doesn't show when user doesn't have permission if
    aio_pthread is loaded; (bso#15453).
  * ctdb_killtcp fails to work with --enable-pcap and libpcap ≥
    1.9.1; (bso#15451).
  * Logging to stdout/stderr with DEBUG_SYSLOG_FORMAT_ALWAYS can
    log to syslog; (bso#15460).
  * ‘samba-tool domain level raise’ fails unless given a URL;
    (bso#15458).
  * reply_sesssetup_and_X() can dereference uninitialized tmp
    pointer; (bso#15420).
  * missing return in reply_exit_done(); (bso#15430).
  * TREE_CONNECT without SETUP causes smbd to use uninitialized
    pointer; (bso#15432).
  * Avoid infinite loop in initial user sync with Azure AD
    Connect when synchronising a large Samba AD domain;
    (bso#15401).
  * Samba replication logs show (null) DN; (bso#15407).
  * 2-3min delays at reconnect with
    smb2_validate_sequence_number: bad message_id 2; (bso#15346).
  * DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed;
    (bso#15446).
  * CID 1539212 causes real issue when output contains only
    newlines; (bso#15438).
  * KDC encodes INT64 claims incorrectly; (bso#15452).
  * mdssvc: Do an early talloc_free() in _mdssvc_open();
    (bso#15449).
  * Windows client join fails if a second container CN=System
    exists somewhere; (bso#9959).
  * regression DFS not working with widelinks = true;
    (bso#15435).
  * Heimdal fails to build on 32-bit FreeBSD; (bso#15443).
  * samba-tool ntacl get segfault if aio_pthread appended;
    (bso#15441).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1696939200">- CVE-2023-4091: samba: Client can truncate file with read-only
  permissions; (bsc#1215904); (bso#15439).
- CVE-2023-42669: samba: rpcecho, enabled and running in AD DC,
  allows blocking sleep on request; (bso#1215905); (bso#15474).
- CVE-2023-42670: samba:  The procedure number is out of range
  when starting Active Directory Users and Computers;
  (bsc#1215906); (bso#15473).
- CVE-2023-3961: samba: Unsanitized client pipe name passed to
  local_np_connect(); (bsc#1215907); (bso#15422).
- CVE-2023-4154: samba: dirsync allows SYSTEM access with only
  "GUID_DRS_GET_CHANGES" right, not "GUID_DRS_GET_ALL_CHANGES;
  (bsc#1215908); (bso#15424).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112000">- use systemd-logind rather than utmp for y2038 safety;
  (bsc#1216159).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697112001">- packaging: Remove /etc/slp.reg.d from samba spec file;
  (bsc#1216160)</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1697457600">- Update to 4.19.2
  * Use-after-free in aio_del_req_from_fsp during smbd shutdown
    after failed IPC FSCTL_PIPE_TRANSCEIVE; (bso#15423).
  * clidfs.c do_connect() missing a "return" after a
    cli_shutdown() call; (bso#15426).
  * macOS mdfind returns only 50 results; (bso#15463).
  * GETREALFILENAME_CACHE can modify incoming new filename with
    previous cache entry value; (bso#15481).
  * libnss_winbind causes memory corruption since samba-4.18,
    impacts sendmail, zabbix, potentially more; (bso#15464).
  * ctdbd: setproctitle not initialized messages flooding logs;
    (bso#15479).
  * CVE-2023-5568 Heap buffer overflow with freshness tokens in
    the Heimdal KDC in Samba 4.19; (bso#15491).
  * The heimdal KDC doesn't detect s4u2self correctly when fast
    is in use; (bso#15477).</changelog>
  <changelog author="David Mulder &lt;dmulder@suse.com&gt;" date="1698062400">- packaging: samba-tool domain provision requires python3-Markdown;
  (bsc#1216519).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1701086400">- Update to 4.19.3
  * sid_strings test broken by unix epoch &gt; 1700000000;
    (bso#15520).
  * smbd crashes if asked to return full information on close of
    a stream handle with delete on close disposition set;
    (bso#15487).
  * smbd: fix close order of base_fsp and stream_fsp in
    smb_fname_fsp_destructor(); (bso#15521).
  * Improve logging for failover scenarios; (bso#15499).
  * Files without "read attributes" NFS4 ACL permission are not
    listed in directories; (bso#15093).
  * CVE-2018-14628 [SECURITY] Deleted Object tombstones visible
    in AD LDAP to normal users; (bso#13595).
  * Kerberos TGS-REQ with User2User does not work for normal
    accounts; (bso#15492).
  * vfs_gpfs stat calls fail due to file system permissions;
    (bso#15507).
  * Samba doesn't build with Python 3.12; (bso#15513).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704801600">- Update to 4.19.4
  * net changesecretpw cannot set the machine account password if
    secrets.tdb is empty; (bso#13577).
  * For generating doc, take, if defined, env XML_CATALOG_FILES;
    (bso#15540).
  * Trivial C typo in nsswitch/winbind_nss_netbsd.c; (bso#15541).
  * vfs_linux_xfs is incorrectly named; (bso#15542).
  * systemd stumbled over copyright-message at smbd startup;
    (bso#15377).
  * Following intermediate abolute share-local symlinks is
    broken; (bso#15505).
  * ctdb RELEASE_IP causes a crash in release_ip if a connection
    to a non-public address disconnects first; (bso#15523).
  * shadow_copy2 broken when current fileset's directories are
    removed; (bso#15544).
  * smbd does not detect ctdb public ipv6 addresses for
    multichannel exclusion; (bso#15534).
  * 'force user = localunixuser' doesn't work if 'allow trusted
    domains = no' is set; (bso#15469).
  * smbget debug logging doesn't work; (bso#15525).
  * smget: username in the smburl and interactive password entry
    doesn't work; (bso#15532).
  * smbget auth function doesn't set values for password prompt
    correctly; (bso#15538).
  * Unable to copy and write files from clients to Ceph cluster
    via SMB Linux gateway with Ceph VFS module; (bso#15440).
  * Multichannel refresh network information; (bso#15547).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1704888000">- Remove -x from bash shebang update-apparmor-samba-profile;
  (bsc#1218431).</changelog>
  <changelog author="Noel Power &lt;nopower@suse.com&gt;" date="1708430400">- Update to 4.19.5
  * Windows 2016 fails to restore previous version of a file from
    a shadow_copy2 snapshot; (bso#13688).
  * Symlinks on AIX are broken in 4.19 (and a few version before
    that); (bso#15549).
  * Fake directory create times has no effect; (bso#12421).
  * ctime mixed up with mtime by smbd; (bso#15550).
  * samba-gpupdate --rsop fails if machine is not in a site;
    (bso#15548).
  * gpupdate: The root cert import when NDES is not available is
    broken; (bso#15557).
  * samba-gpupdate should print a useful message if cepces-submit
    can't be found; (bso#15552).
  * samba-gpupdate logging doesn't work; (bso#15558).
  * smbpasswd reset permissions only if not 0600; (bso#15555).</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1715860800">- Update to 4.20.1
  * dns update debug message is too noisy; (bso#15630);
  * Do not fail PAC validation for RFC8009 checksums types; (bso#15635);
  * Improve performance of lookup_groupmem() in idmap_ad; (bso#15605);
  * Smbcacls incorrectly propagates inheritance with Inherit-Only flag; (bso#15636);
  * http library doesn't support 'chunked transfer encoding'; (bso#15611);
  * Provide a systemd service file for the background queue daemon; (bso#15600);
- Update to 4.20.0
  New features:
  * samba-tool user getpassword / syncpasswords ;rounds= change
  * Group Managed service account client-side features
  * New Windows Search Protocol Client
  * Allow 'smbcacls' to save/restore DACLs to file
  * Samba-tool extensions for AD Claims, Authentication Policies and Silos
  * AD DC support for Authentication Silos and Authentication Policies
  * Conditional ACEs and Resource Attribute ACEs
  * Service Witness Protocol [MS-SWN]
  Removed features:
  * Get locally logged on users from utmp
  Fixed bugs:
  * Avoid null-dereference with bad claims; (bso#15606);
  * ndr_pull_security_ace can leave resource attribute ACE coda
    claim struct undefined; (bso#15613);
  * fd_handle_destructor() panics within an smbd_smb2_close() if
    vfs_stat_fsp() fails in fd_close(); (bso#15527);
  * set_nt_acl sometimes fails with NT_STATUS_INVALID_PARAMETER -
    openat() EACCES; (bso#15583);
  * libgpo: Segfault in python bindings; (bso#15599);
  * Samba AD is missing some authentication policy tests;
    (bso#15607);
  * samba-gpupdate: Correctly implement site support; (bso#15588);
  * Remove unsupported "Final" keyword missing from Python 3.6;
    (bso#15575);
  * Additional witness backports for 4.20.0; (bso#15577);
  * Error output with wspsearch; (bso#15579);
  * Packet marshalling push support missing for
    CTDB_CONTROL_TCP_CLIENT_DISCONNECTED and
    CTDB_CONTROL_TCP_CLIENT_PASSED; (bso#15580);
  * Performance regression for NDR parsing of security
    descriptors; (bso#15574);
  * Build and install man page for wspsearch client utility;
    (bso#15565);</changelog>
  <changelog author="Samuel Cabrero &lt;scabrero@suse.de&gt;" date="1717416000">- Fix non deterministic builds; (bsc#1225754); (bso#13213);</changelog>
</package>
<package pkgid="5e8365f9a7d74e753e1ae1f2e45241114569824ae311e01ec015a488dfbdfbd91885d9b1da168d8bb7695f4e6a01ae4b32985c025cf2b4e1a59467e89b5ef685" name="cups" arch="i586">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="c9684ed2db23798e461443d7e07eadb3fe917015555afc0b56f5931e48504ed254a6e044771e97d4a3857d0dc88b019a4b74acdda18afca821f8ad49985efee4" name="cups" arch="src">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="e38263eae3608bfef2f743ef9265ef24299f554caa86704d73390a041dadcd7b6a52bf96ca6dd159f399c1ba0d2ed18e9889a0f412ce4545be695d15c3d5295e" name="cups" arch="x86_64">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="3ff62fd784ca5855f1d2ce5a78558f804d089dc6233287e0589c75a2e03a637dee6c529f3df1c79b238c5d97d1cb99eea58dc407920ec686ff3ad500b1e3fdb1" name="cups" arch="i586">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="6613fae20caae0a1ac79c35d850f20ba458bf2480f281a62c5a22fd1259dc7e1efe931a808a9133a9f7fb53e28134d4d37c7448466c04931ddb36f1299fac4a3" name="cups" arch="src">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="140aeccbca0ffb54baf2140110d6bc0a90bdb73672e29d85da94fa37b76085c147972224f86627615bd06789e89c9cf7ca65c921d056f6832a8fb0831a301abf" name="cups" arch="x86_64">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="7c3e793b8f71e48aeca3bccdb3c21f8d31709e4dc5d6a6df3b919395b597a59791018d65658acd13c8904039c478f1767f0bdde2b039945116726644144d4fe3" name="cups-client" arch="i586">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="7fc5010e016ab27e389fa18c679d2eda8ce792130d5801d402d883b0d29ad6396d1dbf7107476017dfe39d557acdf0ad69a375e6d4f6d3d5d9df831a6be32a34" name="cups-client" arch="x86_64">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="d90b143077436b80b94d6e40b8fe0e7151b005408dc86f7bbe08b9678ca3e8bbfc7856032231f705ea549ad33c5ae05266fed97aabb86284f46f7e6b05431554" name="cups-client" arch="i586">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="1a0c0a5f76b64c5a4994a667354ab5fe9444e5b411d685cf26108c3fa035ea4c3f03344f57ca8293b056c2b29c2126392f3b4b30ae59422a97f194aa17f5cdc5" name="cups-client" arch="x86_64">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="6bf0402c484dd386e0e13f97b0cf5737574de9cffd4b7f1fe78efd54a54befe14628496f7d944cb8298b4bb768d037576afdb54442c648915516747ca5a5c3e5" name="cups-client-debuginfo" arch="i586">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="bba3759a6ab993978ebd00d6c9c9700c7d0affbfb07a807a49dcae15604385223e0675a8e8701c5927da005f6b3f8678ca603210e8d7e4341405f2ac7c8ef561" name="cups-client-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="ab49fa48e5ffe3ddaf7859d0abf93b25a93ebcbf84355febd382e37a77cb7998b78a99f7ee226d91271f6737fc9e3ee4496ac78b6ee67a6519d1874ac9358530" name="cups-client-debuginfo" arch="i586">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="911a9ad4897f9ed84487b432624a55e971776592faf6591621c29a7ce09908215e71a81bdb2861ae7b4e6391988316a5020dbb403ddb5c03d72c4d6e2adfa401" name="cups-client-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="1918b495f5397c932534a89e68097edb0bae10eb2a93db15b27cc0b7f5df4595a2331388d5f1b2f9990471ceb4e2aff3364c81bb51ab245cf1a817c4137f3916" name="cups-config" arch="i586">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="37fb8f728678d2d0ec7616a63f71416487233d0305b7eef8783afc5085fb260d1adcf1490df2a355458f513759efe5bc9b3ea37408809c1dd058ed268c71c31e" name="cups-config" arch="x86_64">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="09d0ae9b94f9c242382d460637c4980b62f833461d0437f8a80032d91baef239a6a8527f65973fc321c8153b9bb8885ce090a7220980aa39230fa8424b658324" name="cups-config" arch="i586">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="9d7fc38b4cba5486174797dcd0acfc3aa60888a7e7c99b8a1e5dd229fb435950ade6f1f851862a988812d3d99e3d7acb9f10a6e7690611c796a2504c96a28fb8" name="cups-config" arch="x86_64">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="45aceee299e48dc79bf9f090e2c9d154b74720817c5b5c3e1904f02b75afba02d3c49141db701b6c11408202015f141189c491a73c8ce422f712a24098d47c39" name="cups-ddk" arch="i586">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="ab946b455b4eae6d2f69854f9867b233df51d64b6746a744247e542e8cf05467c1699b6efd3811346c793bdbbe744c378df021a2d0b01eada72ce1515a2d3069" name="cups-ddk" arch="x86_64">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="a798c74357e9ca43dfac351eec53e10572986faaa525d103b86aed502f39846bdc3099cd35636e35a5f4ce1c15730d7bdadf755c300e87805dfb0e5a00b1de77" name="cups-ddk" arch="i586">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="b2c4e43adc42fa011c5c698df3df5b9587dfdc46a6b63b54ed4c33dbcad8e4e2a61acc4ee7c01e0e856520d8c807b0159648f51aa608271b9e74bfd942c2e650" name="cups-ddk" arch="x86_64">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="4c5c31a7b30e4dc40958e934b64cc016a0963ca3d46b96ea7ffdbbab7b6786f85be0282fe928c7cad58185671a49c50b82feda71076a8a03de7ad19981501d94" name="cups-ddk-debuginfo" arch="i586">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="189f0e2316cb9307de93a2a921dddac8da1f8f340e926fb2ac4060df8590aef9f1d23ee6a4f2cf0b97f290c71581cc0d51718d1fc363d756b558ab54a757b43d" name="cups-ddk-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="9507473cfbc83287283c81b8d478c4314013cc1bcb16798a2ce79ae612e197b18f48c1b170195f0cd473d12aee7b7c9c223a04f8c8d35431aa7bd9ea24491fdb" name="cups-ddk-debuginfo" arch="i586">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="84d785edb6f946e8441928cb36a27dbd8c6e48d3dcdd357fdda84de642fb2bcdb725ab274546a8cd76f857bbd9aa4c47319be6e6e8ead0762af0572e2d2eccf0" name="cups-ddk-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="c75ffa3b7c11aac8e0f0d8526fbfeed261c2ef095cc776c3410d2880a428c33520de9fbe88c38825e606e4886b53dea97128e24b15c3395c8a7138c8e5d0a924" name="cups-debuginfo" arch="i586">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="5cd8637b11000b54a94860a2ef2576756cc5662c25ec3e9f4bc28ff062f11cfdce93a1f1c02cf155021e71236b9921fd253739e61634d5ba5e26799bc2df135a" name="cups-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="23fcdaa4370ed214e54b39b34e9669d425de4bb4831402e13bbb171b794aa2960c3034b5ae91a1fb95694d80a440bd0ef7a0f4d711e3780b594d8ccf4ee0eb4c" name="cups-debuginfo" arch="i586">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="d9013144b481520b21fb7388c8d6d6a92639bc9ab8c84d36b713e0273315736ac11d0da456be9162de539a04dd2583834458349664832919c40fde17b1c26f22" name="cups-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="74e7e6a97018b462eb24244c90482406ff0f0b5bd1b6899a0618ccabfcd5b871900f3cef98cf0618b0760a7142cdda567b32a4a82131e0f1cd46ade21989a637" name="cups-debugsource" arch="i586">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="0ffbca596595b2433a499cb1e391a701507aaebc7a7dc12946cc53a3109b634bcb8b2a0e738f3041253036ab87157f71f476666760b1a6a545db3ee785f2a1c7" name="cups-debugsource" arch="x86_64">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="039a6a9fa2116faaeb155bb8cc1a66652c985f1af6f39e06cdabbcaba254dd493272312201ddb594b349d832c496316ac1284e5e181165e5c16992118a80b379" name="cups-debugsource" arch="i586">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="9b2a0e0b7dd0b8715d49c9226d5bd2c46473ab94815796c11be42a8d74e37db1d04db6dd9421a321ae6d1a4e9a57132d0454f14aa6511f7bff4cede95c8a3f48" name="cups-debugsource" arch="x86_64">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="644f3bb2ce583fe1a729884bf148228dbefb32db27948b90b81b4e66fd3f2e81c342838a28614642536f5ae5abd49c011ae6a26eb6cc03709b7613ba548c3cd1" name="cups-devel" arch="i586">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="2f2ef8148d94134e083da7882a6759bd978ba3bbd89b026ac1fe345f946e2a4aebf8d4b452287af885404a7b5818a1467334ad826ee33006b17aa28f37939074" name="cups-devel" arch="x86_64">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="29897265d825de28f6d8373b8397e1c3c0c1e6da862a4e0b0e6d95f325ea9639ee4cc2c5e37d28dfb91f693ae53900a32fcc90b72a7f4b3d60a8c812ce398ede" name="cups-devel" arch="i586">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="6a32718ff60d67a451031d94b3cfbcbb1d9489700925643daf9eddc47c4b627a5975928cf09e4e8cd5a6a6042d8cca5506fed438621e5328a74b026459fff971" name="cups-devel" arch="x86_64">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="cefa84d4d202ca0d850a570edb686e79b4a9c8c58c03c64eb1b8e329cbd892587e5a81a3b7e352e606768d4faa51d1eff3d98e0eebc2819c4f5fd66a83db79e2" name="cups-devel-32bit" arch="x86_64">
  <version epoch="0" ver="2.4.10" rel="1.1"/>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1719921600">- Version upgrade to 2.4.10:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.10 brings two fixes:
  * Fixed error handling when reading a mixed 1setOf attribute.
  * Fixed scheduler start if there is only domain socket
    to listen on (Issue #985) which is fix for regression
    after fix for CVE-2024-35235 in scenarios where is
    no other listeners in cupsd.conf than domain socket
    created on demand by systemd, launchd or upstart.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.9:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.9 brings security fix for CVE-2024-35235 and
  several bug fixes regarding CUPS Web User Interface,
  PPD generation and HTTP protocol implementation.
  Detailed list (from CHANGES.md):
  * Fixed domain socket handling (CVE-2024-35235)
  * Fixed creating of `cupsUrfSupported` PPD keyword
    (Issue #952)
  * Fixed searching for destinations in web ui (Issue #954)
  * Fixed TLS negotiation using OpenSSL with servers
    that require the TLS SNI extension.
  * Really raised `cups_enum_dests()` timeout for listing
    available IPP printers (Issue #751)...
  * Fixed `Host` header regression (Issue #967)
  * Fixed DNS-SD lookups of local services with Avahi
    (Issue #970)
  * Fixed listing jobs in destinations in web ui.
    (Apple issue #6204)
  * Fixed showing search query in web ui help page.
    (Issue #977)
  Issues are those at https://github.com/OpenPrinting/cups/issues
  Apple issues are those at https://github.com/apple/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.10
- Removed cups-2.4.8-CVE-2024-35235.patch : fixed upstream
  see the above CUPS 2.4.9 changes
- avoid_C99_mode_for_loop_initial_declarations.patch avoids error
  "'for' loop initial declarations are only allowed in C99 mode"
  that happens when building for SLE12
  in scheduler/client.c at "for (char *start = ..." since
  https://github.com/OpenPrinting/cups/commit/a7eda84da73126e40400e05dd27d57f8c92d5b0d
  see https://github.com/OpenPrinting/cups/issues/1000</changelog>
</package>
<package pkgid="ea71b5afd2775f9d543b79b846ffe2c7be0ad2522f4e8f1c9740e194c27b63a960a87e7056c95981335294bedcb3f2bcd6a116008162184dc8998c5aa7b6d58f" name="cups-devel-32bit" arch="x86_64">
  <version epoch="0" ver="2.4.8" rel="1.1"/>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1634299200">- Added hardening to systemd service(s) (bsc#1181400), see
  https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
  Added patch: harden_cups.service.patch</changelog>
  <changelog author="jsmeix@suse.de" date="1643716800">- Enhanced harden_cups.service.patch by adding
  ReadWritePaths=/etc/cups
  because cupsd needs write access in /etc/cups
  (boo#1195288)</changelog>
  <changelog author="Aurelien Joga &lt;aurelienjoga@gmail.com&gt;" date="1646136000">- Version upgrade to 2.4.1:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.1 is the first bug fix release from 2.4.x series.
  Among the other bug fixes it fixes sharing default color mode
  to clients and several memory leaks.
  * The default color mode now is now configurable and defaults
    to the printer's reported default mode (Issue #277)
  * Configuration script now checks linking for -Wl,-pie flags
    (Issue #303)
  * Fixed memory leaks -
    in testi18n (Issue #313),
    in cups_enum_dests() (Issue #317),
    in _cupsEncodeOption() and http_tls_upgrade() (Issue #322)
  * Fixed missing bracket in de/index.html (Issue #299)
  * Fixed typos in configuration scripts (Issues #304, #316)
  * Removed remaining legacy code for RIP_MAX_CACHE environment
    variable (Issue #323)
  * Removed deprecated directives from cupsctl and
    cups-files.conf (Issue #300)
  * Removed purge-jobs legacy code from CGI scripts and
    templates (Issue #325)
- Version upgrade to 2.4.0:
  CUPS 2.4.0 is the latest stable OpenPrinting CUPS release.
  Among the changes from beta and release candidate
  the stable release adds two new configuration options for
  optimizing cupsd setup on servers and several other changes.
  * Added configure option --with-idle-exit-timeout (Issue #294)
  * Added --with-systemd-timeoutstartsec configure
    option (Issue #298)
  * DigestOptions now are applied for MD5 Digest authentication
    defined by RFC 2069 as well (Issue #287)
  * Fixed compilation on Solaris (Issue #293)
  * Fixed and improved German translations (Issue #296, Issue #297)
- Version upgrade to 2.4rc1:
  CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0,
  which adds two enhancements before the stable release.
  * Added warning and debug messages when loading printers
    if the queue is raw or with driver (Issue #286)
  * Compilation now uses -fstack-protector-strong
    if available (Issue #285)
- Version upgrade to 2.4b1:
  CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4
  which contains several new features such as basic OAuth support,
  support for AirPrint and Mopria clients and support for running
  CUPS as a snap, several deprecations (Kerberos, cups-config),
  removals of old deprecated directives, and many bug fixes.
  * Added support for CUPS running in a Snapcraft snap.
  * Added basic OAuth 2.0 client support (Issue #100)
  * Added support for AirPrint and Mopria clients (Issue #105)
  * Added configure support for specifying systemd dependencies
    in the CUPS service file (Issue #144)
  * Added several features and improvements to ipptool (Issue #153)
  * Added a JSON output mode for ipptool.
  * The ipptool command now correctly reports an error
    when a test file cannot be found.
  * CUPS library now uses thread safe getpwnam_r and getpwuid_r
    functions (Issue #274)
  * Fixed Kerberos authentication for the web interface (Issue #19)
  * The ZPL sample driver now supports more "standard" label
    sizes (Issue #70)
  * Fixed reporting of printer instances when enumerating and when
    no options are set for the main instance (Issue #71)
  * Reverted USB read limit enforcement change
    from CUPS 2.2.12 (Issue #72)
  * The IPP backend did not return the correct status code
    when a job was canceled at the printer/server (Issue #74)
  * The testlang unit test program now loops over all of the
    available locales by default (Issue #85)
  * The cupsfilter command now shows error messages when options
    are used incorrectly (Issue #88)
  * The PPD functions now treat boolean values as
    case-insensitive (Issue #106)
  * Temporary queue names no longer end with an
    underscore (Issue #110)
  * The USB backend now runs as root (Issue #121)
  * Added pkg-config file for libcups (Issue #122)
  * Fixed a PPD memory leak caused by emulator
    definitions (Issue #124)
  * Fixed a DISPLAY bug in ipptool (Issue #139)
  * The scheduler now includes the [Job N] prefix for job log
    messages, even when using syslog logging (Issue #154)
  * Added support for locales using the GB18030
    character set (Issue #159)
  * httpReconnect2 did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5907)
  * httpUpdate did not reset the socket file descriptor
    when the TLS negotiation failed (Apple #5915)
  * The IPP backend now retries Validate-Job requests (Issue #132)
  * Now show better error messages when a driver interface program
    fails to provide a PPD file (Issue #148)
  * Added dark mode support to the CUPS web interface (Issue #152)
  * Added a workaround for Solaris in httpAddrConnect2 (Issue #156)
  * Fixed an interaction between --remote-admin and --remote-any
    for the cupsctl command (Issue #158)
  * Now use a 60 second timeout for reading USB backchannel
    data (Issue #160)
  * The USB backend now tries harder to find a serial
    number (Issue #170)
  * Fixed @IF(name) handling in cupsd.conf (Apple #5918)
  * Fixed documentation and added examples for CUPS' limited
    CGI support (Apple #5940)
  * Fixed the lpc command prompt (Apple #5946)
  * Now always pass "localhost" in the Host: header when talking
    over a domain socket or the loopback interface (Issue #185)
  * Fixed a job history update issue in the scheduler (Issue #187)
  * Fixed job-pages-per-set value for duplex print jobs.
  * Fixed an edge case in ippReadIO to make sure that only complete
    attributes and values are retained on an error (Issue #195)
  * Hardened ippReadIO to prevent invalid IPP messages from being
    propagated (Issue #195, Issue #196)
  * The scheduler now supports the "everywhere" model
    directly (Issue #201)
  * Fixed some IPP Everywhere option mapping problems (Issue #238)
  * Fixed support for "job-hold-until" with the Restart-Job
    operation (Issue #250)
  * Fixed the default color/grayscale presets for
    IPP Everywhere PPDs (Issue #262)
  * Fixed support for the 'offline-report' state for all
    USB backends (Issue #264)
  * Documentation fixes (Issue #92, Issue #163, Issue #177,
    Issue #184)
  * Localization updates (Issue #123, Issue #129, Issue #134,
    Issue #146, Issue #164)
  * USB quirk updates (Issue #192, Issue #270, Apple #5766,
    Apple #5838, Apple #5843, Apple #5867)
  * Web interface updates (Issue #142, Issue #218)
  * The ippeveprinter tool now automatically uses an
    available port.
  * Fixed several Windows TLS and hashing issues.
  * Deprecated cups-config (Issue #97)
  * Deprecated Kerberos (AuthType Negotiate)
    authentication (Issue #98)
  * Removed support for the (long deprecated and unused)
    FontPath, ListenBackLog, LPDConfigFile, KeepAliveTimeout,
    RIPCache, and SMBConfigFile directives in cupsd.conf
    and cups-files.conf.
  * Stubbed out deprecated httpMD5 functions.
  * Add test for undefined page ranges during printing.
- downgrade-autoconf-requirement.patch downgrades the
  autoconf requirement to what is currently available in openSUSE
- fix-negotiate-authentication-between-CGIs-and-scheduler.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/3ff789ee90b18205c735e42e599eb3ee3043e88a
  https://github.com/OpenPrinting/cups/pull/19
  https://github.com/apple/cups/pull/5847
  https://github.com/apple/cups/issues/5596
- upstream_pull_174.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/43edb9df51b977d92929b084186dcd67d4f5ca44
  https://github.com/OpenPrinting/cups/pull/174
  https://github.com/OpenPrinting/cups/issues/72
- patch cups-2.1.0-cups-systemd-socket.patch
  is obsolete because it is included in the upstream code, see
  https://github.com/OpenPrinting/cups/commit/e96e96b4bd0d4e6f634bbb66b95d6e475501541c
- Updated upstream source tarball signing key in cups.keyring, see
  https://github.com/OpenPrinting/cups/discussions/327#discussioncomment-2060579
- Re-enabled the CUPS upstream testsuite via 'make test'
  and removed 'make check' because since the upstream commit
  https://github.com/OpenPrinting/cups/commit/96ba46ebc818b610b0e40cbc9d62ef1dcd3ec9b6
  the two Makefile targets 'test' and 'check' are identical.
- Changed cups-2.1.0-cups-systemd-socket.patch
  to accomodate new coding style
- Changed cups-config-libs.orig to accommodate
  recent code changes (SSL-&gt;TLS)
- Changed cups-2.1.0-default-webcontent-path.patch
  to accommodate code changes</changelog>
  <changelog author="jsmeix@suse.de" date="1646395200">- Improved comments in spec file and in changes file
- Have cups.keyring in ASCII armored format
- Do not error out when 'make test' fails in the 'check' section
  because https://github.com/OpenPrinting/cups/issues/155
  is not yet actually fixed so currently the testsuite
  still sometimes fails</changelog>
  <changelog author="jsmeix@suse.de" date="1649073600">- Have cups.pc in %{_libdir} to avoid a conflict
  that cups-devel and cups-devel-32bit would
  both contain /usr/lib/pkgconfig/cups.pc because
  when cups.pc is arch dependent it has to be in %{_libdir}
  which it is because it contains 'libdir=/usr/lib64' on x86_64
  (if it was arch independent it would have to be in %{_datadir})
  cf. https://build.opensuse.org/request/show/965680</changelog>
  <changelog author="jsmeix@suse.de" date="1653912000">- Version upgrade to 2.4.2:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.2 brings the fix for CVE-2022-26691 (#bsc1199474)
  together with LibreSSL/OpenSSL and minimal AIX support.
  * Fixed certificate strings comparison
    for Local authorization (CVE-2022-26691)
  * The `cupsFileOpen` function no longer opens files
    for append in read-write mode (Issue #291)
  * The cupsd daemon removed processing temporary
    queue (Issue #364)
  * Fixed delay in IPP backend if GNUTLS is used and endpoint
    doesn't confirm closing the connection (Issue #365)
  * Fixed conditional jump based on uninitialized value
    in cups/ppd.c (Issue #329)
  * Fixed CSS related issues in CUPS Web UI (Issue #344)
  * Fixed copyright in CUPS Web UI trailer template (Issue #346)
  * mDNS hostname in device uri is not resolved when installaling
    a permanent IPP Everywhere queue (Issues #340, #343)
  * The `lpstat` command now reports when the scheduler
    is not running (Issue #352)
  * Updated the man pages concerning the `-h` option (Issue #357)
  * Re-added LibreSSL/OpenSSL support (Issue #362)
  * Updated the Solaris smf service file (Issue #368)
  * Fixed a regression in lpoptions option support (Issue #370)
  * The scheduler now regenerates the PPD cache information after
    changing the "cupsd.conf" file (Issue #371)
  * Updated the scheduler to set "auth-info-required"
    to "username,password" if a  backend reports it needs
    authentication info but doesn't set a method
    for authentication (Issue #373)
  * Updated the configure script to look for the OpenSSL library
    the old way if pkg-config is not available (Issue #375)
  * Fixed the prototype for the `httpWriteResponse`
    function (Issue #380)
  * Brought back minimal AIX support (Issue #389)
  * `cupsGetResponse` did not always set the last error.
  * Fixed a number of old references to the Apple CUPS web page.
  * Restored the default/generic printer icon file
    for the web interface.
  * Removed old stylesheet classes that are no longer used
    by the web interface.
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.2</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1657368000">- Move the dbus-1 system.d file to /usr (bsc#1201346)</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670500800">- Migration PAM settings to /usr/etc: Saving user changed
  configuration files in /etc and restoring them while an RPM
  update.</changelog>
  <changelog author="Stefan Schubert &lt;schubi@suse.com&gt;" date="1670587200">- Migration PAM settings to /usr/etc: Fixed posttrans.
  Should only be used for TW.</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670673600">- Remove invalid %config directive on %_distconfdir/pam.d/cups</changelog>
  <changelog author="Callum Farmer &lt;gmbr3@opensuse.org&gt;" date="1670846400">- Use %_pam_vendordir</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1685620800">- cups-2.4.2-CVE-2023-32324.patch fixes CVE-2023-32324
  "Heap buffer overflow in cupsd"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7
  bsc#1211643</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1687435200">- cups-2.4.2-CVE-2023-34241.patch fixes CVE-2023-34241
  "use-after-free in cupsdAcceptClient()"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
  bsc#1212230</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211200">- cups-2.4.2-CVE-2023-32360.patch fixes CVE-2023-32360
  "Information leak through Cups-Get-Document operation"
  by requiring authentication for CUPS-Get-Document in cupsd.conf
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-7pv4-hx8c-gr4g
  bsc#1214254
- cups-2.4.2-additional_policies.patch is an updated version
  of cups-2.0.3-additional_policies.patch that replaces it
  to add the 'allowallforanybody' policy to cupsd.conf
  after cups-2.4.2-CVE-2023-32360.patch was applied</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1695211201">- cups-2.4.2-CVE-2023-4504.patch fixes CVE-2023-4504
  "CUPS PostScript Parsing Heap Overflow"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-pf5r-86w9-678h
  bsc#1215204</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706097600">- Version upgrade to 2.4.7:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.7 is released to ship the fix for CVE-2023-4504
  and several other changes, among them it is
  adding OpenSSL support for cupsHashData function and bug fixes.
  Detailed list:
  * CVE-2023-4504 - Fixed Heap-based buffer overflow when
    reading Postscript in PPD files
  * Added OpenSSL support for cupsHashData (Issue #762)
  * Fixed delays in lpd backend (Issue #741)
  * Fixed extensive logging in scheduler (Issue #604)
  * Fixed hanging of lpstat on IBM AIX (Issue #773)
  * Fixed hanging of lpstat on Solaris (Issue #156)
  * Fixed printing to stderr if we can't open cups-files.conf
    (Issue #777)
  * Fixed purging job files via cancel -x (Issue #742)
  * Fixed RFC 1179 port reserving behavior in LPD backend
    (Issue #743)
  * Fixed a bug in the PPD command interpretation code
    (Issue #768)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.6:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.6 is released to ship the fix for CVE-2023-34241
  and two other bug fixes.
  Detailed list:
  * Fix linking error on old MacOS (Issue #715)
  * Fix printing multiple files on specific printers (Issue #643)
  * Fix use-after-free when logging warnings in case of failures
    in cupsdAcceptClient() (fixes CVE-2023-34241)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Version upgrade to 2.4.5:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.5 is a hotfix release for a bug which corrupted
  locally saved certificates, which broke secured printing
  via TLS after the first print job.
- Version upgrade to 2.4.4:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.4 release is created as a hotfix for segfault
  in cupsGetNamedDest(), when caller tries to find
  the default destination and the default destination
  is not set on the machine.
- Version upgrade to 2.4.3:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements
  and many bug fixes. CUPS now implements fallback for printers
  with broken firmware, which is not capable of answering
  to IPP request get-printer-attributes with all,
  media-col-database - this enables driverless support for
  bunch of printers which don't follow IPP Everywhere standard.
  Aside from the CVE fix the most important fixes are around color
  settings, printer application support fixes and OpenSSL support.
  Detailed list of changes:
  * Added a title with device uri for found network printers
    (Issues #402, #393)
  * Added new media sizes defined by IANA (Issues #501)
  * Added quirk for GoDEX label printers (Issue #440)
  * Fixed --enable-libtool-unsupported (Issue #394)
  * Fixed configuration on RISC-V machines (Issue #404)
  * Fixed the device_uri invalid pointer for driverless printers
    with .local hostname (Issue #419)
  * Fixed an OpenSSL crash bug (Issue #409)
  * Fixed a potential SNMP OID value overflow issue (Issue #431)
  * Fixed an OpenSSL certificate loading issue (Issue #465)
  * Fixed Brazilian Portuguese translations (Issue #288)
  * Fixed cupsd default keychain location when building
    with OpenSSL (Issue #529)
  * Fixed default color settings for CMYK printers as well
    (Issue #500)
  * Fixed duplicate PPD2IPP media-type names (Issue #688)
  * Fixed possible heap buffer overflow in _cups_strlcpy()
    (fixes CVE-2023-32324)
  * Fixed InputSlot heuristic for photo sizes smaller than 5x7"
    if there is no media-source in the request (Issue #569)
  * Fixed invalid memory access during generating IPP Everywhere
    queue (Issue #466)
  * Fixed lprm if no destination is provided (Issue #457)
  * Fixed memory leaks in create_local_bg_thread() (Issue #466)
  * Fixed media size tolerance in ippeveprinter (Issue #487)
  * Fixed passing command name without path into ippeveprinter
    (Issue #629)
  * Fixed saving strings file path in printers.conf (Issue #710)
  * Fixed TLS certificate generation bugs (Issue #652)
  * ippDeleteValues would not delete the last value (Issue #556)
  * Ignore some of IPP defaults if the application sends
    its PPD alternative (Issue #484)
  * Make Letter the default size in ippevepcl (Issue #543)
  * Now accessing Admin page in Web UI requires authentication
    (Issue #518)
  * Now look for default printer on network if needed (Issue #452)
  * Now we poll media-col-database separately if we fail at first
    (Issue #599)
  * Now report fax attributes and values as needed (Issue #459)
  * Now localize HTTP responses using the Content-Language value
    (Issue #426)
  * Raised file size limit for importing PPD via Web UI
    (Issue #433)
  * Raised maximum listen backlog size to INT MAX (Issue #626)
  * Update print-color-mode if the printer is modified
    via ColorModel PPD option (Issue #451)
  * Use localhost when printing via printer application
    (Issue #353)
  * Write defaults into /etc/cups/lpoptions if we're root
    (Issue #456)
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.7
- Removed cups-2.4.2-CVE-2023-4504.patch : fixed upstream
  see the above CUPS 2.4.7 changes
- Removed cups-2.4.2-CVE-2023-32360.patch : fixed upstream via
  https://github.com/OpenPrinting/cups/commit/a0c8b9c9556882f00c68b9727a95a1b6d1452913
- Removed cups-2.4.2-CVE-2023-34241.patch : fixed upstream
  see the above CUPS 2.4.6 changes
- Removed cups-2.4.2-CVE-2023-32324.patch : fixed upstream
  see the above CUPS 2.4.3 changes</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1706875200">- Removed outdated ntadmin stuff from cups.spec (boo#1219503)</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716984000">- Update to version 2.4.8:
  See https://github.com/openprinting/cups/releases
  CUPS 2.4.8 brings many bug fixes which aggregated over the last
  half a year. It brings the important fix for race conditions
  and errors which can happen when installing permanent
  IPP Everywhere printer, support for PAM modules password-auth
  and system-auth and new option for lpstat which can show only
  the successful jobs.
  Detailed list (from CHANGES.md):
  * Added warning if the device has to be asked for
    'all,media-col-database' separately (Issue #829)
  * Added new value for 'lpstat' option '-W' - successfull - for
    getting successfully printed jobs (Issue #830)
  * Added support for PAM modules password-auth
    and system-auth (Issue #892)
  * Updated IPP Everywhere printer creation error
    reporting (Issue #347)
  * Updated and documented the MIME typing buffering
    limit (Issue #925)
  * Raised 'cups_enum_dests()' timeout for listing
    available IPP printers (Issue #751)
  * Now report an error for temporary printer defaults
    with lpadmin (Issue #237)
  * Fixed mapping of PPD InputSlot, MediaType,
    and OutputBin values (Issue #238)
  * Fixed "document-unprintable-error" handling (Issue #391)
  * Fixed the web interface not showing an error
    for a non-existent printer (Issue #423)
  * Fixed printing of jobs with job name longer than 255 chars
    on older printers (Issue #644)
  * Really backported fix for Issue #742
  * Fixed 'cupsCopyDestInfo' device connection
    detection (Issue #586)
  * Fixed "Upgrade" header handling when there is
    no TLS support (Issue #775)
  * Fixed memory leak when unloading a job (Issue #813)
  * Fixed memory leak when creating color profiles (Issue #815)
  * Fixed a punch finishing bug in the IPP Everywhere
    support (Issue #821)
  * Fixed crash in 'scan_ps()' if incoming argument
    is NULL (Issue #831)
  * Fixed setting job state reasons for successful
    jobs (Issue #832)
  * Fixed infinite loop in IPP backend if hostname
    is IP address with Kerberos (Issue #838)
  * Added additional check on socket if 'revents' from 'poll()'
    returns POLLHUP together with POLLIN or POLLOUT
    in 'httpAddrConnect2()' (Issue #839)
  * Fixed crash in 'ppdEmitString()' if 'size' is NULL (Issue #850)
  * Fixed reporting 'media-source-supported' when
    sharing printer  which has numbers as strings instead of
    keywords as 'InputSlot' values (Issue #859)
  * Fixed IPP backend to support the "print-scaling" option
    with IPP printers (Issue #862)
  * Fixed potential race condition for the creation
    of temporary queues (Issue #871)
  * Fixed 'httpGets' timeout handling (Issue #879)
  * Fixed checking for required attributes during
    PPD generation (Issue #890)
  * Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
  * Fixed sending response headers to client (Issue #927)
  * Fixed CGI program initialization and validation
    of form checkbox and text fields.
  Issues are those at https://github.com/OpenPrinting/cups/issues
- Adapted downgrade-autoconf-requirement.patch for CUPS 2.4.8</changelog>
  <changelog author="Johannes Meixner &lt;jsmeix@suse.com&gt;" date="1718107200">- cups-2.4.8-CVE-2024-35235.patch is derived
  from the upstream patch against master (CUPS 2.5)
  to apply to CUPS 2.4.8 in openSUSE Factory to fix CVE-2024-35235
  "cupsd Listen port arbitrary chmod 0140777"
  https://github.com/OpenPrinting/cups/security/advisories/GHSA-vvwp-mv6j-hw6f
  bsc#1225365</changelog>
</package>
<package pkgid="e7c5a164b73c5a6fca1cd6b42015db6dbeb8a54cf89cde67cde35269941f25440706ba5216c852e1990f49a5a65a8c496b2b346d463ebbf09f61d3b19b72b98b" name="curl" arch="i586">
  <version epoch="0" ver="8.8.0" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1684324800">- Update to 8.1.0:
  * Security fixes:
  - UAF in SSH sha256 fingerprint [bsc#1211230, CVE-2023-28319]
  - siglongjmp race condition [bsc#1211231, CVE-2023-28320]
  - IDN wildcard match [bsc#1211232, CVE-2023-28321]
  - POST-after-PUT confusion [bsc#1211233, CVE-2023-28322]
  - See also: https://curl.se/docs/security.html
  * Changes:
  - curl: add --proxy-http2
  - CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
  - hostip: refuse to resolve the .onion TLD
  - tool_writeout: add URL component variables
  * Bugfixes:
  - See full changelog here: https://curl.se/changes.html#8_1_0</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1684843200">- Update to 8.1.1:
  * Bugfixes:
  - cf-socket: completely remove the disabled
    USE_RECV_BEFORE_SEND_WORKAROUND
  - checksrc: disallow spaces before labels
  - curl_easy_getinfo: clarify on return data types
  - docs: document that curl_url_cleanup(NULL) is a safe no-op
  - hostip: move easy_lock.h include above curl_memory.h
  - http2: double http request parser max line length
  - http2: increase stream window size to 10 MB
  - lib: rename struct 'http_req' to 'httpreq'
  - ngtcp2: proper handling of uint64_t when adjusting send buffer
  - sectransp.c: make the code c89 compatible
  - select: avoid returning an error on EINTR from select() or poll()
  - url: provide better error message when URLs fail to parse
  - urlapi: allow numerical parts in the host name</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1685448000">- Update to 8.1.2:
  * Bugfixes:
  - configure: quote the assignments for run-compiler
  - configure: without pkg-config and no custom path, use -lnghttp2
  - curl: cache the --trace-time value for a second
  - http2: fix EOF handling on uploads with auth negotiation
  - http3: send EOF indicator early as possible
  - lib1560: verify more scheme guessing
  - lib: remove unused functions, make single-use static
  - libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
  - libssh: when keyboard-interactive auth fails, try password
  - misc: fix spelling mistakes
  - page-header: mention curl version and how to figure out current release
  - page-header: minor wording polish in the URL segment
  - scripts/singleuse.pl: add more API calls
  - urlapi: remove superfluous host name check</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1689768000">- Update to 8.2.0 [bsc#1213237, CVE-2023-32001]
  * Security fix:
  - CVE-2023-32001: fopen race condition
  * Changes:
  - curl: add --ca-native and --proxy-ca-native
  - curl: add --trace-ids
  - CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
  - haproxy: add --haproxy-clientip flag to set client IPs
  - lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
  * Bugfixes:
  - cf-socket: don't bypass fclosesocket callback if cancelled before connect
  - cf-socket: skip getpeername()/getsockname for TFTP
  - curl: count uploaded data to stop at the originally given size
  - curl: return error when asked to use an unsupported HTTP version
  - http2: fix crash in handling stream weights
  - http2: send HEADER &amp; DATA together if possible
  - http3/ngtcp2: upload EAGAIN handling
  - http: rectify the outgoing Cookie: header field size check
  - hyper: fix EOF handling on input
  - imap: Provide method to disable SASL if it is advertised
  - libssh2: provide error message when setting host key type fails
  - libssh2: use custom memory functions
  - ngtcp2: assigning timeout, but value is overwritten before used
  - quiche: avoid NULL deref in debug logging
  - sectransp: fix EOF handling
  - system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
  - timeval: use CLOCK_MONOTONIC_RAW if available
  - tls13-ciphers.d: include Schannel
  - tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
  - tool_operate: allow cookie lines up to 8200 bytes
  - tool_parsecfg: accept line lengths up to 10M
  - tool_writeout_json: fix encoding of control characters
  - transfer: clear credentials when redirecting to absolute URL
  - urlapi: have *set(PATH) prepend a slash if one is missing
  - urlapi: scheme must start with alpha
  - vtls: avoid memory leak if sha256 call fails
  - websocket-cb: example doing WebSocket download using callback
  - ws: make the curl_ws_meta() return pointer a const</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1690545600">- Update to 8.2.1:
  * Bugfixes:
  - cfilters: rename close/connect functions to avoid clashes
  - ciphers.d: put URL in first column
  - cmake: add 'libcurlu'/'libcurltool' for unit tests
  - cmake: update ngtcp2 detection
  - configure: check for nghttp2_session_get_stream_local_window_size
  - docs: mark two TLS options for TLS, not SSL
  - docs: provide more see also for cipher options
  - hostip: return IPv6 first for localhost resolves
  - http2: fix regression on upload EOF handling
  - http: VLH, very large header test and fixes
  - libcurl-errors.3: add CURLUE_OK
  - os400: correct EXPECTED_STRING_LASTZEROTERMINATED
  - quiche: fix lookup of transfer at multi
  - quiche: fix segfault and other things
  - rustls: update rustls-ffi 0.10.0
  - socks: print ipv6 address within brackets
  - src/mkhelp: strip off escape sequences
  - tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T
  - transfer: do not clear the credentials on redirect to absolute URL
  - unittest: remove unneeded *_LDADD
  - websocket: rename arguments/variables to match docs</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1694606400">- Update to 8.3.0: [bsc#1215026, CVE-2023-38039]
  * Changes:
  - curl: make %output{} in -w specify a file to write to
  - gskit: remove
  - lib: --disable-bindlocal builds curl without local binding support
  - nss: remove support for this TLS library
  - tool: add "variable" support
  - trace: make tracing available in non-debug builds
  - url: change default value for CURLOPT_MAXREDIRS to 30
  - urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
  * Bugfixes:
  - altsvc: accept and parse IPv6 addresses in response headers
  - asyn-ares: reduce timeout to 2000ms
  - aws-sigv4: canonicalize the query
  - aws-sigv4: fix having date header twice in some cases
  - aws-sigv4: handle no-value user header entries
  - c-hyper: adjust the hyper to curlcode conversion
  - c-hyper: fix memory leaks in `Curl_http`
  - cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
  - cf-socket: log successful interface bind
  - cmake: add GnuTLS option
  - cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
  - cmake: detect `SSL_set0_wbio` in OpenSSL
  - configure: trust pkg-config when it's used for zlib
  - configure: use the pkg-config --libs-only-l flag for libssh2
  - connect: stop halving the remaining timeout when less than 600 ms left
  - crypto: ensure crypto initialization works
  - digest: Use hostname to generate spn instead of realm
  - ftp: fix temp write of ipv6 address
  - headers: accept leading whitespaces on first response header
  - http2: fix in h2 proxy tunnel: progress in ingress on sending
  - http3/ngtcp2: shorten handshake, trace cleanup
  - http3: quiche, handshake optimization, trace cleanup
  - http: close the connection after a late 417 is received
  - http: fix sending of large requests
  - http: return error when receiving too large header set
  - lib: fix null ptr derefs and uninitialized vars (h2/h3)
  - lib: move mimepost data from -&gt;req.p.http to -&gt;state
  - list-only.d: mention SFTP as supported protocol
  - ngtcp2: fix handling of large requests
  - openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
  - openssl: clear error queue after SSL_shutdown
  - openssl: make aws-lc version support OCSP
  - openssl: Support async cert verify callback
  - openssl: switch to modern init for LibreSSL 2.7.0+
  - openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
  - quic: don't set SNI if hostname is an IP address
  - quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
  - quiche: enable quiche to handle timeout events
  - resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
  - schannel: verify hostname independent of verify cert
  - tool_filetime: make -z work with file dates before 1970
  - tool_operate: allow both SSL_CERT_FILE and SSL_CERT_DIR
  - tool_operate: make aws-sigv4 not require TLS to be used
  - transfer: also stop the sending on closed connection
  - urlapi: fix heap buffer overflow
  - urlapi: setting a blank URL ("") is not an ok URL</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1697025600">- Update to 8.4.0:
  * Security fixes:
  - SOCKS5 heap buffer overflow [bsc#1215888, CVE-2023-38545]
  - cookie injection with none file [bsc#1215889, CVE-2023-38546]
  * Changes:
  - curl: add support for the IPFS protocols via HTTP gateway
  - curl_multi_get_handles: get easy handles from a multi handle
  - mingw: delete support for legacy mingw.org toolchain
  * Bugfixes:
  - base64: also build for curl
  - cf-socket: simulate slow/blocked receives in debug
  - configure: check for the capath by default
  - connect: expire the timeout when trying next
  - connect: only start the happy eyeballs timer when needed
  - cookie: do not store the expire or max-age strings
  - cookie: remove unnecessary struct fields
  - cookie: set -&gt;running in cookie_init even if data is NULL
  - create-dirs.d: clarify it also uses --output-dirs
  - http2: refused stream handling for retry
  - http: h1/h2 proxy unification
  - http: use per-request counter to check too large headers
  - idn: if idn2_check_version returns NULL, return error
  - lib: enable hmac for digest as well
  - lib: let the max filesize option stop too big transfers too
  - lib: move handling of 'data-&gt;req.writer_stack' into Curl_client_write()
  - lib: provide and use Curl_hexencode
  - lib: use wrapper for curl_mime_data fseek callback
  - libssh2: fix error message on failed pubkey-from-file
  - libssh: cap SFTP packet size sent
  - MQTT: improve receive of ACKs
  - multi: do CURLM_CALL_MULTI_PERFORM at two more places
  - multi: round the timeout up to prevent early wakeups
  - openssl: improve ssl shutdown handling
  - openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
  - pytest: exclude test_03_goaway in CI runs due to timing dependency
  - quic: set ciphers/curves the same way regular TLS does
  - quiche: fix build error with --with-ca-fallback
  - socks: return error if hostname too long for remote resolve
  - tftpd: always use curl's own tftp.h
  - tool_getparam: accept variable expansion on file names too
  - upload-file.d: describe the file name slash/backslash handling
  - url: fall back to http/https proxy env-variable if ws/wss not set
  - url: fix netrc info message
  - wolfssh: do cleanup in Curl_ssh_cleanup
  - wolfssl: allow capath with CURLOPT_CAINFO_BLOB
  - wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
  - wolfssl: ignore errors in CA path
  * Rebase libcurl-ocloexec.patch</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1701864000">- Update to 8.5.0:
  * Security fixes:
  - [bsc#1217573, CVE-2023-46218] cookie mixed case PSL bypass
  - [bsc#1217574, CVE-2023-46219] HSTS long file name clears contents
  * Changes:
  - gnutls: support CURLSSLOPT_NATIVE_CA
  - HTTP3: ngtcp2 builds are no longer experimental
  * Bugfixes:
  - asyn-thread: use pipe instead of socketpair for IPC when available
  - cmake: fix OpenSSL quic detection in quiche builds
  - conncache: use the closure handle when disconnecting surplus connections
  - content_encoding: make Curl_all_content_encodings allocless
  - cookie: lowercase the domain names before PSL checks
  - Curl_http_body: cleanup properly when Curl_getformdata errors
  - CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
  - doh: provide better return code for responses w/o addresses
  - doh: use PIPEWAIT when HTTP/2 is attempted
  - duphandle: also free 'outcurl-&gt;cookies' in error path
  - duphandle: make dupset() not return with pointers to old alloced data
  - duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
  - easy: in duphandle, init the cookies for the new handle
  - easy_lock: add a pthread_mutex_t fallback
  - fopen: create new file using old file's mode
  - fopen: create short(er) temporary file name
  - getenv: PlayStation doesn't have getenv()
  - hostip: show the list of IPs when resolving is done
  - hsts: skip single-dot hostname
  - HTTP/2, HTTP/3: handle detach of onoing transfers
  - http: allow longer HTTP/2 request method names
  - hyper: temporarily remove HTTP/2 support
  - IPFS: fix IPFS_PATH and file parsing
  - multi: during ratelimit multi_getsock should return no sockets
  - multi: use pipe instead of socketpair to *wakeup()
  - ngtcp2: fix races in stream handling
  - ntlm_wb: use pipe instead of socketpair when possible
  - openssl: avoid BN_num_bits() NULL pointer derefs
  - openssl: fix building with v3 `no-deprecated` + add CI test
  - openssl: fix infof() to avoid compiler warning for %s with null
  - openssl: identify the "quictls" backend correctly
  - openssl: include SIG and KEM algorithms in verbose
  - openssl: two multi pointer checks should probably rather be asserts
  - openssl: when a session-ID is reused, skip OCSP stapling
  - quic: make eyeballers connect retries stop at weird replies
  - quic: manage connection idle timeouts
  - setopt: check CURLOPT_TFTP_BLKSIZE range on set
  - socks: better buffer size checks for socks4a user and hostname
  - socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
  - tool: fix --capath when proxy support is disabled
  - tool_getparam: limit --rate to be smaller than number of ms
  - transfer: abort pause send when connection is marked for closing
  - transfer: avoid calling the read callback again after EOF
  - transfer: only reset the FTP wildcard engine in CLEAR state
  - url: don't touch the multi handle when closing internal handles
  - urlapi: avoid null deref if setting blank host to url encode
  - urlapi: skip appending NULL pointer query
  - urlapi: when URL encoding the fragment, pass in the right length
  - vtls: cleanup SSL config management
  - vtls: consistently use typedef names for OpenSSL structs
  - vtls: late clone of connection ssl config
  - vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
  * Rebase curl-secure-getenv.patch
  * Add curl-tests-errorcodes.patch</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1704456000">- Added curl-adjust-pollset-fix.patch to fix broken MPD http streaming:
  https://github.com/curl/curl/issues/12632</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1706702400">- Update to 8.6.0: [bsc#1219149, CVE-2024-0853]
  * Security fixes:
  - CVE-2024-0853: OCSP verification bypass with TLS session reuse
  * Changes:
  - add CURLE_TOO_LARGE, CURLINFO_QUEUE_TIME_T
  * Bugfixes:
  - altsvc: free 'as' when returning error
  - asyn-ares: with modern c-ares, use its default timeout
  - cf-socket: show errno in tcpkeepalive error messages
  - cmdline-opts: update availability for the *-ca-native options
  - configure: when enabling QUIC, check that TLS supports QUIC
  - content_encoding: change return code to typedef'ed enum
  - curl: show ipfs and ipns as supported "protocols"
  - CURLINFO_REFERER.3: clarify that it is the *request* header
  - dist: add tests/errorcodes.pl to the tarball
  - gen.pl: support ## for doing .IP in table-like lists
  - GHA: bump ngtcp2, gnutls, mod_h2, quiche
  - hostip: return error immediately when Curl_ip2addr() fails
  - http3/quiche: fix result code on a stream reset
  - http3: initial support for OpenSSL 3.2 QUIC stack
  - http: check for "Host:" case insensitively
  - http: fix off-by-one error in request method length check
  - http: only act on 101 responses when they are HTTP/1.1
  - lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
  - lib: error out on multissl + http3
  - lib: fix variable undeclared error caused by `infof` changes
  - lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
  - lib: strndup/memdup instead of malloc, memcpy and null-terminate
  - libssh2: use `libssh2_session_callback_set2()` with v1.11.1
  - ngtcp2: put h3 at the front of alpn
  - openldap: fix an LDAP crash
  - openldap: fix STARTTLS
  - openssl: re-match LibreSSL deinit with init
  - rtsp: deal with borked server responses
  - sasl: make login option string override http auth
  - tool: prepend output_dir in header callback
  - tool_getparam: stop supporting `@filename` style for --cookie
  - transfer: fix upload rate limiting, add test cases
  - url: don't set default CA paths for Secure Transport backend
  - url: for disabled protocols, mention if found in redirect
  - vquic: extract TLS setup into own source
  - websockets: check for negative payload lengths
  * Remove patches fixed upstream:
  - curl-adjust-pollset-fix.patch
  - curl-tests-errorcodes.patch
  * Rebase dont-mess-with-rpmoptflags.patch</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1707393600">- Add patch to fix various TLS related issues including FTP over SSL
  transmission timeouts:
  * 0001-vtls-revert-receive-max-buffer-add-test-case.patch
- Switch to %autosetup</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1710244800">- Remove the nghttp2 version requirement as a version guard around
  the nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  function was added in curl 8.0.1.
  * Upstream commit: https://github.com/curl/curl/commit/744dcf22</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1711540800">- Update to 8.7.1:
  * Fixed empty tool_hugehelp.c file
- Update to 8.7.0:
  * Security fixes:
  - [bsc#1221665, CVE-2024-2004] Usage of disabled protocol
  - [bsc#1221667, CVE-2024-2398] HTTP/2 push headers memory-leak
  - [bsc#1221666, CVE-2024-2379] QUIC certificate check bypass with wolfSSL
  - [bsc#1221668, CVE-2024-2466] TLS certificate check bypass with mbedTLS
  * Changes:
  - configure: add --disable-docs flag
  - CURLINFO_USED_PROXY: return bool whether the proxy was used
  - digest: support SHA-512/256
  * Bugfixes:
  - asyn-thread: use wakeup_close to close the read descriptor
  - bufq: writing into a softlimit queue cannot be partial
  - cmake: add USE_OPENSSL_QUIC support
  - cookie: if psl fails, reject the cookie
  - curl: exit on config file parser errors
  - digest: add check for hashing error
  - docs/libcurl: add TLS backend info for all TLS options
  - file: use xfer buf for file:// transfers
  - ftp: do lineend conversions in client writer
  - ftp: fix socket wait activity in ftp_domore_getsock
  - http2: memory errors in the push callbacks are fatal
  - http2: push headers better cleanup
  - libssh/libssh2: return error on too big range
  - OpenSSL QUIC: adapt to v3.3.x
  - setopt: fix check for CURLOPT_PROXY_TLSAUTH_TYPE value
  - setopt: fix disabling all protocols
  - sha512_256: add support for GnuTLS and OpenSSL
  - smtp: fix STARTTLS
  - strtoofft: fix the overflow check
  - TIMER_STARTTRANSFER: set the same for everyone
  - TLS: start shutdown only when peer did not already close
  - tool_getparam: accept a blank -w ""
  - tool_getparam: handle non-existing (out of range) short-options
  - tool_operate: change precedence of server Retry-After time
  - transfer.c: break receive loop in speed limited transfers
  - version: allow building with ancient libpsl
  - vquic-tls: fix the error code returned for bad CA file
  - vtls: fix tls proxy peer verification
  - vtls: revert "receive max buffer" + add test case
  - VULN-DISCLOSURE-POLICY.md: update detail about CVE requests
  - websocket: fix curl_ws_recv()
  * Remove patch upstream:
  - 0001-vtls-revert-receive-max-buffer-add-test-case.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Spin documentation off to libcurl-devel-doc, this saves buildroots
  495 files and time (mandb is run in %posttrans).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716379200">- Add split-provides for libcurl-devel -&gt; libcurl-devel-doc.</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716379201">- Update to 8.8.0:
  * Changes:
  - curl_version_info: provide librtmp version
  - file: add support for directory listings
  - lib: add curl_multi_waitfds
  - NTLM_WB: drop support
  - TLS: add support for ECH (Encrypted Client Hello)
  - urlapi: add CURLU_GET_EMPTY for empty queries and fragments
  * Bugfixes:
  - build: prefer "USE_IPV6" macro internally (was: "ENABLE_IPV6")
  - cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set
  - cf-socket: don't try getting local IP without socket
  - cf-socket: remove references to l_ip, l_port
  - configure: make --disable-docs imply --disable-manual
  - curl.h: change CURL_SSLVERSION_* from enum to defines
  - curl_path: make Curl_get_pathname use dynbuf
  - curl_sha512_256: do not use workaround for NetBSD when not needed
  - curl_sha512_256: fix detection of OpenSSL 1.1.1 or later
  - curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY
  - DEPRECATE.md: TLS libraries without 1.3 support
  - digest: replace strcpy for empty string with simple assignment
  - doc: pytest "--repeat" -&gt; "--count"
  - docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
  - dynbuf: fix returncode on memory error
  - ftp: add tracing support
  - ftp: fix socket leak on rare error
  - gnutls: lazy init the trust settings
  - hsts: explicitly skip blank lines
  - http2 + ngtcp2: pass CURLcode errors from callbacks
  - http2, http3: decouple stream state from easy handle
  - http2: emit RST when client write fails
  - http: HEAD response body tolerance
  - http: reject HTTP major version switch mid connection
  - http: with chunked POST forced, disable length check on read callback
  - idn: make Curl_idnconvert_hostname() use Curl_idn_decode()
  - if2ip: make the buf_size arg a size_t
  - krb5: use dynbuf
  - lib/cf-h1-proxy: silence compiler warnings (gcc 14)
  - lib: add trace support for client reads and writes
  - lib: bump hash sizes to "size_t"
  - lib: clear the easy handle's saved errno before transfer
  - lib: make protocol handlers store scheme name lowercase
  - lib: merge "ENABLE_QUIC" C macro into "USE_HTTP3"
  - libssh2: set length to 0 if strdup failed
  - openssl: do not set SSL_MODE_RELEASE_BUFFERS
  - openssl: revert keylog_callback support for LibreSSL
  - OS400: fix shellcheck warnings in scripts
  - quiche: expire all active transfers on connection close
  - quiche: trust its timeout handling
  - tls: use shared init code for TCP+QUIC
  - tool_cfgable: free {proxy_}cipher13_list on exit
  - url: do not URL decode proxy crendentials
  - url: fix use of an uninitialized variable
  - url: make parse_login_details use memdup0
  - urlapi: allow setting port number zero
  - version: use msnprintf instead of strncpy
  - vtls: TLS session storage overhaul
  - wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC
  - websocket: avoid memory leak in error path</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716552000">- Fix make install for curl-config.1
  * docs/Makefile.am: make curl-config.1 install
  * Fixed upstream in: github.com/curl/curl/pull/13741
  * Add curl-make-install-curl-config.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718625600">- remove mozilla-nss code (unsupported since 8.3.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- split zsh and fish completion into subpackages to have
  proper supplements</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884801">- add multibuild for minimal libcurl flavored build (useful for
  container environments)</changelog>
</package>
<package pkgid="d76398d0a35e254299c475a584d2730b9acca2b85dabb30e69820f052fbdedaf7eda0202eb7a5de63b19579a8663182c248de8afbc3f0e190cc6671da7d2e3cc" name="curl" arch="src">
  <version epoch="0" ver="8.8.0" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1684324800">- Update to 8.1.0:
  * Security fixes:
  - UAF in SSH sha256 fingerprint [bsc#1211230, CVE-2023-28319]
  - siglongjmp race condition [bsc#1211231, CVE-2023-28320]
  - IDN wildcard match [bsc#1211232, CVE-2023-28321]
  - POST-after-PUT confusion [bsc#1211233, CVE-2023-28322]
  - See also: https://curl.se/docs/security.html
  * Changes:
  - curl: add --proxy-http2
  - CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
  - hostip: refuse to resolve the .onion TLD
  - tool_writeout: add URL component variables
  * Bugfixes:
  - See full changelog here: https://curl.se/changes.html#8_1_0</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1684843200">- Update to 8.1.1:
  * Bugfixes:
  - cf-socket: completely remove the disabled
    USE_RECV_BEFORE_SEND_WORKAROUND
  - checksrc: disallow spaces before labels
  - curl_easy_getinfo: clarify on return data types
  - docs: document that curl_url_cleanup(NULL) is a safe no-op
  - hostip: move easy_lock.h include above curl_memory.h
  - http2: double http request parser max line length
  - http2: increase stream window size to 10 MB
  - lib: rename struct 'http_req' to 'httpreq'
  - ngtcp2: proper handling of uint64_t when adjusting send buffer
  - sectransp.c: make the code c89 compatible
  - select: avoid returning an error on EINTR from select() or poll()
  - url: provide better error message when URLs fail to parse
  - urlapi: allow numerical parts in the host name</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1685448000">- Update to 8.1.2:
  * Bugfixes:
  - configure: quote the assignments for run-compiler
  - configure: without pkg-config and no custom path, use -lnghttp2
  - curl: cache the --trace-time value for a second
  - http2: fix EOF handling on uploads with auth negotiation
  - http3: send EOF indicator early as possible
  - lib1560: verify more scheme guessing
  - lib: remove unused functions, make single-use static
  - libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
  - libssh: when keyboard-interactive auth fails, try password
  - misc: fix spelling mistakes
  - page-header: mention curl version and how to figure out current release
  - page-header: minor wording polish in the URL segment
  - scripts/singleuse.pl: add more API calls
  - urlapi: remove superfluous host name check</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1689768000">- Update to 8.2.0 [bsc#1213237, CVE-2023-32001]
  * Security fix:
  - CVE-2023-32001: fopen race condition
  * Changes:
  - curl: add --ca-native and --proxy-ca-native
  - curl: add --trace-ids
  - CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
  - haproxy: add --haproxy-clientip flag to set client IPs
  - lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
  * Bugfixes:
  - cf-socket: don't bypass fclosesocket callback if cancelled before connect
  - cf-socket: skip getpeername()/getsockname for TFTP
  - curl: count uploaded data to stop at the originally given size
  - curl: return error when asked to use an unsupported HTTP version
  - http2: fix crash in handling stream weights
  - http2: send HEADER &amp; DATA together if possible
  - http3/ngtcp2: upload EAGAIN handling
  - http: rectify the outgoing Cookie: header field size check
  - hyper: fix EOF handling on input
  - imap: Provide method to disable SASL if it is advertised
  - libssh2: provide error message when setting host key type fails
  - libssh2: use custom memory functions
  - ngtcp2: assigning timeout, but value is overwritten before used
  - quiche: avoid NULL deref in debug logging
  - sectransp: fix EOF handling
  - system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
  - timeval: use CLOCK_MONOTONIC_RAW if available
  - tls13-ciphers.d: include Schannel
  - tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
  - tool_operate: allow cookie lines up to 8200 bytes
  - tool_parsecfg: accept line lengths up to 10M
  - tool_writeout_json: fix encoding of control characters
  - transfer: clear credentials when redirecting to absolute URL
  - urlapi: have *set(PATH) prepend a slash if one is missing
  - urlapi: scheme must start with alpha
  - vtls: avoid memory leak if sha256 call fails
  - websocket-cb: example doing WebSocket download using callback
  - ws: make the curl_ws_meta() return pointer a const</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1690545600">- Update to 8.2.1:
  * Bugfixes:
  - cfilters: rename close/connect functions to avoid clashes
  - ciphers.d: put URL in first column
  - cmake: add 'libcurlu'/'libcurltool' for unit tests
  - cmake: update ngtcp2 detection
  - configure: check for nghttp2_session_get_stream_local_window_size
  - docs: mark two TLS options for TLS, not SSL
  - docs: provide more see also for cipher options
  - hostip: return IPv6 first for localhost resolves
  - http2: fix regression on upload EOF handling
  - http: VLH, very large header test and fixes
  - libcurl-errors.3: add CURLUE_OK
  - os400: correct EXPECTED_STRING_LASTZEROTERMINATED
  - quiche: fix lookup of transfer at multi
  - quiche: fix segfault and other things
  - rustls: update rustls-ffi 0.10.0
  - socks: print ipv6 address within brackets
  - src/mkhelp: strip off escape sequences
  - tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T
  - transfer: do not clear the credentials on redirect to absolute URL
  - unittest: remove unneeded *_LDADD
  - websocket: rename arguments/variables to match docs</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1694606400">- Update to 8.3.0: [bsc#1215026, CVE-2023-38039]
  * Changes:
  - curl: make %output{} in -w specify a file to write to
  - gskit: remove
  - lib: --disable-bindlocal builds curl without local binding support
  - nss: remove support for this TLS library
  - tool: add "variable" support
  - trace: make tracing available in non-debug builds
  - url: change default value for CURLOPT_MAXREDIRS to 30
  - urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
  * Bugfixes:
  - altsvc: accept and parse IPv6 addresses in response headers
  - asyn-ares: reduce timeout to 2000ms
  - aws-sigv4: canonicalize the query
  - aws-sigv4: fix having date header twice in some cases
  - aws-sigv4: handle no-value user header entries
  - c-hyper: adjust the hyper to curlcode conversion
  - c-hyper: fix memory leaks in `Curl_http`
  - cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
  - cf-socket: log successful interface bind
  - cmake: add GnuTLS option
  - cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
  - cmake: detect `SSL_set0_wbio` in OpenSSL
  - configure: trust pkg-config when it's used for zlib
  - configure: use the pkg-config --libs-only-l flag for libssh2
  - connect: stop halving the remaining timeout when less than 600 ms left
  - crypto: ensure crypto initialization works
  - digest: Use hostname to generate spn instead of realm
  - ftp: fix temp write of ipv6 address
  - headers: accept leading whitespaces on first response header
  - http2: fix in h2 proxy tunnel: progress in ingress on sending
  - http3/ngtcp2: shorten handshake, trace cleanup
  - http3: quiche, handshake optimization, trace cleanup
  - http: close the connection after a late 417 is received
  - http: fix sending of large requests
  - http: return error when receiving too large header set
  - lib: fix null ptr derefs and uninitialized vars (h2/h3)
  - lib: move mimepost data from -&gt;req.p.http to -&gt;state
  - list-only.d: mention SFTP as supported protocol
  - ngtcp2: fix handling of large requests
  - openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
  - openssl: clear error queue after SSL_shutdown
  - openssl: make aws-lc version support OCSP
  - openssl: Support async cert verify callback
  - openssl: switch to modern init for LibreSSL 2.7.0+
  - openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
  - quic: don't set SNI if hostname is an IP address
  - quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
  - quiche: enable quiche to handle timeout events
  - resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
  - schannel: verify hostname independent of verify cert
  - tool_filetime: make -z work with file dates before 1970
  - tool_operate: allow both SSL_CERT_FILE and SSL_CERT_DIR
  - tool_operate: make aws-sigv4 not require TLS to be used
  - transfer: also stop the sending on closed connection
  - urlapi: fix heap buffer overflow
  - urlapi: setting a blank URL ("") is not an ok URL</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1697025600">- Update to 8.4.0:
  * Security fixes:
  - SOCKS5 heap buffer overflow [bsc#1215888, CVE-2023-38545]
  - cookie injection with none file [bsc#1215889, CVE-2023-38546]
  * Changes:
  - curl: add support for the IPFS protocols via HTTP gateway
  - curl_multi_get_handles: get easy handles from a multi handle
  - mingw: delete support for legacy mingw.org toolchain
  * Bugfixes:
  - base64: also build for curl
  - cf-socket: simulate slow/blocked receives in debug
  - configure: check for the capath by default
  - connect: expire the timeout when trying next
  - connect: only start the happy eyeballs timer when needed
  - cookie: do not store the expire or max-age strings
  - cookie: remove unnecessary struct fields
  - cookie: set -&gt;running in cookie_init even if data is NULL
  - create-dirs.d: clarify it also uses --output-dirs
  - http2: refused stream handling for retry
  - http: h1/h2 proxy unification
  - http: use per-request counter to check too large headers
  - idn: if idn2_check_version returns NULL, return error
  - lib: enable hmac for digest as well
  - lib: let the max filesize option stop too big transfers too
  - lib: move handling of 'data-&gt;req.writer_stack' into Curl_client_write()
  - lib: provide and use Curl_hexencode
  - lib: use wrapper for curl_mime_data fseek callback
  - libssh2: fix error message on failed pubkey-from-file
  - libssh: cap SFTP packet size sent
  - MQTT: improve receive of ACKs
  - multi: do CURLM_CALL_MULTI_PERFORM at two more places
  - multi: round the timeout up to prevent early wakeups
  - openssl: improve ssl shutdown handling
  - openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
  - pytest: exclude test_03_goaway in CI runs due to timing dependency
  - quic: set ciphers/curves the same way regular TLS does
  - quiche: fix build error with --with-ca-fallback
  - socks: return error if hostname too long for remote resolve
  - tftpd: always use curl's own tftp.h
  - tool_getparam: accept variable expansion on file names too
  - upload-file.d: describe the file name slash/backslash handling
  - url: fall back to http/https proxy env-variable if ws/wss not set
  - url: fix netrc info message
  - wolfssh: do cleanup in Curl_ssh_cleanup
  - wolfssl: allow capath with CURLOPT_CAINFO_BLOB
  - wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
  - wolfssl: ignore errors in CA path
  * Rebase libcurl-ocloexec.patch</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1701864000">- Update to 8.5.0:
  * Security fixes:
  - [bsc#1217573, CVE-2023-46218] cookie mixed case PSL bypass
  - [bsc#1217574, CVE-2023-46219] HSTS long file name clears contents
  * Changes:
  - gnutls: support CURLSSLOPT_NATIVE_CA
  - HTTP3: ngtcp2 builds are no longer experimental
  * Bugfixes:
  - asyn-thread: use pipe instead of socketpair for IPC when available
  - cmake: fix OpenSSL quic detection in quiche builds
  - conncache: use the closure handle when disconnecting surplus connections
  - content_encoding: make Curl_all_content_encodings allocless
  - cookie: lowercase the domain names before PSL checks
  - Curl_http_body: cleanup properly when Curl_getformdata errors
  - CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
  - doh: provide better return code for responses w/o addresses
  - doh: use PIPEWAIT when HTTP/2 is attempted
  - duphandle: also free 'outcurl-&gt;cookies' in error path
  - duphandle: make dupset() not return with pointers to old alloced data
  - duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
  - easy: in duphandle, init the cookies for the new handle
  - easy_lock: add a pthread_mutex_t fallback
  - fopen: create new file using old file's mode
  - fopen: create short(er) temporary file name
  - getenv: PlayStation doesn't have getenv()
  - hostip: show the list of IPs when resolving is done
  - hsts: skip single-dot hostname
  - HTTP/2, HTTP/3: handle detach of onoing transfers
  - http: allow longer HTTP/2 request method names
  - hyper: temporarily remove HTTP/2 support
  - IPFS: fix IPFS_PATH and file parsing
  - multi: during ratelimit multi_getsock should return no sockets
  - multi: use pipe instead of socketpair to *wakeup()
  - ngtcp2: fix races in stream handling
  - ntlm_wb: use pipe instead of socketpair when possible
  - openssl: avoid BN_num_bits() NULL pointer derefs
  - openssl: fix building with v3 `no-deprecated` + add CI test
  - openssl: fix infof() to avoid compiler warning for %s with null
  - openssl: identify the "quictls" backend correctly
  - openssl: include SIG and KEM algorithms in verbose
  - openssl: two multi pointer checks should probably rather be asserts
  - openssl: when a session-ID is reused, skip OCSP stapling
  - quic: make eyeballers connect retries stop at weird replies
  - quic: manage connection idle timeouts
  - setopt: check CURLOPT_TFTP_BLKSIZE range on set
  - socks: better buffer size checks for socks4a user and hostname
  - socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
  - tool: fix --capath when proxy support is disabled
  - tool_getparam: limit --rate to be smaller than number of ms
  - transfer: abort pause send when connection is marked for closing
  - transfer: avoid calling the read callback again after EOF
  - transfer: only reset the FTP wildcard engine in CLEAR state
  - url: don't touch the multi handle when closing internal handles
  - urlapi: avoid null deref if setting blank host to url encode
  - urlapi: skip appending NULL pointer query
  - urlapi: when URL encoding the fragment, pass in the right length
  - vtls: cleanup SSL config management
  - vtls: consistently use typedef names for OpenSSL structs
  - vtls: late clone of connection ssl config
  - vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
  * Rebase curl-secure-getenv.patch
  * Add curl-tests-errorcodes.patch</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1704456000">- Added curl-adjust-pollset-fix.patch to fix broken MPD http streaming:
  https://github.com/curl/curl/issues/12632</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1706702400">- Update to 8.6.0: [bsc#1219149, CVE-2024-0853]
  * Security fixes:
  - CVE-2024-0853: OCSP verification bypass with TLS session reuse
  * Changes:
  - add CURLE_TOO_LARGE, CURLINFO_QUEUE_TIME_T
  * Bugfixes:
  - altsvc: free 'as' when returning error
  - asyn-ares: with modern c-ares, use its default timeout
  - cf-socket: show errno in tcpkeepalive error messages
  - cmdline-opts: update availability for the *-ca-native options
  - configure: when enabling QUIC, check that TLS supports QUIC
  - content_encoding: change return code to typedef'ed enum
  - curl: show ipfs and ipns as supported "protocols"
  - CURLINFO_REFERER.3: clarify that it is the *request* header
  - dist: add tests/errorcodes.pl to the tarball
  - gen.pl: support ## for doing .IP in table-like lists
  - GHA: bump ngtcp2, gnutls, mod_h2, quiche
  - hostip: return error immediately when Curl_ip2addr() fails
  - http3/quiche: fix result code on a stream reset
  - http3: initial support for OpenSSL 3.2 QUIC stack
  - http: check for "Host:" case insensitively
  - http: fix off-by-one error in request method length check
  - http: only act on 101 responses when they are HTTP/1.1
  - lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
  - lib: error out on multissl + http3
  - lib: fix variable undeclared error caused by `infof` changes
  - lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
  - lib: strndup/memdup instead of malloc, memcpy and null-terminate
  - libssh2: use `libssh2_session_callback_set2()` with v1.11.1
  - ngtcp2: put h3 at the front of alpn
  - openldap: fix an LDAP crash
  - openldap: fix STARTTLS
  - openssl: re-match LibreSSL deinit with init
  - rtsp: deal with borked server responses
  - sasl: make login option string override http auth
  - tool: prepend output_dir in header callback
  - tool_getparam: stop supporting `@filename` style for --cookie
  - transfer: fix upload rate limiting, add test cases
  - url: don't set default CA paths for Secure Transport backend
  - url: for disabled protocols, mention if found in redirect
  - vquic: extract TLS setup into own source
  - websockets: check for negative payload lengths
  * Remove patches fixed upstream:
  - curl-adjust-pollset-fix.patch
  - curl-tests-errorcodes.patch
  * Rebase dont-mess-with-rpmoptflags.patch</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1707393600">- Add patch to fix various TLS related issues including FTP over SSL
  transmission timeouts:
  * 0001-vtls-revert-receive-max-buffer-add-test-case.patch
- Switch to %autosetup</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1710244800">- Remove the nghttp2 version requirement as a version guard around
  the nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  function was added in curl 8.0.1.
  * Upstream commit: https://github.com/curl/curl/commit/744dcf22</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1711540800">- Update to 8.7.1:
  * Fixed empty tool_hugehelp.c file
- Update to 8.7.0:
  * Security fixes:
  - [bsc#1221665, CVE-2024-2004] Usage of disabled protocol
  - [bsc#1221667, CVE-2024-2398] HTTP/2 push headers memory-leak
  - [bsc#1221666, CVE-2024-2379] QUIC certificate check bypass with wolfSSL
  - [bsc#1221668, CVE-2024-2466] TLS certificate check bypass with mbedTLS
  * Changes:
  - configure: add --disable-docs flag
  - CURLINFO_USED_PROXY: return bool whether the proxy was used
  - digest: support SHA-512/256
  * Bugfixes:
  - asyn-thread: use wakeup_close to close the read descriptor
  - bufq: writing into a softlimit queue cannot be partial
  - cmake: add USE_OPENSSL_QUIC support
  - cookie: if psl fails, reject the cookie
  - curl: exit on config file parser errors
  - digest: add check for hashing error
  - docs/libcurl: add TLS backend info for all TLS options
  - file: use xfer buf for file:// transfers
  - ftp: do lineend conversions in client writer
  - ftp: fix socket wait activity in ftp_domore_getsock
  - http2: memory errors in the push callbacks are fatal
  - http2: push headers better cleanup
  - libssh/libssh2: return error on too big range
  - OpenSSL QUIC: adapt to v3.3.x
  - setopt: fix check for CURLOPT_PROXY_TLSAUTH_TYPE value
  - setopt: fix disabling all protocols
  - sha512_256: add support for GnuTLS and OpenSSL
  - smtp: fix STARTTLS
  - strtoofft: fix the overflow check
  - TIMER_STARTTRANSFER: set the same for everyone
  - TLS: start shutdown only when peer did not already close
  - tool_getparam: accept a blank -w ""
  - tool_getparam: handle non-existing (out of range) short-options
  - tool_operate: change precedence of server Retry-After time
  - transfer.c: break receive loop in speed limited transfers
  - version: allow building with ancient libpsl
  - vquic-tls: fix the error code returned for bad CA file
  - vtls: fix tls proxy peer verification
  - vtls: revert "receive max buffer" + add test case
  - VULN-DISCLOSURE-POLICY.md: update detail about CVE requests
  - websocket: fix curl_ws_recv()
  * Remove patch upstream:
  - 0001-vtls-revert-receive-max-buffer-add-test-case.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Spin documentation off to libcurl-devel-doc, this saves buildroots
  495 files and time (mandb is run in %posttrans).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716379200">- Add split-provides for libcurl-devel -&gt; libcurl-devel-doc.</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716379201">- Update to 8.8.0:
  * Changes:
  - curl_version_info: provide librtmp version
  - file: add support for directory listings
  - lib: add curl_multi_waitfds
  - NTLM_WB: drop support
  - TLS: add support for ECH (Encrypted Client Hello)
  - urlapi: add CURLU_GET_EMPTY for empty queries and fragments
  * Bugfixes:
  - build: prefer "USE_IPV6" macro internally (was: "ENABLE_IPV6")
  - cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set
  - cf-socket: don't try getting local IP without socket
  - cf-socket: remove references to l_ip, l_port
  - configure: make --disable-docs imply --disable-manual
  - curl.h: change CURL_SSLVERSION_* from enum to defines
  - curl_path: make Curl_get_pathname use dynbuf
  - curl_sha512_256: do not use workaround for NetBSD when not needed
  - curl_sha512_256: fix detection of OpenSSL 1.1.1 or later
  - curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY
  - DEPRECATE.md: TLS libraries without 1.3 support
  - digest: replace strcpy for empty string with simple assignment
  - doc: pytest "--repeat" -&gt; "--count"
  - docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
  - dynbuf: fix returncode on memory error
  - ftp: add tracing support
  - ftp: fix socket leak on rare error
  - gnutls: lazy init the trust settings
  - hsts: explicitly skip blank lines
  - http2 + ngtcp2: pass CURLcode errors from callbacks
  - http2, http3: decouple stream state from easy handle
  - http2: emit RST when client write fails
  - http: HEAD response body tolerance
  - http: reject HTTP major version switch mid connection
  - http: with chunked POST forced, disable length check on read callback
  - idn: make Curl_idnconvert_hostname() use Curl_idn_decode()
  - if2ip: make the buf_size arg a size_t
  - krb5: use dynbuf
  - lib/cf-h1-proxy: silence compiler warnings (gcc 14)
  - lib: add trace support for client reads and writes
  - lib: bump hash sizes to "size_t"
  - lib: clear the easy handle's saved errno before transfer
  - lib: make protocol handlers store scheme name lowercase
  - lib: merge "ENABLE_QUIC" C macro into "USE_HTTP3"
  - libssh2: set length to 0 if strdup failed
  - openssl: do not set SSL_MODE_RELEASE_BUFFERS
  - openssl: revert keylog_callback support for LibreSSL
  - OS400: fix shellcheck warnings in scripts
  - quiche: expire all active transfers on connection close
  - quiche: trust its timeout handling
  - tls: use shared init code for TCP+QUIC
  - tool_cfgable: free {proxy_}cipher13_list on exit
  - url: do not URL decode proxy crendentials
  - url: fix use of an uninitialized variable
  - url: make parse_login_details use memdup0
  - urlapi: allow setting port number zero
  - version: use msnprintf instead of strncpy
  - vtls: TLS session storage overhaul
  - wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC
  - websocket: avoid memory leak in error path</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716552000">- Fix make install for curl-config.1
  * docs/Makefile.am: make curl-config.1 install
  * Fixed upstream in: github.com/curl/curl/pull/13741
  * Add curl-make-install-curl-config.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718625600">- remove mozilla-nss code (unsupported since 8.3.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- split zsh and fish completion into subpackages to have
  proper supplements</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884801">- add multibuild for minimal libcurl flavored build (useful for
  container environments)</changelog>
</package>
<package pkgid="743a10c0e0a44c206ab0ac851d3cac7b5405551005704992bf56427402618ddfc1aac5c1bb6a89858cf9fb18dd330bd06778016215716b498d95b6f683161e79" name="curl" arch="x86_64">
  <version epoch="0" ver="8.8.0" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1684324800">- Update to 8.1.0:
  * Security fixes:
  - UAF in SSH sha256 fingerprint [bsc#1211230, CVE-2023-28319]
  - siglongjmp race condition [bsc#1211231, CVE-2023-28320]
  - IDN wildcard match [bsc#1211232, CVE-2023-28321]
  - POST-after-PUT confusion [bsc#1211233, CVE-2023-28322]
  - See also: https://curl.se/docs/security.html
  * Changes:
  - curl: add --proxy-http2
  - CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
  - hostip: refuse to resolve the .onion TLD
  - tool_writeout: add URL component variables
  * Bugfixes:
  - See full changelog here: https://curl.se/changes.html#8_1_0</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1684843200">- Update to 8.1.1:
  * Bugfixes:
  - cf-socket: completely remove the disabled
    USE_RECV_BEFORE_SEND_WORKAROUND
  - checksrc: disallow spaces before labels
  - curl_easy_getinfo: clarify on return data types
  - docs: document that curl_url_cleanup(NULL) is a safe no-op
  - hostip: move easy_lock.h include above curl_memory.h
  - http2: double http request parser max line length
  - http2: increase stream window size to 10 MB
  - lib: rename struct 'http_req' to 'httpreq'
  - ngtcp2: proper handling of uint64_t when adjusting send buffer
  - sectransp.c: make the code c89 compatible
  - select: avoid returning an error on EINTR from select() or poll()
  - url: provide better error message when URLs fail to parse
  - urlapi: allow numerical parts in the host name</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1685448000">- Update to 8.1.2:
  * Bugfixes:
  - configure: quote the assignments for run-compiler
  - configure: without pkg-config and no custom path, use -lnghttp2
  - curl: cache the --trace-time value for a second
  - http2: fix EOF handling on uploads with auth negotiation
  - http3: send EOF indicator early as possible
  - lib1560: verify more scheme guessing
  - lib: remove unused functions, make single-use static
  - libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
  - libssh: when keyboard-interactive auth fails, try password
  - misc: fix spelling mistakes
  - page-header: mention curl version and how to figure out current release
  - page-header: minor wording polish in the URL segment
  - scripts/singleuse.pl: add more API calls
  - urlapi: remove superfluous host name check</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1689768000">- Update to 8.2.0 [bsc#1213237, CVE-2023-32001]
  * Security fix:
  - CVE-2023-32001: fopen race condition
  * Changes:
  - curl: add --ca-native and --proxy-ca-native
  - curl: add --trace-ids
  - CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
  - haproxy: add --haproxy-clientip flag to set client IPs
  - lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
  * Bugfixes:
  - cf-socket: don't bypass fclosesocket callback if cancelled before connect
  - cf-socket: skip getpeername()/getsockname for TFTP
  - curl: count uploaded data to stop at the originally given size
  - curl: return error when asked to use an unsupported HTTP version
  - http2: fix crash in handling stream weights
  - http2: send HEADER &amp; DATA together if possible
  - http3/ngtcp2: upload EAGAIN handling
  - http: rectify the outgoing Cookie: header field size check
  - hyper: fix EOF handling on input
  - imap: Provide method to disable SASL if it is advertised
  - libssh2: provide error message when setting host key type fails
  - libssh2: use custom memory functions
  - ngtcp2: assigning timeout, but value is overwritten before used
  - quiche: avoid NULL deref in debug logging
  - sectransp: fix EOF handling
  - system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
  - timeval: use CLOCK_MONOTONIC_RAW if available
  - tls13-ciphers.d: include Schannel
  - tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
  - tool_operate: allow cookie lines up to 8200 bytes
  - tool_parsecfg: accept line lengths up to 10M
  - tool_writeout_json: fix encoding of control characters
  - transfer: clear credentials when redirecting to absolute URL
  - urlapi: have *set(PATH) prepend a slash if one is missing
  - urlapi: scheme must start with alpha
  - vtls: avoid memory leak if sha256 call fails
  - websocket-cb: example doing WebSocket download using callback
  - ws: make the curl_ws_meta() return pointer a const</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1690545600">- Update to 8.2.1:
  * Bugfixes:
  - cfilters: rename close/connect functions to avoid clashes
  - ciphers.d: put URL in first column
  - cmake: add 'libcurlu'/'libcurltool' for unit tests
  - cmake: update ngtcp2 detection
  - configure: check for nghttp2_session_get_stream_local_window_size
  - docs: mark two TLS options for TLS, not SSL
  - docs: provide more see also for cipher options
  - hostip: return IPv6 first for localhost resolves
  - http2: fix regression on upload EOF handling
  - http: VLH, very large header test and fixes
  - libcurl-errors.3: add CURLUE_OK
  - os400: correct EXPECTED_STRING_LASTZEROTERMINATED
  - quiche: fix lookup of transfer at multi
  - quiche: fix segfault and other things
  - rustls: update rustls-ffi 0.10.0
  - socks: print ipv6 address within brackets
  - src/mkhelp: strip off escape sequences
  - tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T
  - transfer: do not clear the credentials on redirect to absolute URL
  - unittest: remove unneeded *_LDADD
  - websocket: rename arguments/variables to match docs</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1694606400">- Update to 8.3.0: [bsc#1215026, CVE-2023-38039]
  * Changes:
  - curl: make %output{} in -w specify a file to write to
  - gskit: remove
  - lib: --disable-bindlocal builds curl without local binding support
  - nss: remove support for this TLS library
  - tool: add "variable" support
  - trace: make tracing available in non-debug builds
  - url: change default value for CURLOPT_MAXREDIRS to 30
  - urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
  * Bugfixes:
  - altsvc: accept and parse IPv6 addresses in response headers
  - asyn-ares: reduce timeout to 2000ms
  - aws-sigv4: canonicalize the query
  - aws-sigv4: fix having date header twice in some cases
  - aws-sigv4: handle no-value user header entries
  - c-hyper: adjust the hyper to curlcode conversion
  - c-hyper: fix memory leaks in `Curl_http`
  - cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
  - cf-socket: log successful interface bind
  - cmake: add GnuTLS option
  - cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
  - cmake: detect `SSL_set0_wbio` in OpenSSL
  - configure: trust pkg-config when it's used for zlib
  - configure: use the pkg-config --libs-only-l flag for libssh2
  - connect: stop halving the remaining timeout when less than 600 ms left
  - crypto: ensure crypto initialization works
  - digest: Use hostname to generate spn instead of realm
  - ftp: fix temp write of ipv6 address
  - headers: accept leading whitespaces on first response header
  - http2: fix in h2 proxy tunnel: progress in ingress on sending
  - http3/ngtcp2: shorten handshake, trace cleanup
  - http3: quiche, handshake optimization, trace cleanup
  - http: close the connection after a late 417 is received
  - http: fix sending of large requests
  - http: return error when receiving too large header set
  - lib: fix null ptr derefs and uninitialized vars (h2/h3)
  - lib: move mimepost data from -&gt;req.p.http to -&gt;state
  - list-only.d: mention SFTP as supported protocol
  - ngtcp2: fix handling of large requests
  - openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
  - openssl: clear error queue after SSL_shutdown
  - openssl: make aws-lc version support OCSP
  - openssl: Support async cert verify callback
  - openssl: switch to modern init for LibreSSL 2.7.0+
  - openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
  - quic: don't set SNI if hostname is an IP address
  - quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
  - quiche: enable quiche to handle timeout events
  - resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
  - schannel: verify hostname independent of verify cert
  - tool_filetime: make -z work with file dates before 1970
  - tool_operate: allow both SSL_CERT_FILE and SSL_CERT_DIR
  - tool_operate: make aws-sigv4 not require TLS to be used
  - transfer: also stop the sending on closed connection
  - urlapi: fix heap buffer overflow
  - urlapi: setting a blank URL ("") is not an ok URL</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1697025600">- Update to 8.4.0:
  * Security fixes:
  - SOCKS5 heap buffer overflow [bsc#1215888, CVE-2023-38545]
  - cookie injection with none file [bsc#1215889, CVE-2023-38546]
  * Changes:
  - curl: add support for the IPFS protocols via HTTP gateway
  - curl_multi_get_handles: get easy handles from a multi handle
  - mingw: delete support for legacy mingw.org toolchain
  * Bugfixes:
  - base64: also build for curl
  - cf-socket: simulate slow/blocked receives in debug
  - configure: check for the capath by default
  - connect: expire the timeout when trying next
  - connect: only start the happy eyeballs timer when needed
  - cookie: do not store the expire or max-age strings
  - cookie: remove unnecessary struct fields
  - cookie: set -&gt;running in cookie_init even if data is NULL
  - create-dirs.d: clarify it also uses --output-dirs
  - http2: refused stream handling for retry
  - http: h1/h2 proxy unification
  - http: use per-request counter to check too large headers
  - idn: if idn2_check_version returns NULL, return error
  - lib: enable hmac for digest as well
  - lib: let the max filesize option stop too big transfers too
  - lib: move handling of 'data-&gt;req.writer_stack' into Curl_client_write()
  - lib: provide and use Curl_hexencode
  - lib: use wrapper for curl_mime_data fseek callback
  - libssh2: fix error message on failed pubkey-from-file
  - libssh: cap SFTP packet size sent
  - MQTT: improve receive of ACKs
  - multi: do CURLM_CALL_MULTI_PERFORM at two more places
  - multi: round the timeout up to prevent early wakeups
  - openssl: improve ssl shutdown handling
  - openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
  - pytest: exclude test_03_goaway in CI runs due to timing dependency
  - quic: set ciphers/curves the same way regular TLS does
  - quiche: fix build error with --with-ca-fallback
  - socks: return error if hostname too long for remote resolve
  - tftpd: always use curl's own tftp.h
  - tool_getparam: accept variable expansion on file names too
  - upload-file.d: describe the file name slash/backslash handling
  - url: fall back to http/https proxy env-variable if ws/wss not set
  - url: fix netrc info message
  - wolfssh: do cleanup in Curl_ssh_cleanup
  - wolfssl: allow capath with CURLOPT_CAINFO_BLOB
  - wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
  - wolfssl: ignore errors in CA path
  * Rebase libcurl-ocloexec.patch</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1701864000">- Update to 8.5.0:
  * Security fixes:
  - [bsc#1217573, CVE-2023-46218] cookie mixed case PSL bypass
  - [bsc#1217574, CVE-2023-46219] HSTS long file name clears contents
  * Changes:
  - gnutls: support CURLSSLOPT_NATIVE_CA
  - HTTP3: ngtcp2 builds are no longer experimental
  * Bugfixes:
  - asyn-thread: use pipe instead of socketpair for IPC when available
  - cmake: fix OpenSSL quic detection in quiche builds
  - conncache: use the closure handle when disconnecting surplus connections
  - content_encoding: make Curl_all_content_encodings allocless
  - cookie: lowercase the domain names before PSL checks
  - Curl_http_body: cleanup properly when Curl_getformdata errors
  - CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
  - doh: provide better return code for responses w/o addresses
  - doh: use PIPEWAIT when HTTP/2 is attempted
  - duphandle: also free 'outcurl-&gt;cookies' in error path
  - duphandle: make dupset() not return with pointers to old alloced data
  - duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
  - easy: in duphandle, init the cookies for the new handle
  - easy_lock: add a pthread_mutex_t fallback
  - fopen: create new file using old file's mode
  - fopen: create short(er) temporary file name
  - getenv: PlayStation doesn't have getenv()
  - hostip: show the list of IPs when resolving is done
  - hsts: skip single-dot hostname
  - HTTP/2, HTTP/3: handle detach of onoing transfers
  - http: allow longer HTTP/2 request method names
  - hyper: temporarily remove HTTP/2 support
  - IPFS: fix IPFS_PATH and file parsing
  - multi: during ratelimit multi_getsock should return no sockets
  - multi: use pipe instead of socketpair to *wakeup()
  - ngtcp2: fix races in stream handling
  - ntlm_wb: use pipe instead of socketpair when possible
  - openssl: avoid BN_num_bits() NULL pointer derefs
  - openssl: fix building with v3 `no-deprecated` + add CI test
  - openssl: fix infof() to avoid compiler warning for %s with null
  - openssl: identify the "quictls" backend correctly
  - openssl: include SIG and KEM algorithms in verbose
  - openssl: two multi pointer checks should probably rather be asserts
  - openssl: when a session-ID is reused, skip OCSP stapling
  - quic: make eyeballers connect retries stop at weird replies
  - quic: manage connection idle timeouts
  - setopt: check CURLOPT_TFTP_BLKSIZE range on set
  - socks: better buffer size checks for socks4a user and hostname
  - socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
  - tool: fix --capath when proxy support is disabled
  - tool_getparam: limit --rate to be smaller than number of ms
  - transfer: abort pause send when connection is marked for closing
  - transfer: avoid calling the read callback again after EOF
  - transfer: only reset the FTP wildcard engine in CLEAR state
  - url: don't touch the multi handle when closing internal handles
  - urlapi: avoid null deref if setting blank host to url encode
  - urlapi: skip appending NULL pointer query
  - urlapi: when URL encoding the fragment, pass in the right length
  - vtls: cleanup SSL config management
  - vtls: consistently use typedef names for OpenSSL structs
  - vtls: late clone of connection ssl config
  - vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
  * Rebase curl-secure-getenv.patch
  * Add curl-tests-errorcodes.patch</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1704456000">- Added curl-adjust-pollset-fix.patch to fix broken MPD http streaming:
  https://github.com/curl/curl/issues/12632</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1706702400">- Update to 8.6.0: [bsc#1219149, CVE-2024-0853]
  * Security fixes:
  - CVE-2024-0853: OCSP verification bypass with TLS session reuse
  * Changes:
  - add CURLE_TOO_LARGE, CURLINFO_QUEUE_TIME_T
  * Bugfixes:
  - altsvc: free 'as' when returning error
  - asyn-ares: with modern c-ares, use its default timeout
  - cf-socket: show errno in tcpkeepalive error messages
  - cmdline-opts: update availability for the *-ca-native options
  - configure: when enabling QUIC, check that TLS supports QUIC
  - content_encoding: change return code to typedef'ed enum
  - curl: show ipfs and ipns as supported "protocols"
  - CURLINFO_REFERER.3: clarify that it is the *request* header
  - dist: add tests/errorcodes.pl to the tarball
  - gen.pl: support ## for doing .IP in table-like lists
  - GHA: bump ngtcp2, gnutls, mod_h2, quiche
  - hostip: return error immediately when Curl_ip2addr() fails
  - http3/quiche: fix result code on a stream reset
  - http3: initial support for OpenSSL 3.2 QUIC stack
  - http: check for "Host:" case insensitively
  - http: fix off-by-one error in request method length check
  - http: only act on 101 responses when they are HTTP/1.1
  - lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
  - lib: error out on multissl + http3
  - lib: fix variable undeclared error caused by `infof` changes
  - lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
  - lib: strndup/memdup instead of malloc, memcpy and null-terminate
  - libssh2: use `libssh2_session_callback_set2()` with v1.11.1
  - ngtcp2: put h3 at the front of alpn
  - openldap: fix an LDAP crash
  - openldap: fix STARTTLS
  - openssl: re-match LibreSSL deinit with init
  - rtsp: deal with borked server responses
  - sasl: make login option string override http auth
  - tool: prepend output_dir in header callback
  - tool_getparam: stop supporting `@filename` style for --cookie
  - transfer: fix upload rate limiting, add test cases
  - url: don't set default CA paths for Secure Transport backend
  - url: for disabled protocols, mention if found in redirect
  - vquic: extract TLS setup into own source
  - websockets: check for negative payload lengths
  * Remove patches fixed upstream:
  - curl-adjust-pollset-fix.patch
  - curl-tests-errorcodes.patch
  * Rebase dont-mess-with-rpmoptflags.patch</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1707393600">- Add patch to fix various TLS related issues including FTP over SSL
  transmission timeouts:
  * 0001-vtls-revert-receive-max-buffer-add-test-case.patch
- Switch to %autosetup</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1710244800">- Remove the nghttp2 version requirement as a version guard around
  the nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  function was added in curl 8.0.1.
  * Upstream commit: https://github.com/curl/curl/commit/744dcf22</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1711540800">- Update to 8.7.1:
  * Fixed empty tool_hugehelp.c file
- Update to 8.7.0:
  * Security fixes:
  - [bsc#1221665, CVE-2024-2004] Usage of disabled protocol
  - [bsc#1221667, CVE-2024-2398] HTTP/2 push headers memory-leak
  - [bsc#1221666, CVE-2024-2379] QUIC certificate check bypass with wolfSSL
  - [bsc#1221668, CVE-2024-2466] TLS certificate check bypass with mbedTLS
  * Changes:
  - configure: add --disable-docs flag
  - CURLINFO_USED_PROXY: return bool whether the proxy was used
  - digest: support SHA-512/256
  * Bugfixes:
  - asyn-thread: use wakeup_close to close the read descriptor
  - bufq: writing into a softlimit queue cannot be partial
  - cmake: add USE_OPENSSL_QUIC support
  - cookie: if psl fails, reject the cookie
  - curl: exit on config file parser errors
  - digest: add check for hashing error
  - docs/libcurl: add TLS backend info for all TLS options
  - file: use xfer buf for file:// transfers
  - ftp: do lineend conversions in client writer
  - ftp: fix socket wait activity in ftp_domore_getsock
  - http2: memory errors in the push callbacks are fatal
  - http2: push headers better cleanup
  - libssh/libssh2: return error on too big range
  - OpenSSL QUIC: adapt to v3.3.x
  - setopt: fix check for CURLOPT_PROXY_TLSAUTH_TYPE value
  - setopt: fix disabling all protocols
  - sha512_256: add support for GnuTLS and OpenSSL
  - smtp: fix STARTTLS
  - strtoofft: fix the overflow check
  - TIMER_STARTTRANSFER: set the same for everyone
  - TLS: start shutdown only when peer did not already close
  - tool_getparam: accept a blank -w ""
  - tool_getparam: handle non-existing (out of range) short-options
  - tool_operate: change precedence of server Retry-After time
  - transfer.c: break receive loop in speed limited transfers
  - version: allow building with ancient libpsl
  - vquic-tls: fix the error code returned for bad CA file
  - vtls: fix tls proxy peer verification
  - vtls: revert "receive max buffer" + add test case
  - VULN-DISCLOSURE-POLICY.md: update detail about CVE requests
  - websocket: fix curl_ws_recv()
  * Remove patch upstream:
  - 0001-vtls-revert-receive-max-buffer-add-test-case.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Spin documentation off to libcurl-devel-doc, this saves buildroots
  495 files and time (mandb is run in %posttrans).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716379200">- Add split-provides for libcurl-devel -&gt; libcurl-devel-doc.</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716379201">- Update to 8.8.0:
  * Changes:
  - curl_version_info: provide librtmp version
  - file: add support for directory listings
  - lib: add curl_multi_waitfds
  - NTLM_WB: drop support
  - TLS: add support for ECH (Encrypted Client Hello)
  - urlapi: add CURLU_GET_EMPTY for empty queries and fragments
  * Bugfixes:
  - build: prefer "USE_IPV6" macro internally (was: "ENABLE_IPV6")
  - cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set
  - cf-socket: don't try getting local IP without socket
  - cf-socket: remove references to l_ip, l_port
  - configure: make --disable-docs imply --disable-manual
  - curl.h: change CURL_SSLVERSION_* from enum to defines
  - curl_path: make Curl_get_pathname use dynbuf
  - curl_sha512_256: do not use workaround for NetBSD when not needed
  - curl_sha512_256: fix detection of OpenSSL 1.1.1 or later
  - curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY
  - DEPRECATE.md: TLS libraries without 1.3 support
  - digest: replace strcpy for empty string with simple assignment
  - doc: pytest "--repeat" -&gt; "--count"
  - docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
  - dynbuf: fix returncode on memory error
  - ftp: add tracing support
  - ftp: fix socket leak on rare error
  - gnutls: lazy init the trust settings
  - hsts: explicitly skip blank lines
  - http2 + ngtcp2: pass CURLcode errors from callbacks
  - http2, http3: decouple stream state from easy handle
  - http2: emit RST when client write fails
  - http: HEAD response body tolerance
  - http: reject HTTP major version switch mid connection
  - http: with chunked POST forced, disable length check on read callback
  - idn: make Curl_idnconvert_hostname() use Curl_idn_decode()
  - if2ip: make the buf_size arg a size_t
  - krb5: use dynbuf
  - lib/cf-h1-proxy: silence compiler warnings (gcc 14)
  - lib: add trace support for client reads and writes
  - lib: bump hash sizes to "size_t"
  - lib: clear the easy handle's saved errno before transfer
  - lib: make protocol handlers store scheme name lowercase
  - lib: merge "ENABLE_QUIC" C macro into "USE_HTTP3"
  - libssh2: set length to 0 if strdup failed
  - openssl: do not set SSL_MODE_RELEASE_BUFFERS
  - openssl: revert keylog_callback support for LibreSSL
  - OS400: fix shellcheck warnings in scripts
  - quiche: expire all active transfers on connection close
  - quiche: trust its timeout handling
  - tls: use shared init code for TCP+QUIC
  - tool_cfgable: free {proxy_}cipher13_list on exit
  - url: do not URL decode proxy crendentials
  - url: fix use of an uninitialized variable
  - url: make parse_login_details use memdup0
  - urlapi: allow setting port number zero
  - version: use msnprintf instead of strncpy
  - vtls: TLS session storage overhaul
  - wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC
  - websocket: avoid memory leak in error path</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716552000">- Fix make install for curl-config.1
  * docs/Makefile.am: make curl-config.1 install
  * Fixed upstream in: github.com/curl/curl/pull/13741
  * Add curl-make-install-curl-config.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718625600">- remove mozilla-nss code (unsupported since 8.3.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- split zsh and fish completion into subpackages to have
  proper supplements</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884801">- add multibuild for minimal libcurl flavored build (useful for
  container environments)</changelog>
</package>
<package pkgid="a650feceb8ee0c13ab6b006adf65577094e8e8d78c2b74c97c00816ad40f2ddedf51bac55ca0f70b8224ae42f0eb2a7fa69f389ece1098d59f4a2efdb4a068d0" name="curl-debuginfo" arch="i586">
  <version epoch="0" ver="8.8.0" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1684324800">- Update to 8.1.0:
  * Security fixes:
  - UAF in SSH sha256 fingerprint [bsc#1211230, CVE-2023-28319]
  - siglongjmp race condition [bsc#1211231, CVE-2023-28320]
  - IDN wildcard match [bsc#1211232, CVE-2023-28321]
  - POST-after-PUT confusion [bsc#1211233, CVE-2023-28322]
  - See also: https://curl.se/docs/security.html
  * Changes:
  - curl: add --proxy-http2
  - CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
  - hostip: refuse to resolve the .onion TLD
  - tool_writeout: add URL component variables
  * Bugfixes:
  - See full changelog here: https://curl.se/changes.html#8_1_0</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1684843200">- Update to 8.1.1:
  * Bugfixes:
  - cf-socket: completely remove the disabled
    USE_RECV_BEFORE_SEND_WORKAROUND
  - checksrc: disallow spaces before labels
  - curl_easy_getinfo: clarify on return data types
  - docs: document that curl_url_cleanup(NULL) is a safe no-op
  - hostip: move easy_lock.h include above curl_memory.h
  - http2: double http request parser max line length
  - http2: increase stream window size to 10 MB
  - lib: rename struct 'http_req' to 'httpreq'
  - ngtcp2: proper handling of uint64_t when adjusting send buffer
  - sectransp.c: make the code c89 compatible
  - select: avoid returning an error on EINTR from select() or poll()
  - url: provide better error message when URLs fail to parse
  - urlapi: allow numerical parts in the host name</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1685448000">- Update to 8.1.2:
  * Bugfixes:
  - configure: quote the assignments for run-compiler
  - configure: without pkg-config and no custom path, use -lnghttp2
  - curl: cache the --trace-time value for a second
  - http2: fix EOF handling on uploads with auth negotiation
  - http3: send EOF indicator early as possible
  - lib1560: verify more scheme guessing
  - lib: remove unused functions, make single-use static
  - libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
  - libssh: when keyboard-interactive auth fails, try password
  - misc: fix spelling mistakes
  - page-header: mention curl version and how to figure out current release
  - page-header: minor wording polish in the URL segment
  - scripts/singleuse.pl: add more API calls
  - urlapi: remove superfluous host name check</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1689768000">- Update to 8.2.0 [bsc#1213237, CVE-2023-32001]
  * Security fix:
  - CVE-2023-32001: fopen race condition
  * Changes:
  - curl: add --ca-native and --proxy-ca-native
  - curl: add --trace-ids
  - CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
  - haproxy: add --haproxy-clientip flag to set client IPs
  - lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
  * Bugfixes:
  - cf-socket: don't bypass fclosesocket callback if cancelled before connect
  - cf-socket: skip getpeername()/getsockname for TFTP
  - curl: count uploaded data to stop at the originally given size
  - curl: return error when asked to use an unsupported HTTP version
  - http2: fix crash in handling stream weights
  - http2: send HEADER &amp; DATA together if possible
  - http3/ngtcp2: upload EAGAIN handling
  - http: rectify the outgoing Cookie: header field size check
  - hyper: fix EOF handling on input
  - imap: Provide method to disable SASL if it is advertised
  - libssh2: provide error message when setting host key type fails
  - libssh2: use custom memory functions
  - ngtcp2: assigning timeout, but value is overwritten before used
  - quiche: avoid NULL deref in debug logging
  - sectransp: fix EOF handling
  - system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
  - timeval: use CLOCK_MONOTONIC_RAW if available
  - tls13-ciphers.d: include Schannel
  - tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
  - tool_operate: allow cookie lines up to 8200 bytes
  - tool_parsecfg: accept line lengths up to 10M
  - tool_writeout_json: fix encoding of control characters
  - transfer: clear credentials when redirecting to absolute URL
  - urlapi: have *set(PATH) prepend a slash if one is missing
  - urlapi: scheme must start with alpha
  - vtls: avoid memory leak if sha256 call fails
  - websocket-cb: example doing WebSocket download using callback
  - ws: make the curl_ws_meta() return pointer a const</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1690545600">- Update to 8.2.1:
  * Bugfixes:
  - cfilters: rename close/connect functions to avoid clashes
  - ciphers.d: put URL in first column
  - cmake: add 'libcurlu'/'libcurltool' for unit tests
  - cmake: update ngtcp2 detection
  - configure: check for nghttp2_session_get_stream_local_window_size
  - docs: mark two TLS options for TLS, not SSL
  - docs: provide more see also for cipher options
  - hostip: return IPv6 first for localhost resolves
  - http2: fix regression on upload EOF handling
  - http: VLH, very large header test and fixes
  - libcurl-errors.3: add CURLUE_OK
  - os400: correct EXPECTED_STRING_LASTZEROTERMINATED
  - quiche: fix lookup of transfer at multi
  - quiche: fix segfault and other things
  - rustls: update rustls-ffi 0.10.0
  - socks: print ipv6 address within brackets
  - src/mkhelp: strip off escape sequences
  - tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T
  - transfer: do not clear the credentials on redirect to absolute URL
  - unittest: remove unneeded *_LDADD
  - websocket: rename arguments/variables to match docs</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1694606400">- Update to 8.3.0: [bsc#1215026, CVE-2023-38039]
  * Changes:
  - curl: make %output{} in -w specify a file to write to
  - gskit: remove
  - lib: --disable-bindlocal builds curl without local binding support
  - nss: remove support for this TLS library
  - tool: add "variable" support
  - trace: make tracing available in non-debug builds
  - url: change default value for CURLOPT_MAXREDIRS to 30
  - urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
  * Bugfixes:
  - altsvc: accept and parse IPv6 addresses in response headers
  - asyn-ares: reduce timeout to 2000ms
  - aws-sigv4: canonicalize the query
  - aws-sigv4: fix having date header twice in some cases
  - aws-sigv4: handle no-value user header entries
  - c-hyper: adjust the hyper to curlcode conversion
  - c-hyper: fix memory leaks in `Curl_http`
  - cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
  - cf-socket: log successful interface bind
  - cmake: add GnuTLS option
  - cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
  - cmake: detect `SSL_set0_wbio` in OpenSSL
  - configure: trust pkg-config when it's used for zlib
  - configure: use the pkg-config --libs-only-l flag for libssh2
  - connect: stop halving the remaining timeout when less than 600 ms left
  - crypto: ensure crypto initialization works
  - digest: Use hostname to generate spn instead of realm
  - ftp: fix temp write of ipv6 address
  - headers: accept leading whitespaces on first response header
  - http2: fix in h2 proxy tunnel: progress in ingress on sending
  - http3/ngtcp2: shorten handshake, trace cleanup
  - http3: quiche, handshake optimization, trace cleanup
  - http: close the connection after a late 417 is received
  - http: fix sending of large requests
  - http: return error when receiving too large header set
  - lib: fix null ptr derefs and uninitialized vars (h2/h3)
  - lib: move mimepost data from -&gt;req.p.http to -&gt;state
  - list-only.d: mention SFTP as supported protocol
  - ngtcp2: fix handling of large requests
  - openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
  - openssl: clear error queue after SSL_shutdown
  - openssl: make aws-lc version support OCSP
  - openssl: Support async cert verify callback
  - openssl: switch to modern init for LibreSSL 2.7.0+
  - openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
  - quic: don't set SNI if hostname is an IP address
  - quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
  - quiche: enable quiche to handle timeout events
  - resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
  - schannel: verify hostname independent of verify cert
  - tool_filetime: make -z work with file dates before 1970
  - tool_operate: allow both SSL_CERT_FILE and SSL_CERT_DIR
  - tool_operate: make aws-sigv4 not require TLS to be used
  - transfer: also stop the sending on closed connection
  - urlapi: fix heap buffer overflow
  - urlapi: setting a blank URL ("") is not an ok URL</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1697025600">- Update to 8.4.0:
  * Security fixes:
  - SOCKS5 heap buffer overflow [bsc#1215888, CVE-2023-38545]
  - cookie injection with none file [bsc#1215889, CVE-2023-38546]
  * Changes:
  - curl: add support for the IPFS protocols via HTTP gateway
  - curl_multi_get_handles: get easy handles from a multi handle
  - mingw: delete support for legacy mingw.org toolchain
  * Bugfixes:
  - base64: also build for curl
  - cf-socket: simulate slow/blocked receives in debug
  - configure: check for the capath by default
  - connect: expire the timeout when trying next
  - connect: only start the happy eyeballs timer when needed
  - cookie: do not store the expire or max-age strings
  - cookie: remove unnecessary struct fields
  - cookie: set -&gt;running in cookie_init even if data is NULL
  - create-dirs.d: clarify it also uses --output-dirs
  - http2: refused stream handling for retry
  - http: h1/h2 proxy unification
  - http: use per-request counter to check too large headers
  - idn: if idn2_check_version returns NULL, return error
  - lib: enable hmac for digest as well
  - lib: let the max filesize option stop too big transfers too
  - lib: move handling of 'data-&gt;req.writer_stack' into Curl_client_write()
  - lib: provide and use Curl_hexencode
  - lib: use wrapper for curl_mime_data fseek callback
  - libssh2: fix error message on failed pubkey-from-file
  - libssh: cap SFTP packet size sent
  - MQTT: improve receive of ACKs
  - multi: do CURLM_CALL_MULTI_PERFORM at two more places
  - multi: round the timeout up to prevent early wakeups
  - openssl: improve ssl shutdown handling
  - openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
  - pytest: exclude test_03_goaway in CI runs due to timing dependency
  - quic: set ciphers/curves the same way regular TLS does
  - quiche: fix build error with --with-ca-fallback
  - socks: return error if hostname too long for remote resolve
  - tftpd: always use curl's own tftp.h
  - tool_getparam: accept variable expansion on file names too
  - upload-file.d: describe the file name slash/backslash handling
  - url: fall back to http/https proxy env-variable if ws/wss not set
  - url: fix netrc info message
  - wolfssh: do cleanup in Curl_ssh_cleanup
  - wolfssl: allow capath with CURLOPT_CAINFO_BLOB
  - wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
  - wolfssl: ignore errors in CA path
  * Rebase libcurl-ocloexec.patch</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1701864000">- Update to 8.5.0:
  * Security fixes:
  - [bsc#1217573, CVE-2023-46218] cookie mixed case PSL bypass
  - [bsc#1217574, CVE-2023-46219] HSTS long file name clears contents
  * Changes:
  - gnutls: support CURLSSLOPT_NATIVE_CA
  - HTTP3: ngtcp2 builds are no longer experimental
  * Bugfixes:
  - asyn-thread: use pipe instead of socketpair for IPC when available
  - cmake: fix OpenSSL quic detection in quiche builds
  - conncache: use the closure handle when disconnecting surplus connections
  - content_encoding: make Curl_all_content_encodings allocless
  - cookie: lowercase the domain names before PSL checks
  - Curl_http_body: cleanup properly when Curl_getformdata errors
  - CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
  - doh: provide better return code for responses w/o addresses
  - doh: use PIPEWAIT when HTTP/2 is attempted
  - duphandle: also free 'outcurl-&gt;cookies' in error path
  - duphandle: make dupset() not return with pointers to old alloced data
  - duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
  - easy: in duphandle, init the cookies for the new handle
  - easy_lock: add a pthread_mutex_t fallback
  - fopen: create new file using old file's mode
  - fopen: create short(er) temporary file name
  - getenv: PlayStation doesn't have getenv()
  - hostip: show the list of IPs when resolving is done
  - hsts: skip single-dot hostname
  - HTTP/2, HTTP/3: handle detach of onoing transfers
  - http: allow longer HTTP/2 request method names
  - hyper: temporarily remove HTTP/2 support
  - IPFS: fix IPFS_PATH and file parsing
  - multi: during ratelimit multi_getsock should return no sockets
  - multi: use pipe instead of socketpair to *wakeup()
  - ngtcp2: fix races in stream handling
  - ntlm_wb: use pipe instead of socketpair when possible
  - openssl: avoid BN_num_bits() NULL pointer derefs
  - openssl: fix building with v3 `no-deprecated` + add CI test
  - openssl: fix infof() to avoid compiler warning for %s with null
  - openssl: identify the "quictls" backend correctly
  - openssl: include SIG and KEM algorithms in verbose
  - openssl: two multi pointer checks should probably rather be asserts
  - openssl: when a session-ID is reused, skip OCSP stapling
  - quic: make eyeballers connect retries stop at weird replies
  - quic: manage connection idle timeouts
  - setopt: check CURLOPT_TFTP_BLKSIZE range on set
  - socks: better buffer size checks for socks4a user and hostname
  - socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
  - tool: fix --capath when proxy support is disabled
  - tool_getparam: limit --rate to be smaller than number of ms
  - transfer: abort pause send when connection is marked for closing
  - transfer: avoid calling the read callback again after EOF
  - transfer: only reset the FTP wildcard engine in CLEAR state
  - url: don't touch the multi handle when closing internal handles
  - urlapi: avoid null deref if setting blank host to url encode
  - urlapi: skip appending NULL pointer query
  - urlapi: when URL encoding the fragment, pass in the right length
  - vtls: cleanup SSL config management
  - vtls: consistently use typedef names for OpenSSL structs
  - vtls: late clone of connection ssl config
  - vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
  * Rebase curl-secure-getenv.patch
  * Add curl-tests-errorcodes.patch</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1704456000">- Added curl-adjust-pollset-fix.patch to fix broken MPD http streaming:
  https://github.com/curl/curl/issues/12632</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1706702400">- Update to 8.6.0: [bsc#1219149, CVE-2024-0853]
  * Security fixes:
  - CVE-2024-0853: OCSP verification bypass with TLS session reuse
  * Changes:
  - add CURLE_TOO_LARGE, CURLINFO_QUEUE_TIME_T
  * Bugfixes:
  - altsvc: free 'as' when returning error
  - asyn-ares: with modern c-ares, use its default timeout
  - cf-socket: show errno in tcpkeepalive error messages
  - cmdline-opts: update availability for the *-ca-native options
  - configure: when enabling QUIC, check that TLS supports QUIC
  - content_encoding: change return code to typedef'ed enum
  - curl: show ipfs and ipns as supported "protocols"
  - CURLINFO_REFERER.3: clarify that it is the *request* header
  - dist: add tests/errorcodes.pl to the tarball
  - gen.pl: support ## for doing .IP in table-like lists
  - GHA: bump ngtcp2, gnutls, mod_h2, quiche
  - hostip: return error immediately when Curl_ip2addr() fails
  - http3/quiche: fix result code on a stream reset
  - http3: initial support for OpenSSL 3.2 QUIC stack
  - http: check for "Host:" case insensitively
  - http: fix off-by-one error in request method length check
  - http: only act on 101 responses when they are HTTP/1.1
  - lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
  - lib: error out on multissl + http3
  - lib: fix variable undeclared error caused by `infof` changes
  - lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
  - lib: strndup/memdup instead of malloc, memcpy and null-terminate
  - libssh2: use `libssh2_session_callback_set2()` with v1.11.1
  - ngtcp2: put h3 at the front of alpn
  - openldap: fix an LDAP crash
  - openldap: fix STARTTLS
  - openssl: re-match LibreSSL deinit with init
  - rtsp: deal with borked server responses
  - sasl: make login option string override http auth
  - tool: prepend output_dir in header callback
  - tool_getparam: stop supporting `@filename` style for --cookie
  - transfer: fix upload rate limiting, add test cases
  - url: don't set default CA paths for Secure Transport backend
  - url: for disabled protocols, mention if found in redirect
  - vquic: extract TLS setup into own source
  - websockets: check for negative payload lengths
  * Remove patches fixed upstream:
  - curl-adjust-pollset-fix.patch
  - curl-tests-errorcodes.patch
  * Rebase dont-mess-with-rpmoptflags.patch</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1707393600">- Add patch to fix various TLS related issues including FTP over SSL
  transmission timeouts:
  * 0001-vtls-revert-receive-max-buffer-add-test-case.patch
- Switch to %autosetup</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1710244800">- Remove the nghttp2 version requirement as a version guard around
  the nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  function was added in curl 8.0.1.
  * Upstream commit: https://github.com/curl/curl/commit/744dcf22</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1711540800">- Update to 8.7.1:
  * Fixed empty tool_hugehelp.c file
- Update to 8.7.0:
  * Security fixes:
  - [bsc#1221665, CVE-2024-2004] Usage of disabled protocol
  - [bsc#1221667, CVE-2024-2398] HTTP/2 push headers memory-leak
  - [bsc#1221666, CVE-2024-2379] QUIC certificate check bypass with wolfSSL
  - [bsc#1221668, CVE-2024-2466] TLS certificate check bypass with mbedTLS
  * Changes:
  - configure: add --disable-docs flag
  - CURLINFO_USED_PROXY: return bool whether the proxy was used
  - digest: support SHA-512/256
  * Bugfixes:
  - asyn-thread: use wakeup_close to close the read descriptor
  - bufq: writing into a softlimit queue cannot be partial
  - cmake: add USE_OPENSSL_QUIC support
  - cookie: if psl fails, reject the cookie
  - curl: exit on config file parser errors
  - digest: add check for hashing error
  - docs/libcurl: add TLS backend info for all TLS options
  - file: use xfer buf for file:// transfers
  - ftp: do lineend conversions in client writer
  - ftp: fix socket wait activity in ftp_domore_getsock
  - http2: memory errors in the push callbacks are fatal
  - http2: push headers better cleanup
  - libssh/libssh2: return error on too big range
  - OpenSSL QUIC: adapt to v3.3.x
  - setopt: fix check for CURLOPT_PROXY_TLSAUTH_TYPE value
  - setopt: fix disabling all protocols
  - sha512_256: add support for GnuTLS and OpenSSL
  - smtp: fix STARTTLS
  - strtoofft: fix the overflow check
  - TIMER_STARTTRANSFER: set the same for everyone
  - TLS: start shutdown only when peer did not already close
  - tool_getparam: accept a blank -w ""
  - tool_getparam: handle non-existing (out of range) short-options
  - tool_operate: change precedence of server Retry-After time
  - transfer.c: break receive loop in speed limited transfers
  - version: allow building with ancient libpsl
  - vquic-tls: fix the error code returned for bad CA file
  - vtls: fix tls proxy peer verification
  - vtls: revert "receive max buffer" + add test case
  - VULN-DISCLOSURE-POLICY.md: update detail about CVE requests
  - websocket: fix curl_ws_recv()
  * Remove patch upstream:
  - 0001-vtls-revert-receive-max-buffer-add-test-case.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Spin documentation off to libcurl-devel-doc, this saves buildroots
  495 files and time (mandb is run in %posttrans).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716379200">- Add split-provides for libcurl-devel -&gt; libcurl-devel-doc.</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716379201">- Update to 8.8.0:
  * Changes:
  - curl_version_info: provide librtmp version
  - file: add support for directory listings
  - lib: add curl_multi_waitfds
  - NTLM_WB: drop support
  - TLS: add support for ECH (Encrypted Client Hello)
  - urlapi: add CURLU_GET_EMPTY for empty queries and fragments
  * Bugfixes:
  - build: prefer "USE_IPV6" macro internally (was: "ENABLE_IPV6")
  - cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set
  - cf-socket: don't try getting local IP without socket
  - cf-socket: remove references to l_ip, l_port
  - configure: make --disable-docs imply --disable-manual
  - curl.h: change CURL_SSLVERSION_* from enum to defines
  - curl_path: make Curl_get_pathname use dynbuf
  - curl_sha512_256: do not use workaround for NetBSD when not needed
  - curl_sha512_256: fix detection of OpenSSL 1.1.1 or later
  - curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY
  - DEPRECATE.md: TLS libraries without 1.3 support
  - digest: replace strcpy for empty string with simple assignment
  - doc: pytest "--repeat" -&gt; "--count"
  - docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
  - dynbuf: fix returncode on memory error
  - ftp: add tracing support
  - ftp: fix socket leak on rare error
  - gnutls: lazy init the trust settings
  - hsts: explicitly skip blank lines
  - http2 + ngtcp2: pass CURLcode errors from callbacks
  - http2, http3: decouple stream state from easy handle
  - http2: emit RST when client write fails
  - http: HEAD response body tolerance
  - http: reject HTTP major version switch mid connection
  - http: with chunked POST forced, disable length check on read callback
  - idn: make Curl_idnconvert_hostname() use Curl_idn_decode()
  - if2ip: make the buf_size arg a size_t
  - krb5: use dynbuf
  - lib/cf-h1-proxy: silence compiler warnings (gcc 14)
  - lib: add trace support for client reads and writes
  - lib: bump hash sizes to "size_t"
  - lib: clear the easy handle's saved errno before transfer
  - lib: make protocol handlers store scheme name lowercase
  - lib: merge "ENABLE_QUIC" C macro into "USE_HTTP3"
  - libssh2: set length to 0 if strdup failed
  - openssl: do not set SSL_MODE_RELEASE_BUFFERS
  - openssl: revert keylog_callback support for LibreSSL
  - OS400: fix shellcheck warnings in scripts
  - quiche: expire all active transfers on connection close
  - quiche: trust its timeout handling
  - tls: use shared init code for TCP+QUIC
  - tool_cfgable: free {proxy_}cipher13_list on exit
  - url: do not URL decode proxy crendentials
  - url: fix use of an uninitialized variable
  - url: make parse_login_details use memdup0
  - urlapi: allow setting port number zero
  - version: use msnprintf instead of strncpy
  - vtls: TLS session storage overhaul
  - wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC
  - websocket: avoid memory leak in error path</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716552000">- Fix make install for curl-config.1
  * docs/Makefile.am: make curl-config.1 install
  * Fixed upstream in: github.com/curl/curl/pull/13741
  * Add curl-make-install-curl-config.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718625600">- remove mozilla-nss code (unsupported since 8.3.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- split zsh and fish completion into subpackages to have
  proper supplements</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884801">- add multibuild for minimal libcurl flavored build (useful for
  container environments)</changelog>
</package>
<package pkgid="0301b02d0bc7569fd5afbd4dfced26a7cf20f701dd2396332a1bead138460ab12bb05282593812b192845c397b4fd69a71668f14f85ce4fe2e91ef191b688cee" name="curl-debuginfo" arch="x86_64">
  <version epoch="0" ver="8.8.0" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1684324800">- Update to 8.1.0:
  * Security fixes:
  - UAF in SSH sha256 fingerprint [bsc#1211230, CVE-2023-28319]
  - siglongjmp race condition [bsc#1211231, CVE-2023-28320]
  - IDN wildcard match [bsc#1211232, CVE-2023-28321]
  - POST-after-PUT confusion [bsc#1211233, CVE-2023-28322]
  - See also: https://curl.se/docs/security.html
  * Changes:
  - curl: add --proxy-http2
  - CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
  - hostip: refuse to resolve the .onion TLD
  - tool_writeout: add URL component variables
  * Bugfixes:
  - See full changelog here: https://curl.se/changes.html#8_1_0</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1684843200">- Update to 8.1.1:
  * Bugfixes:
  - cf-socket: completely remove the disabled
    USE_RECV_BEFORE_SEND_WORKAROUND
  - checksrc: disallow spaces before labels
  - curl_easy_getinfo: clarify on return data types
  - docs: document that curl_url_cleanup(NULL) is a safe no-op
  - hostip: move easy_lock.h include above curl_memory.h
  - http2: double http request parser max line length
  - http2: increase stream window size to 10 MB
  - lib: rename struct 'http_req' to 'httpreq'
  - ngtcp2: proper handling of uint64_t when adjusting send buffer
  - sectransp.c: make the code c89 compatible
  - select: avoid returning an error on EINTR from select() or poll()
  - url: provide better error message when URLs fail to parse
  - urlapi: allow numerical parts in the host name</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1685448000">- Update to 8.1.2:
  * Bugfixes:
  - configure: quote the assignments for run-compiler
  - configure: without pkg-config and no custom path, use -lnghttp2
  - curl: cache the --trace-time value for a second
  - http2: fix EOF handling on uploads with auth negotiation
  - http3: send EOF indicator early as possible
  - lib1560: verify more scheme guessing
  - lib: remove unused functions, make single-use static
  - libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
  - libssh: when keyboard-interactive auth fails, try password
  - misc: fix spelling mistakes
  - page-header: mention curl version and how to figure out current release
  - page-header: minor wording polish in the URL segment
  - scripts/singleuse.pl: add more API calls
  - urlapi: remove superfluous host name check</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1689768000">- Update to 8.2.0 [bsc#1213237, CVE-2023-32001]
  * Security fix:
  - CVE-2023-32001: fopen race condition
  * Changes:
  - curl: add --ca-native and --proxy-ca-native
  - curl: add --trace-ids
  - CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
  - haproxy: add --haproxy-clientip flag to set client IPs
  - lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
  * Bugfixes:
  - cf-socket: don't bypass fclosesocket callback if cancelled before connect
  - cf-socket: skip getpeername()/getsockname for TFTP
  - curl: count uploaded data to stop at the originally given size
  - curl: return error when asked to use an unsupported HTTP version
  - http2: fix crash in handling stream weights
  - http2: send HEADER &amp; DATA together if possible
  - http3/ngtcp2: upload EAGAIN handling
  - http: rectify the outgoing Cookie: header field size check
  - hyper: fix EOF handling on input
  - imap: Provide method to disable SASL if it is advertised
  - libssh2: provide error message when setting host key type fails
  - libssh2: use custom memory functions
  - ngtcp2: assigning timeout, but value is overwritten before used
  - quiche: avoid NULL deref in debug logging
  - sectransp: fix EOF handling
  - system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
  - timeval: use CLOCK_MONOTONIC_RAW if available
  - tls13-ciphers.d: include Schannel
  - tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
  - tool_operate: allow cookie lines up to 8200 bytes
  - tool_parsecfg: accept line lengths up to 10M
  - tool_writeout_json: fix encoding of control characters
  - transfer: clear credentials when redirecting to absolute URL
  - urlapi: have *set(PATH) prepend a slash if one is missing
  - urlapi: scheme must start with alpha
  - vtls: avoid memory leak if sha256 call fails
  - websocket-cb: example doing WebSocket download using callback
  - ws: make the curl_ws_meta() return pointer a const</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1690545600">- Update to 8.2.1:
  * Bugfixes:
  - cfilters: rename close/connect functions to avoid clashes
  - ciphers.d: put URL in first column
  - cmake: add 'libcurlu'/'libcurltool' for unit tests
  - cmake: update ngtcp2 detection
  - configure: check for nghttp2_session_get_stream_local_window_size
  - docs: mark two TLS options for TLS, not SSL
  - docs: provide more see also for cipher options
  - hostip: return IPv6 first for localhost resolves
  - http2: fix regression on upload EOF handling
  - http: VLH, very large header test and fixes
  - libcurl-errors.3: add CURLUE_OK
  - os400: correct EXPECTED_STRING_LASTZEROTERMINATED
  - quiche: fix lookup of transfer at multi
  - quiche: fix segfault and other things
  - rustls: update rustls-ffi 0.10.0
  - socks: print ipv6 address within brackets
  - src/mkhelp: strip off escape sequences
  - tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T
  - transfer: do not clear the credentials on redirect to absolute URL
  - unittest: remove unneeded *_LDADD
  - websocket: rename arguments/variables to match docs</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1694606400">- Update to 8.3.0: [bsc#1215026, CVE-2023-38039]
  * Changes:
  - curl: make %output{} in -w specify a file to write to
  - gskit: remove
  - lib: --disable-bindlocal builds curl without local binding support
  - nss: remove support for this TLS library
  - tool: add "variable" support
  - trace: make tracing available in non-debug builds
  - url: change default value for CURLOPT_MAXREDIRS to 30
  - urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
  * Bugfixes:
  - altsvc: accept and parse IPv6 addresses in response headers
  - asyn-ares: reduce timeout to 2000ms
  - aws-sigv4: canonicalize the query
  - aws-sigv4: fix having date header twice in some cases
  - aws-sigv4: handle no-value user header entries
  - c-hyper: adjust the hyper to curlcode conversion
  - c-hyper: fix memory leaks in `Curl_http`
  - cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
  - cf-socket: log successful interface bind
  - cmake: add GnuTLS option
  - cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
  - cmake: detect `SSL_set0_wbio` in OpenSSL
  - configure: trust pkg-config when it's used for zlib
  - configure: use the pkg-config --libs-only-l flag for libssh2
  - connect: stop halving the remaining timeout when less than 600 ms left
  - crypto: ensure crypto initialization works
  - digest: Use hostname to generate spn instead of realm
  - ftp: fix temp write of ipv6 address
  - headers: accept leading whitespaces on first response header
  - http2: fix in h2 proxy tunnel: progress in ingress on sending
  - http3/ngtcp2: shorten handshake, trace cleanup
  - http3: quiche, handshake optimization, trace cleanup
  - http: close the connection after a late 417 is received
  - http: fix sending of large requests
  - http: return error when receiving too large header set
  - lib: fix null ptr derefs and uninitialized vars (h2/h3)
  - lib: move mimepost data from -&gt;req.p.http to -&gt;state
  - list-only.d: mention SFTP as supported protocol
  - ngtcp2: fix handling of large requests
  - openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
  - openssl: clear error queue after SSL_shutdown
  - openssl: make aws-lc version support OCSP
  - openssl: Support async cert verify callback
  - openssl: switch to modern init for LibreSSL 2.7.0+
  - openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
  - quic: don't set SNI if hostname is an IP address
  - quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
  - quiche: enable quiche to handle timeout events
  - resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
  - schannel: verify hostname independent of verify cert
  - tool_filetime: make -z work with file dates before 1970
  - tool_operate: allow both SSL_CERT_FILE and SSL_CERT_DIR
  - tool_operate: make aws-sigv4 not require TLS to be used
  - transfer: also stop the sending on closed connection
  - urlapi: fix heap buffer overflow
  - urlapi: setting a blank URL ("") is not an ok URL</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1697025600">- Update to 8.4.0:
  * Security fixes:
  - SOCKS5 heap buffer overflow [bsc#1215888, CVE-2023-38545]
  - cookie injection with none file [bsc#1215889, CVE-2023-38546]
  * Changes:
  - curl: add support for the IPFS protocols via HTTP gateway
  - curl_multi_get_handles: get easy handles from a multi handle
  - mingw: delete support for legacy mingw.org toolchain
  * Bugfixes:
  - base64: also build for curl
  - cf-socket: simulate slow/blocked receives in debug
  - configure: check for the capath by default
  - connect: expire the timeout when trying next
  - connect: only start the happy eyeballs timer when needed
  - cookie: do not store the expire or max-age strings
  - cookie: remove unnecessary struct fields
  - cookie: set -&gt;running in cookie_init even if data is NULL
  - create-dirs.d: clarify it also uses --output-dirs
  - http2: refused stream handling for retry
  - http: h1/h2 proxy unification
  - http: use per-request counter to check too large headers
  - idn: if idn2_check_version returns NULL, return error
  - lib: enable hmac for digest as well
  - lib: let the max filesize option stop too big transfers too
  - lib: move handling of 'data-&gt;req.writer_stack' into Curl_client_write()
  - lib: provide and use Curl_hexencode
  - lib: use wrapper for curl_mime_data fseek callback
  - libssh2: fix error message on failed pubkey-from-file
  - libssh: cap SFTP packet size sent
  - MQTT: improve receive of ACKs
  - multi: do CURLM_CALL_MULTI_PERFORM at two more places
  - multi: round the timeout up to prevent early wakeups
  - openssl: improve ssl shutdown handling
  - openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
  - pytest: exclude test_03_goaway in CI runs due to timing dependency
  - quic: set ciphers/curves the same way regular TLS does
  - quiche: fix build error with --with-ca-fallback
  - socks: return error if hostname too long for remote resolve
  - tftpd: always use curl's own tftp.h
  - tool_getparam: accept variable expansion on file names too
  - upload-file.d: describe the file name slash/backslash handling
  - url: fall back to http/https proxy env-variable if ws/wss not set
  - url: fix netrc info message
  - wolfssh: do cleanup in Curl_ssh_cleanup
  - wolfssl: allow capath with CURLOPT_CAINFO_BLOB
  - wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
  - wolfssl: ignore errors in CA path
  * Rebase libcurl-ocloexec.patch</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1701864000">- Update to 8.5.0:
  * Security fixes:
  - [bsc#1217573, CVE-2023-46218] cookie mixed case PSL bypass
  - [bsc#1217574, CVE-2023-46219] HSTS long file name clears contents
  * Changes:
  - gnutls: support CURLSSLOPT_NATIVE_CA
  - HTTP3: ngtcp2 builds are no longer experimental
  * Bugfixes:
  - asyn-thread: use pipe instead of socketpair for IPC when available
  - cmake: fix OpenSSL quic detection in quiche builds
  - conncache: use the closure handle when disconnecting surplus connections
  - content_encoding: make Curl_all_content_encodings allocless
  - cookie: lowercase the domain names before PSL checks
  - Curl_http_body: cleanup properly when Curl_getformdata errors
  - CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
  - doh: provide better return code for responses w/o addresses
  - doh: use PIPEWAIT when HTTP/2 is attempted
  - duphandle: also free 'outcurl-&gt;cookies' in error path
  - duphandle: make dupset() not return with pointers to old alloced data
  - duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
  - easy: in duphandle, init the cookies for the new handle
  - easy_lock: add a pthread_mutex_t fallback
  - fopen: create new file using old file's mode
  - fopen: create short(er) temporary file name
  - getenv: PlayStation doesn't have getenv()
  - hostip: show the list of IPs when resolving is done
  - hsts: skip single-dot hostname
  - HTTP/2, HTTP/3: handle detach of onoing transfers
  - http: allow longer HTTP/2 request method names
  - hyper: temporarily remove HTTP/2 support
  - IPFS: fix IPFS_PATH and file parsing
  - multi: during ratelimit multi_getsock should return no sockets
  - multi: use pipe instead of socketpair to *wakeup()
  - ngtcp2: fix races in stream handling
  - ntlm_wb: use pipe instead of socketpair when possible
  - openssl: avoid BN_num_bits() NULL pointer derefs
  - openssl: fix building with v3 `no-deprecated` + add CI test
  - openssl: fix infof() to avoid compiler warning for %s with null
  - openssl: identify the "quictls" backend correctly
  - openssl: include SIG and KEM algorithms in verbose
  - openssl: two multi pointer checks should probably rather be asserts
  - openssl: when a session-ID is reused, skip OCSP stapling
  - quic: make eyeballers connect retries stop at weird replies
  - quic: manage connection idle timeouts
  - setopt: check CURLOPT_TFTP_BLKSIZE range on set
  - socks: better buffer size checks for socks4a user and hostname
  - socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
  - tool: fix --capath when proxy support is disabled
  - tool_getparam: limit --rate to be smaller than number of ms
  - transfer: abort pause send when connection is marked for closing
  - transfer: avoid calling the read callback again after EOF
  - transfer: only reset the FTP wildcard engine in CLEAR state
  - url: don't touch the multi handle when closing internal handles
  - urlapi: avoid null deref if setting blank host to url encode
  - urlapi: skip appending NULL pointer query
  - urlapi: when URL encoding the fragment, pass in the right length
  - vtls: cleanup SSL config management
  - vtls: consistently use typedef names for OpenSSL structs
  - vtls: late clone of connection ssl config
  - vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
  * Rebase curl-secure-getenv.patch
  * Add curl-tests-errorcodes.patch</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1704456000">- Added curl-adjust-pollset-fix.patch to fix broken MPD http streaming:
  https://github.com/curl/curl/issues/12632</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1706702400">- Update to 8.6.0: [bsc#1219149, CVE-2024-0853]
  * Security fixes:
  - CVE-2024-0853: OCSP verification bypass with TLS session reuse
  * Changes:
  - add CURLE_TOO_LARGE, CURLINFO_QUEUE_TIME_T
  * Bugfixes:
  - altsvc: free 'as' when returning error
  - asyn-ares: with modern c-ares, use its default timeout
  - cf-socket: show errno in tcpkeepalive error messages
  - cmdline-opts: update availability for the *-ca-native options
  - configure: when enabling QUIC, check that TLS supports QUIC
  - content_encoding: change return code to typedef'ed enum
  - curl: show ipfs and ipns as supported "protocols"
  - CURLINFO_REFERER.3: clarify that it is the *request* header
  - dist: add tests/errorcodes.pl to the tarball
  - gen.pl: support ## for doing .IP in table-like lists
  - GHA: bump ngtcp2, gnutls, mod_h2, quiche
  - hostip: return error immediately when Curl_ip2addr() fails
  - http3/quiche: fix result code on a stream reset
  - http3: initial support for OpenSSL 3.2 QUIC stack
  - http: check for "Host:" case insensitively
  - http: fix off-by-one error in request method length check
  - http: only act on 101 responses when they are HTTP/1.1
  - lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
  - lib: error out on multissl + http3
  - lib: fix variable undeclared error caused by `infof` changes
  - lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
  - lib: strndup/memdup instead of malloc, memcpy and null-terminate
  - libssh2: use `libssh2_session_callback_set2()` with v1.11.1
  - ngtcp2: put h3 at the front of alpn
  - openldap: fix an LDAP crash
  - openldap: fix STARTTLS
  - openssl: re-match LibreSSL deinit with init
  - rtsp: deal with borked server responses
  - sasl: make login option string override http auth
  - tool: prepend output_dir in header callback
  - tool_getparam: stop supporting `@filename` style for --cookie
  - transfer: fix upload rate limiting, add test cases
  - url: don't set default CA paths for Secure Transport backend
  - url: for disabled protocols, mention if found in redirect
  - vquic: extract TLS setup into own source
  - websockets: check for negative payload lengths
  * Remove patches fixed upstream:
  - curl-adjust-pollset-fix.patch
  - curl-tests-errorcodes.patch
  * Rebase dont-mess-with-rpmoptflags.patch</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1707393600">- Add patch to fix various TLS related issues including FTP over SSL
  transmission timeouts:
  * 0001-vtls-revert-receive-max-buffer-add-test-case.patch
- Switch to %autosetup</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1710244800">- Remove the nghttp2 version requirement as a version guard around
  the nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  function was added in curl 8.0.1.
  * Upstream commit: https://github.com/curl/curl/commit/744dcf22</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1711540800">- Update to 8.7.1:
  * Fixed empty tool_hugehelp.c file
- Update to 8.7.0:
  * Security fixes:
  - [bsc#1221665, CVE-2024-2004] Usage of disabled protocol
  - [bsc#1221667, CVE-2024-2398] HTTP/2 push headers memory-leak
  - [bsc#1221666, CVE-2024-2379] QUIC certificate check bypass with wolfSSL
  - [bsc#1221668, CVE-2024-2466] TLS certificate check bypass with mbedTLS
  * Changes:
  - configure: add --disable-docs flag
  - CURLINFO_USED_PROXY: return bool whether the proxy was used
  - digest: support SHA-512/256
  * Bugfixes:
  - asyn-thread: use wakeup_close to close the read descriptor
  - bufq: writing into a softlimit queue cannot be partial
  - cmake: add USE_OPENSSL_QUIC support
  - cookie: if psl fails, reject the cookie
  - curl: exit on config file parser errors
  - digest: add check for hashing error
  - docs/libcurl: add TLS backend info for all TLS options
  - file: use xfer buf for file:// transfers
  - ftp: do lineend conversions in client writer
  - ftp: fix socket wait activity in ftp_domore_getsock
  - http2: memory errors in the push callbacks are fatal
  - http2: push headers better cleanup
  - libssh/libssh2: return error on too big range
  - OpenSSL QUIC: adapt to v3.3.x
  - setopt: fix check for CURLOPT_PROXY_TLSAUTH_TYPE value
  - setopt: fix disabling all protocols
  - sha512_256: add support for GnuTLS and OpenSSL
  - smtp: fix STARTTLS
  - strtoofft: fix the overflow check
  - TIMER_STARTTRANSFER: set the same for everyone
  - TLS: start shutdown only when peer did not already close
  - tool_getparam: accept a blank -w ""
  - tool_getparam: handle non-existing (out of range) short-options
  - tool_operate: change precedence of server Retry-After time
  - transfer.c: break receive loop in speed limited transfers
  - version: allow building with ancient libpsl
  - vquic-tls: fix the error code returned for bad CA file
  - vtls: fix tls proxy peer verification
  - vtls: revert "receive max buffer" + add test case
  - VULN-DISCLOSURE-POLICY.md: update detail about CVE requests
  - websocket: fix curl_ws_recv()
  * Remove patch upstream:
  - 0001-vtls-revert-receive-max-buffer-add-test-case.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Spin documentation off to libcurl-devel-doc, this saves buildroots
  495 files and time (mandb is run in %posttrans).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716379200">- Add split-provides for libcurl-devel -&gt; libcurl-devel-doc.</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716379201">- Update to 8.8.0:
  * Changes:
  - curl_version_info: provide librtmp version
  - file: add support for directory listings
  - lib: add curl_multi_waitfds
  - NTLM_WB: drop support
  - TLS: add support for ECH (Encrypted Client Hello)
  - urlapi: add CURLU_GET_EMPTY for empty queries and fragments
  * Bugfixes:
  - build: prefer "USE_IPV6" macro internally (was: "ENABLE_IPV6")
  - cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set
  - cf-socket: don't try getting local IP without socket
  - cf-socket: remove references to l_ip, l_port
  - configure: make --disable-docs imply --disable-manual
  - curl.h: change CURL_SSLVERSION_* from enum to defines
  - curl_path: make Curl_get_pathname use dynbuf
  - curl_sha512_256: do not use workaround for NetBSD when not needed
  - curl_sha512_256: fix detection of OpenSSL 1.1.1 or later
  - curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY
  - DEPRECATE.md: TLS libraries without 1.3 support
  - digest: replace strcpy for empty string with simple assignment
  - doc: pytest "--repeat" -&gt; "--count"
  - docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
  - dynbuf: fix returncode on memory error
  - ftp: add tracing support
  - ftp: fix socket leak on rare error
  - gnutls: lazy init the trust settings
  - hsts: explicitly skip blank lines
  - http2 + ngtcp2: pass CURLcode errors from callbacks
  - http2, http3: decouple stream state from easy handle
  - http2: emit RST when client write fails
  - http: HEAD response body tolerance
  - http: reject HTTP major version switch mid connection
  - http: with chunked POST forced, disable length check on read callback
  - idn: make Curl_idnconvert_hostname() use Curl_idn_decode()
  - if2ip: make the buf_size arg a size_t
  - krb5: use dynbuf
  - lib/cf-h1-proxy: silence compiler warnings (gcc 14)
  - lib: add trace support for client reads and writes
  - lib: bump hash sizes to "size_t"
  - lib: clear the easy handle's saved errno before transfer
  - lib: make protocol handlers store scheme name lowercase
  - lib: merge "ENABLE_QUIC" C macro into "USE_HTTP3"
  - libssh2: set length to 0 if strdup failed
  - openssl: do not set SSL_MODE_RELEASE_BUFFERS
  - openssl: revert keylog_callback support for LibreSSL
  - OS400: fix shellcheck warnings in scripts
  - quiche: expire all active transfers on connection close
  - quiche: trust its timeout handling
  - tls: use shared init code for TCP+QUIC
  - tool_cfgable: free {proxy_}cipher13_list on exit
  - url: do not URL decode proxy crendentials
  - url: fix use of an uninitialized variable
  - url: make parse_login_details use memdup0
  - urlapi: allow setting port number zero
  - version: use msnprintf instead of strncpy
  - vtls: TLS session storage overhaul
  - wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC
  - websocket: avoid memory leak in error path</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716552000">- Fix make install for curl-config.1
  * docs/Makefile.am: make curl-config.1 install
  * Fixed upstream in: github.com/curl/curl/pull/13741
  * Add curl-make-install-curl-config.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718625600">- remove mozilla-nss code (unsupported since 8.3.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- split zsh and fish completion into subpackages to have
  proper supplements</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884801">- add multibuild for minimal libcurl flavored build (useful for
  container environments)</changelog>
</package>
<package pkgid="d2aba13b5da6de3620d088e069b653b7b142fe6d9841784eeab9125a1f5360fd7bf7ec5a186351b977e3e14a2d23485b2f6550a4aa80fa92d738173ac6f1ead3" name="curl-debugsource" arch="i586">
  <version epoch="0" ver="8.8.0" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1684324800">- Update to 8.1.0:
  * Security fixes:
  - UAF in SSH sha256 fingerprint [bsc#1211230, CVE-2023-28319]
  - siglongjmp race condition [bsc#1211231, CVE-2023-28320]
  - IDN wildcard match [bsc#1211232, CVE-2023-28321]
  - POST-after-PUT confusion [bsc#1211233, CVE-2023-28322]
  - See also: https://curl.se/docs/security.html
  * Changes:
  - curl: add --proxy-http2
  - CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
  - hostip: refuse to resolve the .onion TLD
  - tool_writeout: add URL component variables
  * Bugfixes:
  - See full changelog here: https://curl.se/changes.html#8_1_0</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1684843200">- Update to 8.1.1:
  * Bugfixes:
  - cf-socket: completely remove the disabled
    USE_RECV_BEFORE_SEND_WORKAROUND
  - checksrc: disallow spaces before labels
  - curl_easy_getinfo: clarify on return data types
  - docs: document that curl_url_cleanup(NULL) is a safe no-op
  - hostip: move easy_lock.h include above curl_memory.h
  - http2: double http request parser max line length
  - http2: increase stream window size to 10 MB
  - lib: rename struct 'http_req' to 'httpreq'
  - ngtcp2: proper handling of uint64_t when adjusting send buffer
  - sectransp.c: make the code c89 compatible
  - select: avoid returning an error on EINTR from select() or poll()
  - url: provide better error message when URLs fail to parse
  - urlapi: allow numerical parts in the host name</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1685448000">- Update to 8.1.2:
  * Bugfixes:
  - configure: quote the assignments for run-compiler
  - configure: without pkg-config and no custom path, use -lnghttp2
  - curl: cache the --trace-time value for a second
  - http2: fix EOF handling on uploads with auth negotiation
  - http3: send EOF indicator early as possible
  - lib1560: verify more scheme guessing
  - lib: remove unused functions, make single-use static
  - libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
  - libssh: when keyboard-interactive auth fails, try password
  - misc: fix spelling mistakes
  - page-header: mention curl version and how to figure out current release
  - page-header: minor wording polish in the URL segment
  - scripts/singleuse.pl: add more API calls
  - urlapi: remove superfluous host name check</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1689768000">- Update to 8.2.0 [bsc#1213237, CVE-2023-32001]
  * Security fix:
  - CVE-2023-32001: fopen race condition
  * Changes:
  - curl: add --ca-native and --proxy-ca-native
  - curl: add --trace-ids
  - CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
  - haproxy: add --haproxy-clientip flag to set client IPs
  - lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
  * Bugfixes:
  - cf-socket: don't bypass fclosesocket callback if cancelled before connect
  - cf-socket: skip getpeername()/getsockname for TFTP
  - curl: count uploaded data to stop at the originally given size
  - curl: return error when asked to use an unsupported HTTP version
  - http2: fix crash in handling stream weights
  - http2: send HEADER &amp; DATA together if possible
  - http3/ngtcp2: upload EAGAIN handling
  - http: rectify the outgoing Cookie: header field size check
  - hyper: fix EOF handling on input
  - imap: Provide method to disable SASL if it is advertised
  - libssh2: provide error message when setting host key type fails
  - libssh2: use custom memory functions
  - ngtcp2: assigning timeout, but value is overwritten before used
  - quiche: avoid NULL deref in debug logging
  - sectransp: fix EOF handling
  - system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
  - timeval: use CLOCK_MONOTONIC_RAW if available
  - tls13-ciphers.d: include Schannel
  - tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
  - tool_operate: allow cookie lines up to 8200 bytes
  - tool_parsecfg: accept line lengths up to 10M
  - tool_writeout_json: fix encoding of control characters
  - transfer: clear credentials when redirecting to absolute URL
  - urlapi: have *set(PATH) prepend a slash if one is missing
  - urlapi: scheme must start with alpha
  - vtls: avoid memory leak if sha256 call fails
  - websocket-cb: example doing WebSocket download using callback
  - ws: make the curl_ws_meta() return pointer a const</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1690545600">- Update to 8.2.1:
  * Bugfixes:
  - cfilters: rename close/connect functions to avoid clashes
  - ciphers.d: put URL in first column
  - cmake: add 'libcurlu'/'libcurltool' for unit tests
  - cmake: update ngtcp2 detection
  - configure: check for nghttp2_session_get_stream_local_window_size
  - docs: mark two TLS options for TLS, not SSL
  - docs: provide more see also for cipher options
  - hostip: return IPv6 first for localhost resolves
  - http2: fix regression on upload EOF handling
  - http: VLH, very large header test and fixes
  - libcurl-errors.3: add CURLUE_OK
  - os400: correct EXPECTED_STRING_LASTZEROTERMINATED
  - quiche: fix lookup of transfer at multi
  - quiche: fix segfault and other things
  - rustls: update rustls-ffi 0.10.0
  - socks: print ipv6 address within brackets
  - src/mkhelp: strip off escape sequences
  - tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T
  - transfer: do not clear the credentials on redirect to absolute URL
  - unittest: remove unneeded *_LDADD
  - websocket: rename arguments/variables to match docs</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1694606400">- Update to 8.3.0: [bsc#1215026, CVE-2023-38039]
  * Changes:
  - curl: make %output{} in -w specify a file to write to
  - gskit: remove
  - lib: --disable-bindlocal builds curl without local binding support
  - nss: remove support for this TLS library
  - tool: add "variable" support
  - trace: make tracing available in non-debug builds
  - url: change default value for CURLOPT_MAXREDIRS to 30
  - urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
  * Bugfixes:
  - altsvc: accept and parse IPv6 addresses in response headers
  - asyn-ares: reduce timeout to 2000ms
  - aws-sigv4: canonicalize the query
  - aws-sigv4: fix having date header twice in some cases
  - aws-sigv4: handle no-value user header entries
  - c-hyper: adjust the hyper to curlcode conversion
  - c-hyper: fix memory leaks in `Curl_http`
  - cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
  - cf-socket: log successful interface bind
  - cmake: add GnuTLS option
  - cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
  - cmake: detect `SSL_set0_wbio` in OpenSSL
  - configure: trust pkg-config when it's used for zlib
  - configure: use the pkg-config --libs-only-l flag for libssh2
  - connect: stop halving the remaining timeout when less than 600 ms left
  - crypto: ensure crypto initialization works
  - digest: Use hostname to generate spn instead of realm
  - ftp: fix temp write of ipv6 address
  - headers: accept leading whitespaces on first response header
  - http2: fix in h2 proxy tunnel: progress in ingress on sending
  - http3/ngtcp2: shorten handshake, trace cleanup
  - http3: quiche, handshake optimization, trace cleanup
  - http: close the connection after a late 417 is received
  - http: fix sending of large requests
  - http: return error when receiving too large header set
  - lib: fix null ptr derefs and uninitialized vars (h2/h3)
  - lib: move mimepost data from -&gt;req.p.http to -&gt;state
  - list-only.d: mention SFTP as supported protocol
  - ngtcp2: fix handling of large requests
  - openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
  - openssl: clear error queue after SSL_shutdown
  - openssl: make aws-lc version support OCSP
  - openssl: Support async cert verify callback
  - openssl: switch to modern init for LibreSSL 2.7.0+
  - openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
  - quic: don't set SNI if hostname is an IP address
  - quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
  - quiche: enable quiche to handle timeout events
  - resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
  - schannel: verify hostname independent of verify cert
  - tool_filetime: make -z work with file dates before 1970
  - tool_operate: allow both SSL_CERT_FILE and SSL_CERT_DIR
  - tool_operate: make aws-sigv4 not require TLS to be used
  - transfer: also stop the sending on closed connection
  - urlapi: fix heap buffer overflow
  - urlapi: setting a blank URL ("") is not an ok URL</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1697025600">- Update to 8.4.0:
  * Security fixes:
  - SOCKS5 heap buffer overflow [bsc#1215888, CVE-2023-38545]
  - cookie injection with none file [bsc#1215889, CVE-2023-38546]
  * Changes:
  - curl: add support for the IPFS protocols via HTTP gateway
  - curl_multi_get_handles: get easy handles from a multi handle
  - mingw: delete support for legacy mingw.org toolchain
  * Bugfixes:
  - base64: also build for curl
  - cf-socket: simulate slow/blocked receives in debug
  - configure: check for the capath by default
  - connect: expire the timeout when trying next
  - connect: only start the happy eyeballs timer when needed
  - cookie: do not store the expire or max-age strings
  - cookie: remove unnecessary struct fields
  - cookie: set -&gt;running in cookie_init even if data is NULL
  - create-dirs.d: clarify it also uses --output-dirs
  - http2: refused stream handling for retry
  - http: h1/h2 proxy unification
  - http: use per-request counter to check too large headers
  - idn: if idn2_check_version returns NULL, return error
  - lib: enable hmac for digest as well
  - lib: let the max filesize option stop too big transfers too
  - lib: move handling of 'data-&gt;req.writer_stack' into Curl_client_write()
  - lib: provide and use Curl_hexencode
  - lib: use wrapper for curl_mime_data fseek callback
  - libssh2: fix error message on failed pubkey-from-file
  - libssh: cap SFTP packet size sent
  - MQTT: improve receive of ACKs
  - multi: do CURLM_CALL_MULTI_PERFORM at two more places
  - multi: round the timeout up to prevent early wakeups
  - openssl: improve ssl shutdown handling
  - openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
  - pytest: exclude test_03_goaway in CI runs due to timing dependency
  - quic: set ciphers/curves the same way regular TLS does
  - quiche: fix build error with --with-ca-fallback
  - socks: return error if hostname too long for remote resolve
  - tftpd: always use curl's own tftp.h
  - tool_getparam: accept variable expansion on file names too
  - upload-file.d: describe the file name slash/backslash handling
  - url: fall back to http/https proxy env-variable if ws/wss not set
  - url: fix netrc info message
  - wolfssh: do cleanup in Curl_ssh_cleanup
  - wolfssl: allow capath with CURLOPT_CAINFO_BLOB
  - wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
  - wolfssl: ignore errors in CA path
  * Rebase libcurl-ocloexec.patch</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1701864000">- Update to 8.5.0:
  * Security fixes:
  - [bsc#1217573, CVE-2023-46218] cookie mixed case PSL bypass
  - [bsc#1217574, CVE-2023-46219] HSTS long file name clears contents
  * Changes:
  - gnutls: support CURLSSLOPT_NATIVE_CA
  - HTTP3: ngtcp2 builds are no longer experimental
  * Bugfixes:
  - asyn-thread: use pipe instead of socketpair for IPC when available
  - cmake: fix OpenSSL quic detection in quiche builds
  - conncache: use the closure handle when disconnecting surplus connections
  - content_encoding: make Curl_all_content_encodings allocless
  - cookie: lowercase the domain names before PSL checks
  - Curl_http_body: cleanup properly when Curl_getformdata errors
  - CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
  - doh: provide better return code for responses w/o addresses
  - doh: use PIPEWAIT when HTTP/2 is attempted
  - duphandle: also free 'outcurl-&gt;cookies' in error path
  - duphandle: make dupset() not return with pointers to old alloced data
  - duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
  - easy: in duphandle, init the cookies for the new handle
  - easy_lock: add a pthread_mutex_t fallback
  - fopen: create new file using old file's mode
  - fopen: create short(er) temporary file name
  - getenv: PlayStation doesn't have getenv()
  - hostip: show the list of IPs when resolving is done
  - hsts: skip single-dot hostname
  - HTTP/2, HTTP/3: handle detach of onoing transfers
  - http: allow longer HTTP/2 request method names
  - hyper: temporarily remove HTTP/2 support
  - IPFS: fix IPFS_PATH and file parsing
  - multi: during ratelimit multi_getsock should return no sockets
  - multi: use pipe instead of socketpair to *wakeup()
  - ngtcp2: fix races in stream handling
  - ntlm_wb: use pipe instead of socketpair when possible
  - openssl: avoid BN_num_bits() NULL pointer derefs
  - openssl: fix building with v3 `no-deprecated` + add CI test
  - openssl: fix infof() to avoid compiler warning for %s with null
  - openssl: identify the "quictls" backend correctly
  - openssl: include SIG and KEM algorithms in verbose
  - openssl: two multi pointer checks should probably rather be asserts
  - openssl: when a session-ID is reused, skip OCSP stapling
  - quic: make eyeballers connect retries stop at weird replies
  - quic: manage connection idle timeouts
  - setopt: check CURLOPT_TFTP_BLKSIZE range on set
  - socks: better buffer size checks for socks4a user and hostname
  - socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
  - tool: fix --capath when proxy support is disabled
  - tool_getparam: limit --rate to be smaller than number of ms
  - transfer: abort pause send when connection is marked for closing
  - transfer: avoid calling the read callback again after EOF
  - transfer: only reset the FTP wildcard engine in CLEAR state
  - url: don't touch the multi handle when closing internal handles
  - urlapi: avoid null deref if setting blank host to url encode
  - urlapi: skip appending NULL pointer query
  - urlapi: when URL encoding the fragment, pass in the right length
  - vtls: cleanup SSL config management
  - vtls: consistently use typedef names for OpenSSL structs
  - vtls: late clone of connection ssl config
  - vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
  * Rebase curl-secure-getenv.patch
  * Add curl-tests-errorcodes.patch</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1704456000">- Added curl-adjust-pollset-fix.patch to fix broken MPD http streaming:
  https://github.com/curl/curl/issues/12632</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1706702400">- Update to 8.6.0: [bsc#1219149, CVE-2024-0853]
  * Security fixes:
  - CVE-2024-0853: OCSP verification bypass with TLS session reuse
  * Changes:
  - add CURLE_TOO_LARGE, CURLINFO_QUEUE_TIME_T
  * Bugfixes:
  - altsvc: free 'as' when returning error
  - asyn-ares: with modern c-ares, use its default timeout
  - cf-socket: show errno in tcpkeepalive error messages
  - cmdline-opts: update availability for the *-ca-native options
  - configure: when enabling QUIC, check that TLS supports QUIC
  - content_encoding: change return code to typedef'ed enum
  - curl: show ipfs and ipns as supported "protocols"
  - CURLINFO_REFERER.3: clarify that it is the *request* header
  - dist: add tests/errorcodes.pl to the tarball
  - gen.pl: support ## for doing .IP in table-like lists
  - GHA: bump ngtcp2, gnutls, mod_h2, quiche
  - hostip: return error immediately when Curl_ip2addr() fails
  - http3/quiche: fix result code on a stream reset
  - http3: initial support for OpenSSL 3.2 QUIC stack
  - http: check for "Host:" case insensitively
  - http: fix off-by-one error in request method length check
  - http: only act on 101 responses when they are HTTP/1.1
  - lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
  - lib: error out on multissl + http3
  - lib: fix variable undeclared error caused by `infof` changes
  - lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
  - lib: strndup/memdup instead of malloc, memcpy and null-terminate
  - libssh2: use `libssh2_session_callback_set2()` with v1.11.1
  - ngtcp2: put h3 at the front of alpn
  - openldap: fix an LDAP crash
  - openldap: fix STARTTLS
  - openssl: re-match LibreSSL deinit with init
  - rtsp: deal with borked server responses
  - sasl: make login option string override http auth
  - tool: prepend output_dir in header callback
  - tool_getparam: stop supporting `@filename` style for --cookie
  - transfer: fix upload rate limiting, add test cases
  - url: don't set default CA paths for Secure Transport backend
  - url: for disabled protocols, mention if found in redirect
  - vquic: extract TLS setup into own source
  - websockets: check for negative payload lengths
  * Remove patches fixed upstream:
  - curl-adjust-pollset-fix.patch
  - curl-tests-errorcodes.patch
  * Rebase dont-mess-with-rpmoptflags.patch</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1707393600">- Add patch to fix various TLS related issues including FTP over SSL
  transmission timeouts:
  * 0001-vtls-revert-receive-max-buffer-add-test-case.patch
- Switch to %autosetup</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1710244800">- Remove the nghttp2 version requirement as a version guard around
  the nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  function was added in curl 8.0.1.
  * Upstream commit: https://github.com/curl/curl/commit/744dcf22</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1711540800">- Update to 8.7.1:
  * Fixed empty tool_hugehelp.c file
- Update to 8.7.0:
  * Security fixes:
  - [bsc#1221665, CVE-2024-2004] Usage of disabled protocol
  - [bsc#1221667, CVE-2024-2398] HTTP/2 push headers memory-leak
  - [bsc#1221666, CVE-2024-2379] QUIC certificate check bypass with wolfSSL
  - [bsc#1221668, CVE-2024-2466] TLS certificate check bypass with mbedTLS
  * Changes:
  - configure: add --disable-docs flag
  - CURLINFO_USED_PROXY: return bool whether the proxy was used
  - digest: support SHA-512/256
  * Bugfixes:
  - asyn-thread: use wakeup_close to close the read descriptor
  - bufq: writing into a softlimit queue cannot be partial
  - cmake: add USE_OPENSSL_QUIC support
  - cookie: if psl fails, reject the cookie
  - curl: exit on config file parser errors
  - digest: add check for hashing error
  - docs/libcurl: add TLS backend info for all TLS options
  - file: use xfer buf for file:// transfers
  - ftp: do lineend conversions in client writer
  - ftp: fix socket wait activity in ftp_domore_getsock
  - http2: memory errors in the push callbacks are fatal
  - http2: push headers better cleanup
  - libssh/libssh2: return error on too big range
  - OpenSSL QUIC: adapt to v3.3.x
  - setopt: fix check for CURLOPT_PROXY_TLSAUTH_TYPE value
  - setopt: fix disabling all protocols
  - sha512_256: add support for GnuTLS and OpenSSL
  - smtp: fix STARTTLS
  - strtoofft: fix the overflow check
  - TIMER_STARTTRANSFER: set the same for everyone
  - TLS: start shutdown only when peer did not already close
  - tool_getparam: accept a blank -w ""
  - tool_getparam: handle non-existing (out of range) short-options
  - tool_operate: change precedence of server Retry-After time
  - transfer.c: break receive loop in speed limited transfers
  - version: allow building with ancient libpsl
  - vquic-tls: fix the error code returned for bad CA file
  - vtls: fix tls proxy peer verification
  - vtls: revert "receive max buffer" + add test case
  - VULN-DISCLOSURE-POLICY.md: update detail about CVE requests
  - websocket: fix curl_ws_recv()
  * Remove patch upstream:
  - 0001-vtls-revert-receive-max-buffer-add-test-case.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Spin documentation off to libcurl-devel-doc, this saves buildroots
  495 files and time (mandb is run in %posttrans).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716379200">- Add split-provides for libcurl-devel -&gt; libcurl-devel-doc.</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716379201">- Update to 8.8.0:
  * Changes:
  - curl_version_info: provide librtmp version
  - file: add support for directory listings
  - lib: add curl_multi_waitfds
  - NTLM_WB: drop support
  - TLS: add support for ECH (Encrypted Client Hello)
  - urlapi: add CURLU_GET_EMPTY for empty queries and fragments
  * Bugfixes:
  - build: prefer "USE_IPV6" macro internally (was: "ENABLE_IPV6")
  - cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set
  - cf-socket: don't try getting local IP without socket
  - cf-socket: remove references to l_ip, l_port
  - configure: make --disable-docs imply --disable-manual
  - curl.h: change CURL_SSLVERSION_* from enum to defines
  - curl_path: make Curl_get_pathname use dynbuf
  - curl_sha512_256: do not use workaround for NetBSD when not needed
  - curl_sha512_256: fix detection of OpenSSL 1.1.1 or later
  - curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY
  - DEPRECATE.md: TLS libraries without 1.3 support
  - digest: replace strcpy for empty string with simple assignment
  - doc: pytest "--repeat" -&gt; "--count"
  - docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
  - dynbuf: fix returncode on memory error
  - ftp: add tracing support
  - ftp: fix socket leak on rare error
  - gnutls: lazy init the trust settings
  - hsts: explicitly skip blank lines
  - http2 + ngtcp2: pass CURLcode errors from callbacks
  - http2, http3: decouple stream state from easy handle
  - http2: emit RST when client write fails
  - http: HEAD response body tolerance
  - http: reject HTTP major version switch mid connection
  - http: with chunked POST forced, disable length check on read callback
  - idn: make Curl_idnconvert_hostname() use Curl_idn_decode()
  - if2ip: make the buf_size arg a size_t
  - krb5: use dynbuf
  - lib/cf-h1-proxy: silence compiler warnings (gcc 14)
  - lib: add trace support for client reads and writes
  - lib: bump hash sizes to "size_t"
  - lib: clear the easy handle's saved errno before transfer
  - lib: make protocol handlers store scheme name lowercase
  - lib: merge "ENABLE_QUIC" C macro into "USE_HTTP3"
  - libssh2: set length to 0 if strdup failed
  - openssl: do not set SSL_MODE_RELEASE_BUFFERS
  - openssl: revert keylog_callback support for LibreSSL
  - OS400: fix shellcheck warnings in scripts
  - quiche: expire all active transfers on connection close
  - quiche: trust its timeout handling
  - tls: use shared init code for TCP+QUIC
  - tool_cfgable: free {proxy_}cipher13_list on exit
  - url: do not URL decode proxy crendentials
  - url: fix use of an uninitialized variable
  - url: make parse_login_details use memdup0
  - urlapi: allow setting port number zero
  - version: use msnprintf instead of strncpy
  - vtls: TLS session storage overhaul
  - wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC
  - websocket: avoid memory leak in error path</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716552000">- Fix make install for curl-config.1
  * docs/Makefile.am: make curl-config.1 install
  * Fixed upstream in: github.com/curl/curl/pull/13741
  * Add curl-make-install-curl-config.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718625600">- remove mozilla-nss code (unsupported since 8.3.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- split zsh and fish completion into subpackages to have
  proper supplements</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884801">- add multibuild for minimal libcurl flavored build (useful for
  container environments)</changelog>
</package>
<package pkgid="a3899fb6a17d06857d9acaf32e1a83fa98aaf3d7621d853ccd851673572bb3793103ca6ebd6c515fce9722ed2324739d618e6360862f902f73e5dc70f0290fed" name="curl-debugsource" arch="x86_64">
  <version epoch="0" ver="8.8.0" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1684324800">- Update to 8.1.0:
  * Security fixes:
  - UAF in SSH sha256 fingerprint [bsc#1211230, CVE-2023-28319]
  - siglongjmp race condition [bsc#1211231, CVE-2023-28320]
  - IDN wildcard match [bsc#1211232, CVE-2023-28321]
  - POST-after-PUT confusion [bsc#1211233, CVE-2023-28322]
  - See also: https://curl.se/docs/security.html
  * Changes:
  - curl: add --proxy-http2
  - CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
  - hostip: refuse to resolve the .onion TLD
  - tool_writeout: add URL component variables
  * Bugfixes:
  - See full changelog here: https://curl.se/changes.html#8_1_0</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1684843200">- Update to 8.1.1:
  * Bugfixes:
  - cf-socket: completely remove the disabled
    USE_RECV_BEFORE_SEND_WORKAROUND
  - checksrc: disallow spaces before labels
  - curl_easy_getinfo: clarify on return data types
  - docs: document that curl_url_cleanup(NULL) is a safe no-op
  - hostip: move easy_lock.h include above curl_memory.h
  - http2: double http request parser max line length
  - http2: increase stream window size to 10 MB
  - lib: rename struct 'http_req' to 'httpreq'
  - ngtcp2: proper handling of uint64_t when adjusting send buffer
  - sectransp.c: make the code c89 compatible
  - select: avoid returning an error on EINTR from select() or poll()
  - url: provide better error message when URLs fail to parse
  - urlapi: allow numerical parts in the host name</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1685448000">- Update to 8.1.2:
  * Bugfixes:
  - configure: quote the assignments for run-compiler
  - configure: without pkg-config and no custom path, use -lnghttp2
  - curl: cache the --trace-time value for a second
  - http2: fix EOF handling on uploads with auth negotiation
  - http3: send EOF indicator early as possible
  - lib1560: verify more scheme guessing
  - lib: remove unused functions, make single-use static
  - libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
  - libssh: when keyboard-interactive auth fails, try password
  - misc: fix spelling mistakes
  - page-header: mention curl version and how to figure out current release
  - page-header: minor wording polish in the URL segment
  - scripts/singleuse.pl: add more API calls
  - urlapi: remove superfluous host name check</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1689768000">- Update to 8.2.0 [bsc#1213237, CVE-2023-32001]
  * Security fix:
  - CVE-2023-32001: fopen race condition
  * Changes:
  - curl: add --ca-native and --proxy-ca-native
  - curl: add --trace-ids
  - CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
  - haproxy: add --haproxy-clientip flag to set client IPs
  - lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
  * Bugfixes:
  - cf-socket: don't bypass fclosesocket callback if cancelled before connect
  - cf-socket: skip getpeername()/getsockname for TFTP
  - curl: count uploaded data to stop at the originally given size
  - curl: return error when asked to use an unsupported HTTP version
  - http2: fix crash in handling stream weights
  - http2: send HEADER &amp; DATA together if possible
  - http3/ngtcp2: upload EAGAIN handling
  - http: rectify the outgoing Cookie: header field size check
  - hyper: fix EOF handling on input
  - imap: Provide method to disable SASL if it is advertised
  - libssh2: provide error message when setting host key type fails
  - libssh2: use custom memory functions
  - ngtcp2: assigning timeout, but value is overwritten before used
  - quiche: avoid NULL deref in debug logging
  - sectransp: fix EOF handling
  - system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
  - timeval: use CLOCK_MONOTONIC_RAW if available
  - tls13-ciphers.d: include Schannel
  - tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
  - tool_operate: allow cookie lines up to 8200 bytes
  - tool_parsecfg: accept line lengths up to 10M
  - tool_writeout_json: fix encoding of control characters
  - transfer: clear credentials when redirecting to absolute URL
  - urlapi: have *set(PATH) prepend a slash if one is missing
  - urlapi: scheme must start with alpha
  - vtls: avoid memory leak if sha256 call fails
  - websocket-cb: example doing WebSocket download using callback
  - ws: make the curl_ws_meta() return pointer a const</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1690545600">- Update to 8.2.1:
  * Bugfixes:
  - cfilters: rename close/connect functions to avoid clashes
  - ciphers.d: put URL in first column
  - cmake: add 'libcurlu'/'libcurltool' for unit tests
  - cmake: update ngtcp2 detection
  - configure: check for nghttp2_session_get_stream_local_window_size
  - docs: mark two TLS options for TLS, not SSL
  - docs: provide more see also for cipher options
  - hostip: return IPv6 first for localhost resolves
  - http2: fix regression on upload EOF handling
  - http: VLH, very large header test and fixes
  - libcurl-errors.3: add CURLUE_OK
  - os400: correct EXPECTED_STRING_LASTZEROTERMINATED
  - quiche: fix lookup of transfer at multi
  - quiche: fix segfault and other things
  - rustls: update rustls-ffi 0.10.0
  - socks: print ipv6 address within brackets
  - src/mkhelp: strip off escape sequences
  - tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T
  - transfer: do not clear the credentials on redirect to absolute URL
  - unittest: remove unneeded *_LDADD
  - websocket: rename arguments/variables to match docs</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1694606400">- Update to 8.3.0: [bsc#1215026, CVE-2023-38039]
  * Changes:
  - curl: make %output{} in -w specify a file to write to
  - gskit: remove
  - lib: --disable-bindlocal builds curl without local binding support
  - nss: remove support for this TLS library
  - tool: add "variable" support
  - trace: make tracing available in non-debug builds
  - url: change default value for CURLOPT_MAXREDIRS to 30
  - urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
  * Bugfixes:
  - altsvc: accept and parse IPv6 addresses in response headers
  - asyn-ares: reduce timeout to 2000ms
  - aws-sigv4: canonicalize the query
  - aws-sigv4: fix having date header twice in some cases
  - aws-sigv4: handle no-value user header entries
  - c-hyper: adjust the hyper to curlcode conversion
  - c-hyper: fix memory leaks in `Curl_http`
  - cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
  - cf-socket: log successful interface bind
  - cmake: add GnuTLS option
  - cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
  - cmake: detect `SSL_set0_wbio` in OpenSSL
  - configure: trust pkg-config when it's used for zlib
  - configure: use the pkg-config --libs-only-l flag for libssh2
  - connect: stop halving the remaining timeout when less than 600 ms left
  - crypto: ensure crypto initialization works
  - digest: Use hostname to generate spn instead of realm
  - ftp: fix temp write of ipv6 address
  - headers: accept leading whitespaces on first response header
  - http2: fix in h2 proxy tunnel: progress in ingress on sending
  - http3/ngtcp2: shorten handshake, trace cleanup
  - http3: quiche, handshake optimization, trace cleanup
  - http: close the connection after a late 417 is received
  - http: fix sending of large requests
  - http: return error when receiving too large header set
  - lib: fix null ptr derefs and uninitialized vars (h2/h3)
  - lib: move mimepost data from -&gt;req.p.http to -&gt;state
  - list-only.d: mention SFTP as supported protocol
  - ngtcp2: fix handling of large requests
  - openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
  - openssl: clear error queue after SSL_shutdown
  - openssl: make aws-lc version support OCSP
  - openssl: Support async cert verify callback
  - openssl: switch to modern init for LibreSSL 2.7.0+
  - openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
  - quic: don't set SNI if hostname is an IP address
  - quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
  - quiche: enable quiche to handle timeout events
  - resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
  - schannel: verify hostname independent of verify cert
  - tool_filetime: make -z work with file dates before 1970
  - tool_operate: allow both SSL_CERT_FILE and SSL_CERT_DIR
  - tool_operate: make aws-sigv4 not require TLS to be used
  - transfer: also stop the sending on closed connection
  - urlapi: fix heap buffer overflow
  - urlapi: setting a blank URL ("") is not an ok URL</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1697025600">- Update to 8.4.0:
  * Security fixes:
  - SOCKS5 heap buffer overflow [bsc#1215888, CVE-2023-38545]
  - cookie injection with none file [bsc#1215889, CVE-2023-38546]
  * Changes:
  - curl: add support for the IPFS protocols via HTTP gateway
  - curl_multi_get_handles: get easy handles from a multi handle
  - mingw: delete support for legacy mingw.org toolchain
  * Bugfixes:
  - base64: also build for curl
  - cf-socket: simulate slow/blocked receives in debug
  - configure: check for the capath by default
  - connect: expire the timeout when trying next
  - connect: only start the happy eyeballs timer when needed
  - cookie: do not store the expire or max-age strings
  - cookie: remove unnecessary struct fields
  - cookie: set -&gt;running in cookie_init even if data is NULL
  - create-dirs.d: clarify it also uses --output-dirs
  - http2: refused stream handling for retry
  - http: h1/h2 proxy unification
  - http: use per-request counter to check too large headers
  - idn: if idn2_check_version returns NULL, return error
  - lib: enable hmac for digest as well
  - lib: let the max filesize option stop too big transfers too
  - lib: move handling of 'data-&gt;req.writer_stack' into Curl_client_write()
  - lib: provide and use Curl_hexencode
  - lib: use wrapper for curl_mime_data fseek callback
  - libssh2: fix error message on failed pubkey-from-file
  - libssh: cap SFTP packet size sent
  - MQTT: improve receive of ACKs
  - multi: do CURLM_CALL_MULTI_PERFORM at two more places
  - multi: round the timeout up to prevent early wakeups
  - openssl: improve ssl shutdown handling
  - openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
  - pytest: exclude test_03_goaway in CI runs due to timing dependency
  - quic: set ciphers/curves the same way regular TLS does
  - quiche: fix build error with --with-ca-fallback
  - socks: return error if hostname too long for remote resolve
  - tftpd: always use curl's own tftp.h
  - tool_getparam: accept variable expansion on file names too
  - upload-file.d: describe the file name slash/backslash handling
  - url: fall back to http/https proxy env-variable if ws/wss not set
  - url: fix netrc info message
  - wolfssh: do cleanup in Curl_ssh_cleanup
  - wolfssl: allow capath with CURLOPT_CAINFO_BLOB
  - wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
  - wolfssl: ignore errors in CA path
  * Rebase libcurl-ocloexec.patch</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1701864000">- Update to 8.5.0:
  * Security fixes:
  - [bsc#1217573, CVE-2023-46218] cookie mixed case PSL bypass
  - [bsc#1217574, CVE-2023-46219] HSTS long file name clears contents
  * Changes:
  - gnutls: support CURLSSLOPT_NATIVE_CA
  - HTTP3: ngtcp2 builds are no longer experimental
  * Bugfixes:
  - asyn-thread: use pipe instead of socketpair for IPC when available
  - cmake: fix OpenSSL quic detection in quiche builds
  - conncache: use the closure handle when disconnecting surplus connections
  - content_encoding: make Curl_all_content_encodings allocless
  - cookie: lowercase the domain names before PSL checks
  - Curl_http_body: cleanup properly when Curl_getformdata errors
  - CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
  - doh: provide better return code for responses w/o addresses
  - doh: use PIPEWAIT when HTTP/2 is attempted
  - duphandle: also free 'outcurl-&gt;cookies' in error path
  - duphandle: make dupset() not return with pointers to old alloced data
  - duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
  - easy: in duphandle, init the cookies for the new handle
  - easy_lock: add a pthread_mutex_t fallback
  - fopen: create new file using old file's mode
  - fopen: create short(er) temporary file name
  - getenv: PlayStation doesn't have getenv()
  - hostip: show the list of IPs when resolving is done
  - hsts: skip single-dot hostname
  - HTTP/2, HTTP/3: handle detach of onoing transfers
  - http: allow longer HTTP/2 request method names
  - hyper: temporarily remove HTTP/2 support
  - IPFS: fix IPFS_PATH and file parsing
  - multi: during ratelimit multi_getsock should return no sockets
  - multi: use pipe instead of socketpair to *wakeup()
  - ngtcp2: fix races in stream handling
  - ntlm_wb: use pipe instead of socketpair when possible
  - openssl: avoid BN_num_bits() NULL pointer derefs
  - openssl: fix building with v3 `no-deprecated` + add CI test
  - openssl: fix infof() to avoid compiler warning for %s with null
  - openssl: identify the "quictls" backend correctly
  - openssl: include SIG and KEM algorithms in verbose
  - openssl: two multi pointer checks should probably rather be asserts
  - openssl: when a session-ID is reused, skip OCSP stapling
  - quic: make eyeballers connect retries stop at weird replies
  - quic: manage connection idle timeouts
  - setopt: check CURLOPT_TFTP_BLKSIZE range on set
  - socks: better buffer size checks for socks4a user and hostname
  - socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
  - tool: fix --capath when proxy support is disabled
  - tool_getparam: limit --rate to be smaller than number of ms
  - transfer: abort pause send when connection is marked for closing
  - transfer: avoid calling the read callback again after EOF
  - transfer: only reset the FTP wildcard engine in CLEAR state
  - url: don't touch the multi handle when closing internal handles
  - urlapi: avoid null deref if setting blank host to url encode
  - urlapi: skip appending NULL pointer query
  - urlapi: when URL encoding the fragment, pass in the right length
  - vtls: cleanup SSL config management
  - vtls: consistently use typedef names for OpenSSL structs
  - vtls: late clone of connection ssl config
  - vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
  * Rebase curl-secure-getenv.patch
  * Add curl-tests-errorcodes.patch</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1704456000">- Added curl-adjust-pollset-fix.patch to fix broken MPD http streaming:
  https://github.com/curl/curl/issues/12632</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1706702400">- Update to 8.6.0: [bsc#1219149, CVE-2024-0853]
  * Security fixes:
  - CVE-2024-0853: OCSP verification bypass with TLS session reuse
  * Changes:
  - add CURLE_TOO_LARGE, CURLINFO_QUEUE_TIME_T
  * Bugfixes:
  - altsvc: free 'as' when returning error
  - asyn-ares: with modern c-ares, use its default timeout
  - cf-socket: show errno in tcpkeepalive error messages
  - cmdline-opts: update availability for the *-ca-native options
  - configure: when enabling QUIC, check that TLS supports QUIC
  - content_encoding: change return code to typedef'ed enum
  - curl: show ipfs and ipns as supported "protocols"
  - CURLINFO_REFERER.3: clarify that it is the *request* header
  - dist: add tests/errorcodes.pl to the tarball
  - gen.pl: support ## for doing .IP in table-like lists
  - GHA: bump ngtcp2, gnutls, mod_h2, quiche
  - hostip: return error immediately when Curl_ip2addr() fails
  - http3/quiche: fix result code on a stream reset
  - http3: initial support for OpenSSL 3.2 QUIC stack
  - http: check for "Host:" case insensitively
  - http: fix off-by-one error in request method length check
  - http: only act on 101 responses when they are HTTP/1.1
  - lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
  - lib: error out on multissl + http3
  - lib: fix variable undeclared error caused by `infof` changes
  - lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
  - lib: strndup/memdup instead of malloc, memcpy and null-terminate
  - libssh2: use `libssh2_session_callback_set2()` with v1.11.1
  - ngtcp2: put h3 at the front of alpn
  - openldap: fix an LDAP crash
  - openldap: fix STARTTLS
  - openssl: re-match LibreSSL deinit with init
  - rtsp: deal with borked server responses
  - sasl: make login option string override http auth
  - tool: prepend output_dir in header callback
  - tool_getparam: stop supporting `@filename` style for --cookie
  - transfer: fix upload rate limiting, add test cases
  - url: don't set default CA paths for Secure Transport backend
  - url: for disabled protocols, mention if found in redirect
  - vquic: extract TLS setup into own source
  - websockets: check for negative payload lengths
  * Remove patches fixed upstream:
  - curl-adjust-pollset-fix.patch
  - curl-tests-errorcodes.patch
  * Rebase dont-mess-with-rpmoptflags.patch</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1707393600">- Add patch to fix various TLS related issues including FTP over SSL
  transmission timeouts:
  * 0001-vtls-revert-receive-max-buffer-add-test-case.patch
- Switch to %autosetup</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1710244800">- Remove the nghttp2 version requirement as a version guard around
  the nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  function was added in curl 8.0.1.
  * Upstream commit: https://github.com/curl/curl/commit/744dcf22</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1711540800">- Update to 8.7.1:
  * Fixed empty tool_hugehelp.c file
- Update to 8.7.0:
  * Security fixes:
  - [bsc#1221665, CVE-2024-2004] Usage of disabled protocol
  - [bsc#1221667, CVE-2024-2398] HTTP/2 push headers memory-leak
  - [bsc#1221666, CVE-2024-2379] QUIC certificate check bypass with wolfSSL
  - [bsc#1221668, CVE-2024-2466] TLS certificate check bypass with mbedTLS
  * Changes:
  - configure: add --disable-docs flag
  - CURLINFO_USED_PROXY: return bool whether the proxy was used
  - digest: support SHA-512/256
  * Bugfixes:
  - asyn-thread: use wakeup_close to close the read descriptor
  - bufq: writing into a softlimit queue cannot be partial
  - cmake: add USE_OPENSSL_QUIC support
  - cookie: if psl fails, reject the cookie
  - curl: exit on config file parser errors
  - digest: add check for hashing error
  - docs/libcurl: add TLS backend info for all TLS options
  - file: use xfer buf for file:// transfers
  - ftp: do lineend conversions in client writer
  - ftp: fix socket wait activity in ftp_domore_getsock
  - http2: memory errors in the push callbacks are fatal
  - http2: push headers better cleanup
  - libssh/libssh2: return error on too big range
  - OpenSSL QUIC: adapt to v3.3.x
  - setopt: fix check for CURLOPT_PROXY_TLSAUTH_TYPE value
  - setopt: fix disabling all protocols
  - sha512_256: add support for GnuTLS and OpenSSL
  - smtp: fix STARTTLS
  - strtoofft: fix the overflow check
  - TIMER_STARTTRANSFER: set the same for everyone
  - TLS: start shutdown only when peer did not already close
  - tool_getparam: accept a blank -w ""
  - tool_getparam: handle non-existing (out of range) short-options
  - tool_operate: change precedence of server Retry-After time
  - transfer.c: break receive loop in speed limited transfers
  - version: allow building with ancient libpsl
  - vquic-tls: fix the error code returned for bad CA file
  - vtls: fix tls proxy peer verification
  - vtls: revert "receive max buffer" + add test case
  - VULN-DISCLOSURE-POLICY.md: update detail about CVE requests
  - websocket: fix curl_ws_recv()
  * Remove patch upstream:
  - 0001-vtls-revert-receive-max-buffer-add-test-case.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Spin documentation off to libcurl-devel-doc, this saves buildroots
  495 files and time (mandb is run in %posttrans).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716379200">- Add split-provides for libcurl-devel -&gt; libcurl-devel-doc.</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716379201">- Update to 8.8.0:
  * Changes:
  - curl_version_info: provide librtmp version
  - file: add support for directory listings
  - lib: add curl_multi_waitfds
  - NTLM_WB: drop support
  - TLS: add support for ECH (Encrypted Client Hello)
  - urlapi: add CURLU_GET_EMPTY for empty queries and fragments
  * Bugfixes:
  - build: prefer "USE_IPV6" macro internally (was: "ENABLE_IPV6")
  - cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set
  - cf-socket: don't try getting local IP without socket
  - cf-socket: remove references to l_ip, l_port
  - configure: make --disable-docs imply --disable-manual
  - curl.h: change CURL_SSLVERSION_* from enum to defines
  - curl_path: make Curl_get_pathname use dynbuf
  - curl_sha512_256: do not use workaround for NetBSD when not needed
  - curl_sha512_256: fix detection of OpenSSL 1.1.1 or later
  - curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY
  - DEPRECATE.md: TLS libraries without 1.3 support
  - digest: replace strcpy for empty string with simple assignment
  - doc: pytest "--repeat" -&gt; "--count"
  - docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
  - dynbuf: fix returncode on memory error
  - ftp: add tracing support
  - ftp: fix socket leak on rare error
  - gnutls: lazy init the trust settings
  - hsts: explicitly skip blank lines
  - http2 + ngtcp2: pass CURLcode errors from callbacks
  - http2, http3: decouple stream state from easy handle
  - http2: emit RST when client write fails
  - http: HEAD response body tolerance
  - http: reject HTTP major version switch mid connection
  - http: with chunked POST forced, disable length check on read callback
  - idn: make Curl_idnconvert_hostname() use Curl_idn_decode()
  - if2ip: make the buf_size arg a size_t
  - krb5: use dynbuf
  - lib/cf-h1-proxy: silence compiler warnings (gcc 14)
  - lib: add trace support for client reads and writes
  - lib: bump hash sizes to "size_t"
  - lib: clear the easy handle's saved errno before transfer
  - lib: make protocol handlers store scheme name lowercase
  - lib: merge "ENABLE_QUIC" C macro into "USE_HTTP3"
  - libssh2: set length to 0 if strdup failed
  - openssl: do not set SSL_MODE_RELEASE_BUFFERS
  - openssl: revert keylog_callback support for LibreSSL
  - OS400: fix shellcheck warnings in scripts
  - quiche: expire all active transfers on connection close
  - quiche: trust its timeout handling
  - tls: use shared init code for TCP+QUIC
  - tool_cfgable: free {proxy_}cipher13_list on exit
  - url: do not URL decode proxy crendentials
  - url: fix use of an uninitialized variable
  - url: make parse_login_details use memdup0
  - urlapi: allow setting port number zero
  - version: use msnprintf instead of strncpy
  - vtls: TLS session storage overhaul
  - wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC
  - websocket: avoid memory leak in error path</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716552000">- Fix make install for curl-config.1
  * docs/Makefile.am: make curl-config.1 install
  * Fixed upstream in: github.com/curl/curl/pull/13741
  * Add curl-make-install-curl-config.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718625600">- remove mozilla-nss code (unsupported since 8.3.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- split zsh and fish completion into subpackages to have
  proper supplements</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884801">- add multibuild for minimal libcurl flavored build (useful for
  container environments)</changelog>
</package>
<package pkgid="38b876e2b51a9bbbf868b9b3b1870dd6f3c455b65bc718f662c26bfca57d390d3e3d1a605259a7f7c7e51b7c73870ef7b03a973b2305a0954fc463967211a0ab" name="curl-fish-completion" arch="noarch">
  <version epoch="0" ver="8.8.0" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1684324800">- Update to 8.1.0:
  * Security fixes:
  - UAF in SSH sha256 fingerprint [bsc#1211230, CVE-2023-28319]
  - siglongjmp race condition [bsc#1211231, CVE-2023-28320]
  - IDN wildcard match [bsc#1211232, CVE-2023-28321]
  - POST-after-PUT confusion [bsc#1211233, CVE-2023-28322]
  - See also: https://curl.se/docs/security.html
  * Changes:
  - curl: add --proxy-http2
  - CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
  - hostip: refuse to resolve the .onion TLD
  - tool_writeout: add URL component variables
  * Bugfixes:
  - See full changelog here: https://curl.se/changes.html#8_1_0</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1684843200">- Update to 8.1.1:
  * Bugfixes:
  - cf-socket: completely remove the disabled
    USE_RECV_BEFORE_SEND_WORKAROUND
  - checksrc: disallow spaces before labels
  - curl_easy_getinfo: clarify on return data types
  - docs: document that curl_url_cleanup(NULL) is a safe no-op
  - hostip: move easy_lock.h include above curl_memory.h
  - http2: double http request parser max line length
  - http2: increase stream window size to 10 MB
  - lib: rename struct 'http_req' to 'httpreq'
  - ngtcp2: proper handling of uint64_t when adjusting send buffer
  - sectransp.c: make the code c89 compatible
  - select: avoid returning an error on EINTR from select() or poll()
  - url: provide better error message when URLs fail to parse
  - urlapi: allow numerical parts in the host name</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1685448000">- Update to 8.1.2:
  * Bugfixes:
  - configure: quote the assignments for run-compiler
  - configure: without pkg-config and no custom path, use -lnghttp2
  - curl: cache the --trace-time value for a second
  - http2: fix EOF handling on uploads with auth negotiation
  - http3: send EOF indicator early as possible
  - lib1560: verify more scheme guessing
  - lib: remove unused functions, make single-use static
  - libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
  - libssh: when keyboard-interactive auth fails, try password
  - misc: fix spelling mistakes
  - page-header: mention curl version and how to figure out current release
  - page-header: minor wording polish in the URL segment
  - scripts/singleuse.pl: add more API calls
  - urlapi: remove superfluous host name check</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1689768000">- Update to 8.2.0 [bsc#1213237, CVE-2023-32001]
  * Security fix:
  - CVE-2023-32001: fopen race condition
  * Changes:
  - curl: add --ca-native and --proxy-ca-native
  - curl: add --trace-ids
  - CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
  - haproxy: add --haproxy-clientip flag to set client IPs
  - lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
  * Bugfixes:
  - cf-socket: don't bypass fclosesocket callback if cancelled before connect
  - cf-socket: skip getpeername()/getsockname for TFTP
  - curl: count uploaded data to stop at the originally given size
  - curl: return error when asked to use an unsupported HTTP version
  - http2: fix crash in handling stream weights
  - http2: send HEADER &amp; DATA together if possible
  - http3/ngtcp2: upload EAGAIN handling
  - http: rectify the outgoing Cookie: header field size check
  - hyper: fix EOF handling on input
  - imap: Provide method to disable SASL if it is advertised
  - libssh2: provide error message when setting host key type fails
  - libssh2: use custom memory functions
  - ngtcp2: assigning timeout, but value is overwritten before used
  - quiche: avoid NULL deref in debug logging
  - sectransp: fix EOF handling
  - system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
  - timeval: use CLOCK_MONOTONIC_RAW if available
  - tls13-ciphers.d: include Schannel
  - tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
  - tool_operate: allow cookie lines up to 8200 bytes
  - tool_parsecfg: accept line lengths up to 10M
  - tool_writeout_json: fix encoding of control characters
  - transfer: clear credentials when redirecting to absolute URL
  - urlapi: have *set(PATH) prepend a slash if one is missing
  - urlapi: scheme must start with alpha
  - vtls: avoid memory leak if sha256 call fails
  - websocket-cb: example doing WebSocket download using callback
  - ws: make the curl_ws_meta() return pointer a const</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1690545600">- Update to 8.2.1:
  * Bugfixes:
  - cfilters: rename close/connect functions to avoid clashes
  - ciphers.d: put URL in first column
  - cmake: add 'libcurlu'/'libcurltool' for unit tests
  - cmake: update ngtcp2 detection
  - configure: check for nghttp2_session_get_stream_local_window_size
  - docs: mark two TLS options for TLS, not SSL
  - docs: provide more see also for cipher options
  - hostip: return IPv6 first for localhost resolves
  - http2: fix regression on upload EOF handling
  - http: VLH, very large header test and fixes
  - libcurl-errors.3: add CURLUE_OK
  - os400: correct EXPECTED_STRING_LASTZEROTERMINATED
  - quiche: fix lookup of transfer at multi
  - quiche: fix segfault and other things
  - rustls: update rustls-ffi 0.10.0
  - socks: print ipv6 address within brackets
  - src/mkhelp: strip off escape sequences
  - tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T
  - transfer: do not clear the credentials on redirect to absolute URL
  - unittest: remove unneeded *_LDADD
  - websocket: rename arguments/variables to match docs</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1694606400">- Update to 8.3.0: [bsc#1215026, CVE-2023-38039]
  * Changes:
  - curl: make %output{} in -w specify a file to write to
  - gskit: remove
  - lib: --disable-bindlocal builds curl without local binding support
  - nss: remove support for this TLS library
  - tool: add "variable" support
  - trace: make tracing available in non-debug builds
  - url: change default value for CURLOPT_MAXREDIRS to 30
  - urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
  * Bugfixes:
  - altsvc: accept and parse IPv6 addresses in response headers
  - asyn-ares: reduce timeout to 2000ms
  - aws-sigv4: canonicalize the query
  - aws-sigv4: fix having date header twice in some cases
  - aws-sigv4: handle no-value user header entries
  - c-hyper: adjust the hyper to curlcode conversion
  - c-hyper: fix memory leaks in `Curl_http`
  - cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
  - cf-socket: log successful interface bind
  - cmake: add GnuTLS option
  - cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
  - cmake: detect `SSL_set0_wbio` in OpenSSL
  - configure: trust pkg-config when it's used for zlib
  - configure: use the pkg-config --libs-only-l flag for libssh2
  - connect: stop halving the remaining timeout when less than 600 ms left
  - crypto: ensure crypto initialization works
  - digest: Use hostname to generate spn instead of realm
  - ftp: fix temp write of ipv6 address
  - headers: accept leading whitespaces on first response header
  - http2: fix in h2 proxy tunnel: progress in ingress on sending
  - http3/ngtcp2: shorten handshake, trace cleanup
  - http3: quiche, handshake optimization, trace cleanup
  - http: close the connection after a late 417 is received
  - http: fix sending of large requests
  - http: return error when receiving too large header set
  - lib: fix null ptr derefs and uninitialized vars (h2/h3)
  - lib: move mimepost data from -&gt;req.p.http to -&gt;state
  - list-only.d: mention SFTP as supported protocol
  - ngtcp2: fix handling of large requests
  - openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
  - openssl: clear error queue after SSL_shutdown
  - openssl: make aws-lc version support OCSP
  - openssl: Support async cert verify callback
  - openssl: switch to modern init for LibreSSL 2.7.0+
  - openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
  - quic: don't set SNI if hostname is an IP address
  - quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
  - quiche: enable quiche to handle timeout events
  - resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
  - schannel: verify hostname independent of verify cert
  - tool_filetime: make -z work with file dates before 1970
  - tool_operate: allow both SSL_CERT_FILE and SSL_CERT_DIR
  - tool_operate: make aws-sigv4 not require TLS to be used
  - transfer: also stop the sending on closed connection
  - urlapi: fix heap buffer overflow
  - urlapi: setting a blank URL ("") is not an ok URL</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1697025600">- Update to 8.4.0:
  * Security fixes:
  - SOCKS5 heap buffer overflow [bsc#1215888, CVE-2023-38545]
  - cookie injection with none file [bsc#1215889, CVE-2023-38546]
  * Changes:
  - curl: add support for the IPFS protocols via HTTP gateway
  - curl_multi_get_handles: get easy handles from a multi handle
  - mingw: delete support for legacy mingw.org toolchain
  * Bugfixes:
  - base64: also build for curl
  - cf-socket: simulate slow/blocked receives in debug
  - configure: check for the capath by default
  - connect: expire the timeout when trying next
  - connect: only start the happy eyeballs timer when needed
  - cookie: do not store the expire or max-age strings
  - cookie: remove unnecessary struct fields
  - cookie: set -&gt;running in cookie_init even if data is NULL
  - create-dirs.d: clarify it also uses --output-dirs
  - http2: refused stream handling for retry
  - http: h1/h2 proxy unification
  - http: use per-request counter to check too large headers
  - idn: if idn2_check_version returns NULL, return error
  - lib: enable hmac for digest as well
  - lib: let the max filesize option stop too big transfers too
  - lib: move handling of 'data-&gt;req.writer_stack' into Curl_client_write()
  - lib: provide and use Curl_hexencode
  - lib: use wrapper for curl_mime_data fseek callback
  - libssh2: fix error message on failed pubkey-from-file
  - libssh: cap SFTP packet size sent
  - MQTT: improve receive of ACKs
  - multi: do CURLM_CALL_MULTI_PERFORM at two more places
  - multi: round the timeout up to prevent early wakeups
  - openssl: improve ssl shutdown handling
  - openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
  - pytest: exclude test_03_goaway in CI runs due to timing dependency
  - quic: set ciphers/curves the same way regular TLS does
  - quiche: fix build error with --with-ca-fallback
  - socks: return error if hostname too long for remote resolve
  - tftpd: always use curl's own tftp.h
  - tool_getparam: accept variable expansion on file names too
  - upload-file.d: describe the file name slash/backslash handling
  - url: fall back to http/https proxy env-variable if ws/wss not set
  - url: fix netrc info message
  - wolfssh: do cleanup in Curl_ssh_cleanup
  - wolfssl: allow capath with CURLOPT_CAINFO_BLOB
  - wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
  - wolfssl: ignore errors in CA path
  * Rebase libcurl-ocloexec.patch</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1701864000">- Update to 8.5.0:
  * Security fixes:
  - [bsc#1217573, CVE-2023-46218] cookie mixed case PSL bypass
  - [bsc#1217574, CVE-2023-46219] HSTS long file name clears contents
  * Changes:
  - gnutls: support CURLSSLOPT_NATIVE_CA
  - HTTP3: ngtcp2 builds are no longer experimental
  * Bugfixes:
  - asyn-thread: use pipe instead of socketpair for IPC when available
  - cmake: fix OpenSSL quic detection in quiche builds
  - conncache: use the closure handle when disconnecting surplus connections
  - content_encoding: make Curl_all_content_encodings allocless
  - cookie: lowercase the domain names before PSL checks
  - Curl_http_body: cleanup properly when Curl_getformdata errors
  - CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
  - doh: provide better return code for responses w/o addresses
  - doh: use PIPEWAIT when HTTP/2 is attempted
  - duphandle: also free 'outcurl-&gt;cookies' in error path
  - duphandle: make dupset() not return with pointers to old alloced data
  - duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
  - easy: in duphandle, init the cookies for the new handle
  - easy_lock: add a pthread_mutex_t fallback
  - fopen: create new file using old file's mode
  - fopen: create short(er) temporary file name
  - getenv: PlayStation doesn't have getenv()
  - hostip: show the list of IPs when resolving is done
  - hsts: skip single-dot hostname
  - HTTP/2, HTTP/3: handle detach of onoing transfers
  - http: allow longer HTTP/2 request method names
  - hyper: temporarily remove HTTP/2 support
  - IPFS: fix IPFS_PATH and file parsing
  - multi: during ratelimit multi_getsock should return no sockets
  - multi: use pipe instead of socketpair to *wakeup()
  - ngtcp2: fix races in stream handling
  - ntlm_wb: use pipe instead of socketpair when possible
  - openssl: avoid BN_num_bits() NULL pointer derefs
  - openssl: fix building with v3 `no-deprecated` + add CI test
  - openssl: fix infof() to avoid compiler warning for %s with null
  - openssl: identify the "quictls" backend correctly
  - openssl: include SIG and KEM algorithms in verbose
  - openssl: two multi pointer checks should probably rather be asserts
  - openssl: when a session-ID is reused, skip OCSP stapling
  - quic: make eyeballers connect retries stop at weird replies
  - quic: manage connection idle timeouts
  - setopt: check CURLOPT_TFTP_BLKSIZE range on set
  - socks: better buffer size checks for socks4a user and hostname
  - socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
  - tool: fix --capath when proxy support is disabled
  - tool_getparam: limit --rate to be smaller than number of ms
  - transfer: abort pause send when connection is marked for closing
  - transfer: avoid calling the read callback again after EOF
  - transfer: only reset the FTP wildcard engine in CLEAR state
  - url: don't touch the multi handle when closing internal handles
  - urlapi: avoid null deref if setting blank host to url encode
  - urlapi: skip appending NULL pointer query
  - urlapi: when URL encoding the fragment, pass in the right length
  - vtls: cleanup SSL config management
  - vtls: consistently use typedef names for OpenSSL structs
  - vtls: late clone of connection ssl config
  - vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
  * Rebase curl-secure-getenv.patch
  * Add curl-tests-errorcodes.patch</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1704456000">- Added curl-adjust-pollset-fix.patch to fix broken MPD http streaming:
  https://github.com/curl/curl/issues/12632</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1706702400">- Update to 8.6.0: [bsc#1219149, CVE-2024-0853]
  * Security fixes:
  - CVE-2024-0853: OCSP verification bypass with TLS session reuse
  * Changes:
  - add CURLE_TOO_LARGE, CURLINFO_QUEUE_TIME_T
  * Bugfixes:
  - altsvc: free 'as' when returning error
  - asyn-ares: with modern c-ares, use its default timeout
  - cf-socket: show errno in tcpkeepalive error messages
  - cmdline-opts: update availability for the *-ca-native options
  - configure: when enabling QUIC, check that TLS supports QUIC
  - content_encoding: change return code to typedef'ed enum
  - curl: show ipfs and ipns as supported "protocols"
  - CURLINFO_REFERER.3: clarify that it is the *request* header
  - dist: add tests/errorcodes.pl to the tarball
  - gen.pl: support ## for doing .IP in table-like lists
  - GHA: bump ngtcp2, gnutls, mod_h2, quiche
  - hostip: return error immediately when Curl_ip2addr() fails
  - http3/quiche: fix result code on a stream reset
  - http3: initial support for OpenSSL 3.2 QUIC stack
  - http: check for "Host:" case insensitively
  - http: fix off-by-one error in request method length check
  - http: only act on 101 responses when they are HTTP/1.1
  - lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
  - lib: error out on multissl + http3
  - lib: fix variable undeclared error caused by `infof` changes
  - lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
  - lib: strndup/memdup instead of malloc, memcpy and null-terminate
  - libssh2: use `libssh2_session_callback_set2()` with v1.11.1
  - ngtcp2: put h3 at the front of alpn
  - openldap: fix an LDAP crash
  - openldap: fix STARTTLS
  - openssl: re-match LibreSSL deinit with init
  - rtsp: deal with borked server responses
  - sasl: make login option string override http auth
  - tool: prepend output_dir in header callback
  - tool_getparam: stop supporting `@filename` style for --cookie
  - transfer: fix upload rate limiting, add test cases
  - url: don't set default CA paths for Secure Transport backend
  - url: for disabled protocols, mention if found in redirect
  - vquic: extract TLS setup into own source
  - websockets: check for negative payload lengths
  * Remove patches fixed upstream:
  - curl-adjust-pollset-fix.patch
  - curl-tests-errorcodes.patch
  * Rebase dont-mess-with-rpmoptflags.patch</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1707393600">- Add patch to fix various TLS related issues including FTP over SSL
  transmission timeouts:
  * 0001-vtls-revert-receive-max-buffer-add-test-case.patch
- Switch to %autosetup</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1710244800">- Remove the nghttp2 version requirement as a version guard around
  the nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  function was added in curl 8.0.1.
  * Upstream commit: https://github.com/curl/curl/commit/744dcf22</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1711540800">- Update to 8.7.1:
  * Fixed empty tool_hugehelp.c file
- Update to 8.7.0:
  * Security fixes:
  - [bsc#1221665, CVE-2024-2004] Usage of disabled protocol
  - [bsc#1221667, CVE-2024-2398] HTTP/2 push headers memory-leak
  - [bsc#1221666, CVE-2024-2379] QUIC certificate check bypass with wolfSSL
  - [bsc#1221668, CVE-2024-2466] TLS certificate check bypass with mbedTLS
  * Changes:
  - configure: add --disable-docs flag
  - CURLINFO_USED_PROXY: return bool whether the proxy was used
  - digest: support SHA-512/256
  * Bugfixes:
  - asyn-thread: use wakeup_close to close the read descriptor
  - bufq: writing into a softlimit queue cannot be partial
  - cmake: add USE_OPENSSL_QUIC support
  - cookie: if psl fails, reject the cookie
  - curl: exit on config file parser errors
  - digest: add check for hashing error
  - docs/libcurl: add TLS backend info for all TLS options
  - file: use xfer buf for file:// transfers
  - ftp: do lineend conversions in client writer
  - ftp: fix socket wait activity in ftp_domore_getsock
  - http2: memory errors in the push callbacks are fatal
  - http2: push headers better cleanup
  - libssh/libssh2: return error on too big range
  - OpenSSL QUIC: adapt to v3.3.x
  - setopt: fix check for CURLOPT_PROXY_TLSAUTH_TYPE value
  - setopt: fix disabling all protocols
  - sha512_256: add support for GnuTLS and OpenSSL
  - smtp: fix STARTTLS
  - strtoofft: fix the overflow check
  - TIMER_STARTTRANSFER: set the same for everyone
  - TLS: start shutdown only when peer did not already close
  - tool_getparam: accept a blank -w ""
  - tool_getparam: handle non-existing (out of range) short-options
  - tool_operate: change precedence of server Retry-After time
  - transfer.c: break receive loop in speed limited transfers
  - version: allow building with ancient libpsl
  - vquic-tls: fix the error code returned for bad CA file
  - vtls: fix tls proxy peer verification
  - vtls: revert "receive max buffer" + add test case
  - VULN-DISCLOSURE-POLICY.md: update detail about CVE requests
  - websocket: fix curl_ws_recv()
  * Remove patch upstream:
  - 0001-vtls-revert-receive-max-buffer-add-test-case.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Spin documentation off to libcurl-devel-doc, this saves buildroots
  495 files and time (mandb is run in %posttrans).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716379200">- Add split-provides for libcurl-devel -&gt; libcurl-devel-doc.</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716379201">- Update to 8.8.0:
  * Changes:
  - curl_version_info: provide librtmp version
  - file: add support for directory listings
  - lib: add curl_multi_waitfds
  - NTLM_WB: drop support
  - TLS: add support for ECH (Encrypted Client Hello)
  - urlapi: add CURLU_GET_EMPTY for empty queries and fragments
  * Bugfixes:
  - build: prefer "USE_IPV6" macro internally (was: "ENABLE_IPV6")
  - cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set
  - cf-socket: don't try getting local IP without socket
  - cf-socket: remove references to l_ip, l_port
  - configure: make --disable-docs imply --disable-manual
  - curl.h: change CURL_SSLVERSION_* from enum to defines
  - curl_path: make Curl_get_pathname use dynbuf
  - curl_sha512_256: do not use workaround for NetBSD when not needed
  - curl_sha512_256: fix detection of OpenSSL 1.1.1 or later
  - curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY
  - DEPRECATE.md: TLS libraries without 1.3 support
  - digest: replace strcpy for empty string with simple assignment
  - doc: pytest "--repeat" -&gt; "--count"
  - docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
  - dynbuf: fix returncode on memory error
  - ftp: add tracing support
  - ftp: fix socket leak on rare error
  - gnutls: lazy init the trust settings
  - hsts: explicitly skip blank lines
  - http2 + ngtcp2: pass CURLcode errors from callbacks
  - http2, http3: decouple stream state from easy handle
  - http2: emit RST when client write fails
  - http: HEAD response body tolerance
  - http: reject HTTP major version switch mid connection
  - http: with chunked POST forced, disable length check on read callback
  - idn: make Curl_idnconvert_hostname() use Curl_idn_decode()
  - if2ip: make the buf_size arg a size_t
  - krb5: use dynbuf
  - lib/cf-h1-proxy: silence compiler warnings (gcc 14)
  - lib: add trace support for client reads and writes
  - lib: bump hash sizes to "size_t"
  - lib: clear the easy handle's saved errno before transfer
  - lib: make protocol handlers store scheme name lowercase
  - lib: merge "ENABLE_QUIC" C macro into "USE_HTTP3"
  - libssh2: set length to 0 if strdup failed
  - openssl: do not set SSL_MODE_RELEASE_BUFFERS
  - openssl: revert keylog_callback support for LibreSSL
  - OS400: fix shellcheck warnings in scripts
  - quiche: expire all active transfers on connection close
  - quiche: trust its timeout handling
  - tls: use shared init code for TCP+QUIC
  - tool_cfgable: free {proxy_}cipher13_list on exit
  - url: do not URL decode proxy crendentials
  - url: fix use of an uninitialized variable
  - url: make parse_login_details use memdup0
  - urlapi: allow setting port number zero
  - version: use msnprintf instead of strncpy
  - vtls: TLS session storage overhaul
  - wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC
  - websocket: avoid memory leak in error path</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716552000">- Fix make install for curl-config.1
  * docs/Makefile.am: make curl-config.1 install
  * Fixed upstream in: github.com/curl/curl/pull/13741
  * Add curl-make-install-curl-config.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718625600">- remove mozilla-nss code (unsupported since 8.3.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- split zsh and fish completion into subpackages to have
  proper supplements</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884801">- add multibuild for minimal libcurl flavored build (useful for
  container environments)</changelog>
</package>
<package pkgid="7327b20119fb966f991f3edb412c51ad9e80477f383c883f0400d03a3fe3e46054afa24dd9566c73c9e4aab442b03cc0f95780faa2818fd122bec2d20eae2e69" name="curl-mini" arch="src">
  <version epoch="0" ver="8.8.0" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1684324800">- Update to 8.1.0:
  * Security fixes:
  - UAF in SSH sha256 fingerprint [bsc#1211230, CVE-2023-28319]
  - siglongjmp race condition [bsc#1211231, CVE-2023-28320]
  - IDN wildcard match [bsc#1211232, CVE-2023-28321]
  - POST-after-PUT confusion [bsc#1211233, CVE-2023-28322]
  - See also: https://curl.se/docs/security.html
  * Changes:
  - curl: add --proxy-http2
  - CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
  - hostip: refuse to resolve the .onion TLD
  - tool_writeout: add URL component variables
  * Bugfixes:
  - See full changelog here: https://curl.se/changes.html#8_1_0</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1684843200">- Update to 8.1.1:
  * Bugfixes:
  - cf-socket: completely remove the disabled
    USE_RECV_BEFORE_SEND_WORKAROUND
  - checksrc: disallow spaces before labels
  - curl_easy_getinfo: clarify on return data types
  - docs: document that curl_url_cleanup(NULL) is a safe no-op
  - hostip: move easy_lock.h include above curl_memory.h
  - http2: double http request parser max line length
  - http2: increase stream window size to 10 MB
  - lib: rename struct 'http_req' to 'httpreq'
  - ngtcp2: proper handling of uint64_t when adjusting send buffer
  - sectransp.c: make the code c89 compatible
  - select: avoid returning an error on EINTR from select() or poll()
  - url: provide better error message when URLs fail to parse
  - urlapi: allow numerical parts in the host name</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1685448000">- Update to 8.1.2:
  * Bugfixes:
  - configure: quote the assignments for run-compiler
  - configure: without pkg-config and no custom path, use -lnghttp2
  - curl: cache the --trace-time value for a second
  - http2: fix EOF handling on uploads with auth negotiation
  - http3: send EOF indicator early as possible
  - lib1560: verify more scheme guessing
  - lib: remove unused functions, make single-use static
  - libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
  - libssh: when keyboard-interactive auth fails, try password
  - misc: fix spelling mistakes
  - page-header: mention curl version and how to figure out current release
  - page-header: minor wording polish in the URL segment
  - scripts/singleuse.pl: add more API calls
  - urlapi: remove superfluous host name check</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1689768000">- Update to 8.2.0 [bsc#1213237, CVE-2023-32001]
  * Security fix:
  - CVE-2023-32001: fopen race condition
  * Changes:
  - curl: add --ca-native and --proxy-ca-native
  - curl: add --trace-ids
  - CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
  - haproxy: add --haproxy-clientip flag to set client IPs
  - lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
  * Bugfixes:
  - cf-socket: don't bypass fclosesocket callback if cancelled before connect
  - cf-socket: skip getpeername()/getsockname for TFTP
  - curl: count uploaded data to stop at the originally given size
  - curl: return error when asked to use an unsupported HTTP version
  - http2: fix crash in handling stream weights
  - http2: send HEADER &amp; DATA together if possible
  - http3/ngtcp2: upload EAGAIN handling
  - http: rectify the outgoing Cookie: header field size check
  - hyper: fix EOF handling on input
  - imap: Provide method to disable SASL if it is advertised
  - libssh2: provide error message when setting host key type fails
  - libssh2: use custom memory functions
  - ngtcp2: assigning timeout, but value is overwritten before used
  - quiche: avoid NULL deref in debug logging
  - sectransp: fix EOF handling
  - system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
  - timeval: use CLOCK_MONOTONIC_RAW if available
  - tls13-ciphers.d: include Schannel
  - tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
  - tool_operate: allow cookie lines up to 8200 bytes
  - tool_parsecfg: accept line lengths up to 10M
  - tool_writeout_json: fix encoding of control characters
  - transfer: clear credentials when redirecting to absolute URL
  - urlapi: have *set(PATH) prepend a slash if one is missing
  - urlapi: scheme must start with alpha
  - vtls: avoid memory leak if sha256 call fails
  - websocket-cb: example doing WebSocket download using callback
  - ws: make the curl_ws_meta() return pointer a const</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1690545600">- Update to 8.2.1:
  * Bugfixes:
  - cfilters: rename close/connect functions to avoid clashes
  - ciphers.d: put URL in first column
  - cmake: add 'libcurlu'/'libcurltool' for unit tests
  - cmake: update ngtcp2 detection
  - configure: check for nghttp2_session_get_stream_local_window_size
  - docs: mark two TLS options for TLS, not SSL
  - docs: provide more see also for cipher options
  - hostip: return IPv6 first for localhost resolves
  - http2: fix regression on upload EOF handling
  - http: VLH, very large header test and fixes
  - libcurl-errors.3: add CURLUE_OK
  - os400: correct EXPECTED_STRING_LASTZEROTERMINATED
  - quiche: fix lookup of transfer at multi
  - quiche: fix segfault and other things
  - rustls: update rustls-ffi 0.10.0
  - socks: print ipv6 address within brackets
  - src/mkhelp: strip off escape sequences
  - tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T
  - transfer: do not clear the credentials on redirect to absolute URL
  - unittest: remove unneeded *_LDADD
  - websocket: rename arguments/variables to match docs</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1694606400">- Update to 8.3.0: [bsc#1215026, CVE-2023-38039]
  * Changes:
  - curl: make %output{} in -w specify a file to write to
  - gskit: remove
  - lib: --disable-bindlocal builds curl without local binding support
  - nss: remove support for this TLS library
  - tool: add "variable" support
  - trace: make tracing available in non-debug builds
  - url: change default value for CURLOPT_MAXREDIRS to 30
  - urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
  * Bugfixes:
  - altsvc: accept and parse IPv6 addresses in response headers
  - asyn-ares: reduce timeout to 2000ms
  - aws-sigv4: canonicalize the query
  - aws-sigv4: fix having date header twice in some cases
  - aws-sigv4: handle no-value user header entries
  - c-hyper: adjust the hyper to curlcode conversion
  - c-hyper: fix memory leaks in `Curl_http`
  - cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
  - cf-socket: log successful interface bind
  - cmake: add GnuTLS option
  - cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
  - cmake: detect `SSL_set0_wbio` in OpenSSL
  - configure: trust pkg-config when it's used for zlib
  - configure: use the pkg-config --libs-only-l flag for libssh2
  - connect: stop halving the remaining timeout when less than 600 ms left
  - crypto: ensure crypto initialization works
  - digest: Use hostname to generate spn instead of realm
  - ftp: fix temp write of ipv6 address
  - headers: accept leading whitespaces on first response header
  - http2: fix in h2 proxy tunnel: progress in ingress on sending
  - http3/ngtcp2: shorten handshake, trace cleanup
  - http3: quiche, handshake optimization, trace cleanup
  - http: close the connection after a late 417 is received
  - http: fix sending of large requests
  - http: return error when receiving too large header set
  - lib: fix null ptr derefs and uninitialized vars (h2/h3)
  - lib: move mimepost data from -&gt;req.p.http to -&gt;state
  - list-only.d: mention SFTP as supported protocol
  - ngtcp2: fix handling of large requests
  - openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
  - openssl: clear error queue after SSL_shutdown
  - openssl: make aws-lc version support OCSP
  - openssl: Support async cert verify callback
  - openssl: switch to modern init for LibreSSL 2.7.0+
  - openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
  - quic: don't set SNI if hostname is an IP address
  - quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
  - quiche: enable quiche to handle timeout events
  - resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
  - schannel: verify hostname independent of verify cert
  - tool_filetime: make -z work with file dates before 1970
  - tool_operate: allow both SSL_CERT_FILE and SSL_CERT_DIR
  - tool_operate: make aws-sigv4 not require TLS to be used
  - transfer: also stop the sending on closed connection
  - urlapi: fix heap buffer overflow
  - urlapi: setting a blank URL ("") is not an ok URL</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1697025600">- Update to 8.4.0:
  * Security fixes:
  - SOCKS5 heap buffer overflow [bsc#1215888, CVE-2023-38545]
  - cookie injection with none file [bsc#1215889, CVE-2023-38546]
  * Changes:
  - curl: add support for the IPFS protocols via HTTP gateway
  - curl_multi_get_handles: get easy handles from a multi handle
  - mingw: delete support for legacy mingw.org toolchain
  * Bugfixes:
  - base64: also build for curl
  - cf-socket: simulate slow/blocked receives in debug
  - configure: check for the capath by default
  - connect: expire the timeout when trying next
  - connect: only start the happy eyeballs timer when needed
  - cookie: do not store the expire or max-age strings
  - cookie: remove unnecessary struct fields
  - cookie: set -&gt;running in cookie_init even if data is NULL
  - create-dirs.d: clarify it also uses --output-dirs
  - http2: refused stream handling for retry
  - http: h1/h2 proxy unification
  - http: use per-request counter to check too large headers
  - idn: if idn2_check_version returns NULL, return error
  - lib: enable hmac for digest as well
  - lib: let the max filesize option stop too big transfers too
  - lib: move handling of 'data-&gt;req.writer_stack' into Curl_client_write()
  - lib: provide and use Curl_hexencode
  - lib: use wrapper for curl_mime_data fseek callback
  - libssh2: fix error message on failed pubkey-from-file
  - libssh: cap SFTP packet size sent
  - MQTT: improve receive of ACKs
  - multi: do CURLM_CALL_MULTI_PERFORM at two more places
  - multi: round the timeout up to prevent early wakeups
  - openssl: improve ssl shutdown handling
  - openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
  - pytest: exclude test_03_goaway in CI runs due to timing dependency
  - quic: set ciphers/curves the same way regular TLS does
  - quiche: fix build error with --with-ca-fallback
  - socks: return error if hostname too long for remote resolve
  - tftpd: always use curl's own tftp.h
  - tool_getparam: accept variable expansion on file names too
  - upload-file.d: describe the file name slash/backslash handling
  - url: fall back to http/https proxy env-variable if ws/wss not set
  - url: fix netrc info message
  - wolfssh: do cleanup in Curl_ssh_cleanup
  - wolfssl: allow capath with CURLOPT_CAINFO_BLOB
  - wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
  - wolfssl: ignore errors in CA path
  * Rebase libcurl-ocloexec.patch</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1701864000">- Update to 8.5.0:
  * Security fixes:
  - [bsc#1217573, CVE-2023-46218] cookie mixed case PSL bypass
  - [bsc#1217574, CVE-2023-46219] HSTS long file name clears contents
  * Changes:
  - gnutls: support CURLSSLOPT_NATIVE_CA
  - HTTP3: ngtcp2 builds are no longer experimental
  * Bugfixes:
  - asyn-thread: use pipe instead of socketpair for IPC when available
  - cmake: fix OpenSSL quic detection in quiche builds
  - conncache: use the closure handle when disconnecting surplus connections
  - content_encoding: make Curl_all_content_encodings allocless
  - cookie: lowercase the domain names before PSL checks
  - Curl_http_body: cleanup properly when Curl_getformdata errors
  - CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
  - doh: provide better return code for responses w/o addresses
  - doh: use PIPEWAIT when HTTP/2 is attempted
  - duphandle: also free 'outcurl-&gt;cookies' in error path
  - duphandle: make dupset() not return with pointers to old alloced data
  - duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
  - easy: in duphandle, init the cookies for the new handle
  - easy_lock: add a pthread_mutex_t fallback
  - fopen: create new file using old file's mode
  - fopen: create short(er) temporary file name
  - getenv: PlayStation doesn't have getenv()
  - hostip: show the list of IPs when resolving is done
  - hsts: skip single-dot hostname
  - HTTP/2, HTTP/3: handle detach of onoing transfers
  - http: allow longer HTTP/2 request method names
  - hyper: temporarily remove HTTP/2 support
  - IPFS: fix IPFS_PATH and file parsing
  - multi: during ratelimit multi_getsock should return no sockets
  - multi: use pipe instead of socketpair to *wakeup()
  - ngtcp2: fix races in stream handling
  - ntlm_wb: use pipe instead of socketpair when possible
  - openssl: avoid BN_num_bits() NULL pointer derefs
  - openssl: fix building with v3 `no-deprecated` + add CI test
  - openssl: fix infof() to avoid compiler warning for %s with null
  - openssl: identify the "quictls" backend correctly
  - openssl: include SIG and KEM algorithms in verbose
  - openssl: two multi pointer checks should probably rather be asserts
  - openssl: when a session-ID is reused, skip OCSP stapling
  - quic: make eyeballers connect retries stop at weird replies
  - quic: manage connection idle timeouts
  - setopt: check CURLOPT_TFTP_BLKSIZE range on set
  - socks: better buffer size checks for socks4a user and hostname
  - socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
  - tool: fix --capath when proxy support is disabled
  - tool_getparam: limit --rate to be smaller than number of ms
  - transfer: abort pause send when connection is marked for closing
  - transfer: avoid calling the read callback again after EOF
  - transfer: only reset the FTP wildcard engine in CLEAR state
  - url: don't touch the multi handle when closing internal handles
  - urlapi: avoid null deref if setting blank host to url encode
  - urlapi: skip appending NULL pointer query
  - urlapi: when URL encoding the fragment, pass in the right length
  - vtls: cleanup SSL config management
  - vtls: consistently use typedef names for OpenSSL structs
  - vtls: late clone of connection ssl config
  - vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
  * Rebase curl-secure-getenv.patch
  * Add curl-tests-errorcodes.patch</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1704456000">- Added curl-adjust-pollset-fix.patch to fix broken MPD http streaming:
  https://github.com/curl/curl/issues/12632</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1706702400">- Update to 8.6.0: [bsc#1219149, CVE-2024-0853]
  * Security fixes:
  - CVE-2024-0853: OCSP verification bypass with TLS session reuse
  * Changes:
  - add CURLE_TOO_LARGE, CURLINFO_QUEUE_TIME_T
  * Bugfixes:
  - altsvc: free 'as' when returning error
  - asyn-ares: with modern c-ares, use its default timeout
  - cf-socket: show errno in tcpkeepalive error messages
  - cmdline-opts: update availability for the *-ca-native options
  - configure: when enabling QUIC, check that TLS supports QUIC
  - content_encoding: change return code to typedef'ed enum
  - curl: show ipfs and ipns as supported "protocols"
  - CURLINFO_REFERER.3: clarify that it is the *request* header
  - dist: add tests/errorcodes.pl to the tarball
  - gen.pl: support ## for doing .IP in table-like lists
  - GHA: bump ngtcp2, gnutls, mod_h2, quiche
  - hostip: return error immediately when Curl_ip2addr() fails
  - http3/quiche: fix result code on a stream reset
  - http3: initial support for OpenSSL 3.2 QUIC stack
  - http: check for "Host:" case insensitively
  - http: fix off-by-one error in request method length check
  - http: only act on 101 responses when they are HTTP/1.1
  - lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
  - lib: error out on multissl + http3
  - lib: fix variable undeclared error caused by `infof` changes
  - lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
  - lib: strndup/memdup instead of malloc, memcpy and null-terminate
  - libssh2: use `libssh2_session_callback_set2()` with v1.11.1
  - ngtcp2: put h3 at the front of alpn
  - openldap: fix an LDAP crash
  - openldap: fix STARTTLS
  - openssl: re-match LibreSSL deinit with init
  - rtsp: deal with borked server responses
  - sasl: make login option string override http auth
  - tool: prepend output_dir in header callback
  - tool_getparam: stop supporting `@filename` style for --cookie
  - transfer: fix upload rate limiting, add test cases
  - url: don't set default CA paths for Secure Transport backend
  - url: for disabled protocols, mention if found in redirect
  - vquic: extract TLS setup into own source
  - websockets: check for negative payload lengths
  * Remove patches fixed upstream:
  - curl-adjust-pollset-fix.patch
  - curl-tests-errorcodes.patch
  * Rebase dont-mess-with-rpmoptflags.patch</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1707393600">- Add patch to fix various TLS related issues including FTP over SSL
  transmission timeouts:
  * 0001-vtls-revert-receive-max-buffer-add-test-case.patch
- Switch to %autosetup</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1710244800">- Remove the nghttp2 version requirement as a version guard around
  the nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  function was added in curl 8.0.1.
  * Upstream commit: https://github.com/curl/curl/commit/744dcf22</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1711540800">- Update to 8.7.1:
  * Fixed empty tool_hugehelp.c file
- Update to 8.7.0:
  * Security fixes:
  - [bsc#1221665, CVE-2024-2004] Usage of disabled protocol
  - [bsc#1221667, CVE-2024-2398] HTTP/2 push headers memory-leak
  - [bsc#1221666, CVE-2024-2379] QUIC certificate check bypass with wolfSSL
  - [bsc#1221668, CVE-2024-2466] TLS certificate check bypass with mbedTLS
  * Changes:
  - configure: add --disable-docs flag
  - CURLINFO_USED_PROXY: return bool whether the proxy was used
  - digest: support SHA-512/256
  * Bugfixes:
  - asyn-thread: use wakeup_close to close the read descriptor
  - bufq: writing into a softlimit queue cannot be partial
  - cmake: add USE_OPENSSL_QUIC support
  - cookie: if psl fails, reject the cookie
  - curl: exit on config file parser errors
  - digest: add check for hashing error
  - docs/libcurl: add TLS backend info for all TLS options
  - file: use xfer buf for file:// transfers
  - ftp: do lineend conversions in client writer
  - ftp: fix socket wait activity in ftp_domore_getsock
  - http2: memory errors in the push callbacks are fatal
  - http2: push headers better cleanup
  - libssh/libssh2: return error on too big range
  - OpenSSL QUIC: adapt to v3.3.x
  - setopt: fix check for CURLOPT_PROXY_TLSAUTH_TYPE value
  - setopt: fix disabling all protocols
  - sha512_256: add support for GnuTLS and OpenSSL
  - smtp: fix STARTTLS
  - strtoofft: fix the overflow check
  - TIMER_STARTTRANSFER: set the same for everyone
  - TLS: start shutdown only when peer did not already close
  - tool_getparam: accept a blank -w ""
  - tool_getparam: handle non-existing (out of range) short-options
  - tool_operate: change precedence of server Retry-After time
  - transfer.c: break receive loop in speed limited transfers
  - version: allow building with ancient libpsl
  - vquic-tls: fix the error code returned for bad CA file
  - vtls: fix tls proxy peer verification
  - vtls: revert "receive max buffer" + add test case
  - VULN-DISCLOSURE-POLICY.md: update detail about CVE requests
  - websocket: fix curl_ws_recv()
  * Remove patch upstream:
  - 0001-vtls-revert-receive-max-buffer-add-test-case.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Spin documentation off to libcurl-devel-doc, this saves buildroots
  495 files and time (mandb is run in %posttrans).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716379200">- Add split-provides for libcurl-devel -&gt; libcurl-devel-doc.</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716379201">- Update to 8.8.0:
  * Changes:
  - curl_version_info: provide librtmp version
  - file: add support for directory listings
  - lib: add curl_multi_waitfds
  - NTLM_WB: drop support
  - TLS: add support for ECH (Encrypted Client Hello)
  - urlapi: add CURLU_GET_EMPTY for empty queries and fragments
  * Bugfixes:
  - build: prefer "USE_IPV6" macro internally (was: "ENABLE_IPV6")
  - cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set
  - cf-socket: don't try getting local IP without socket
  - cf-socket: remove references to l_ip, l_port
  - configure: make --disable-docs imply --disable-manual
  - curl.h: change CURL_SSLVERSION_* from enum to defines
  - curl_path: make Curl_get_pathname use dynbuf
  - curl_sha512_256: do not use workaround for NetBSD when not needed
  - curl_sha512_256: fix detection of OpenSSL 1.1.1 or later
  - curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY
  - DEPRECATE.md: TLS libraries without 1.3 support
  - digest: replace strcpy for empty string with simple assignment
  - doc: pytest "--repeat" -&gt; "--count"
  - docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
  - dynbuf: fix returncode on memory error
  - ftp: add tracing support
  - ftp: fix socket leak on rare error
  - gnutls: lazy init the trust settings
  - hsts: explicitly skip blank lines
  - http2 + ngtcp2: pass CURLcode errors from callbacks
  - http2, http3: decouple stream state from easy handle
  - http2: emit RST when client write fails
  - http: HEAD response body tolerance
  - http: reject HTTP major version switch mid connection
  - http: with chunked POST forced, disable length check on read callback
  - idn: make Curl_idnconvert_hostname() use Curl_idn_decode()
  - if2ip: make the buf_size arg a size_t
  - krb5: use dynbuf
  - lib/cf-h1-proxy: silence compiler warnings (gcc 14)
  - lib: add trace support for client reads and writes
  - lib: bump hash sizes to "size_t"
  - lib: clear the easy handle's saved errno before transfer
  - lib: make protocol handlers store scheme name lowercase
  - lib: merge "ENABLE_QUIC" C macro into "USE_HTTP3"
  - libssh2: set length to 0 if strdup failed
  - openssl: do not set SSL_MODE_RELEASE_BUFFERS
  - openssl: revert keylog_callback support for LibreSSL
  - OS400: fix shellcheck warnings in scripts
  - quiche: expire all active transfers on connection close
  - quiche: trust its timeout handling
  - tls: use shared init code for TCP+QUIC
  - tool_cfgable: free {proxy_}cipher13_list on exit
  - url: do not URL decode proxy crendentials
  - url: fix use of an uninitialized variable
  - url: make parse_login_details use memdup0
  - urlapi: allow setting port number zero
  - version: use msnprintf instead of strncpy
  - vtls: TLS session storage overhaul
  - wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC
  - websocket: avoid memory leak in error path</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716552000">- Fix make install for curl-config.1
  * docs/Makefile.am: make curl-config.1 install
  * Fixed upstream in: github.com/curl/curl/pull/13741
  * Add curl-make-install-curl-config.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718625600">- remove mozilla-nss code (unsupported since 8.3.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- split zsh and fish completion into subpackages to have
  proper supplements</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884801">- add multibuild for minimal libcurl flavored build (useful for
  container environments)</changelog>
</package>
<package pkgid="49c3417d849357e02640d548a7523c749473a36746bf7f0d2449e655573a55cd9b1798910dbbd237ebe0112e5487282cef31ee41057f477c04631182c70df5c7" name="curl-mini-debugsource" arch="x86_64">
  <version epoch="0" ver="8.8.0" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1684324800">- Update to 8.1.0:
  * Security fixes:
  - UAF in SSH sha256 fingerprint [bsc#1211230, CVE-2023-28319]
  - siglongjmp race condition [bsc#1211231, CVE-2023-28320]
  - IDN wildcard match [bsc#1211232, CVE-2023-28321]
  - POST-after-PUT confusion [bsc#1211233, CVE-2023-28322]
  - See also: https://curl.se/docs/security.html
  * Changes:
  - curl: add --proxy-http2
  - CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
  - hostip: refuse to resolve the .onion TLD
  - tool_writeout: add URL component variables
  * Bugfixes:
  - See full changelog here: https://curl.se/changes.html#8_1_0</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1684843200">- Update to 8.1.1:
  * Bugfixes:
  - cf-socket: completely remove the disabled
    USE_RECV_BEFORE_SEND_WORKAROUND
  - checksrc: disallow spaces before labels
  - curl_easy_getinfo: clarify on return data types
  - docs: document that curl_url_cleanup(NULL) is a safe no-op
  - hostip: move easy_lock.h include above curl_memory.h
  - http2: double http request parser max line length
  - http2: increase stream window size to 10 MB
  - lib: rename struct 'http_req' to 'httpreq'
  - ngtcp2: proper handling of uint64_t when adjusting send buffer
  - sectransp.c: make the code c89 compatible
  - select: avoid returning an error on EINTR from select() or poll()
  - url: provide better error message when URLs fail to parse
  - urlapi: allow numerical parts in the host name</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1685448000">- Update to 8.1.2:
  * Bugfixes:
  - configure: quote the assignments for run-compiler
  - configure: without pkg-config and no custom path, use -lnghttp2
  - curl: cache the --trace-time value for a second
  - http2: fix EOF handling on uploads with auth negotiation
  - http3: send EOF indicator early as possible
  - lib1560: verify more scheme guessing
  - lib: remove unused functions, make single-use static
  - libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
  - libssh: when keyboard-interactive auth fails, try password
  - misc: fix spelling mistakes
  - page-header: mention curl version and how to figure out current release
  - page-header: minor wording polish in the URL segment
  - scripts/singleuse.pl: add more API calls
  - urlapi: remove superfluous host name check</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1689768000">- Update to 8.2.0 [bsc#1213237, CVE-2023-32001]
  * Security fix:
  - CVE-2023-32001: fopen race condition
  * Changes:
  - curl: add --ca-native and --proxy-ca-native
  - curl: add --trace-ids
  - CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
  - haproxy: add --haproxy-clientip flag to set client IPs
  - lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
  * Bugfixes:
  - cf-socket: don't bypass fclosesocket callback if cancelled before connect
  - cf-socket: skip getpeername()/getsockname for TFTP
  - curl: count uploaded data to stop at the originally given size
  - curl: return error when asked to use an unsupported HTTP version
  - http2: fix crash in handling stream weights
  - http2: send HEADER &amp; DATA together if possible
  - http3/ngtcp2: upload EAGAIN handling
  - http: rectify the outgoing Cookie: header field size check
  - hyper: fix EOF handling on input
  - imap: Provide method to disable SASL if it is advertised
  - libssh2: provide error message when setting host key type fails
  - libssh2: use custom memory functions
  - ngtcp2: assigning timeout, but value is overwritten before used
  - quiche: avoid NULL deref in debug logging
  - sectransp: fix EOF handling
  - system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
  - timeval: use CLOCK_MONOTONIC_RAW if available
  - tls13-ciphers.d: include Schannel
  - tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
  - tool_operate: allow cookie lines up to 8200 bytes
  - tool_parsecfg: accept line lengths up to 10M
  - tool_writeout_json: fix encoding of control characters
  - transfer: clear credentials when redirecting to absolute URL
  - urlapi: have *set(PATH) prepend a slash if one is missing
  - urlapi: scheme must start with alpha
  - vtls: avoid memory leak if sha256 call fails
  - websocket-cb: example doing WebSocket download using callback
  - ws: make the curl_ws_meta() return pointer a const</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1690545600">- Update to 8.2.1:
  * Bugfixes:
  - cfilters: rename close/connect functions to avoid clashes
  - ciphers.d: put URL in first column
  - cmake: add 'libcurlu'/'libcurltool' for unit tests
  - cmake: update ngtcp2 detection
  - configure: check for nghttp2_session_get_stream_local_window_size
  - docs: mark two TLS options for TLS, not SSL
  - docs: provide more see also for cipher options
  - hostip: return IPv6 first for localhost resolves
  - http2: fix regression on upload EOF handling
  - http: VLH, very large header test and fixes
  - libcurl-errors.3: add CURLUE_OK
  - os400: correct EXPECTED_STRING_LASTZEROTERMINATED
  - quiche: fix lookup of transfer at multi
  - quiche: fix segfault and other things
  - rustls: update rustls-ffi 0.10.0
  - socks: print ipv6 address within brackets
  - src/mkhelp: strip off escape sequences
  - tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T
  - transfer: do not clear the credentials on redirect to absolute URL
  - unittest: remove unneeded *_LDADD
  - websocket: rename arguments/variables to match docs</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1694606400">- Update to 8.3.0: [bsc#1215026, CVE-2023-38039]
  * Changes:
  - curl: make %output{} in -w specify a file to write to
  - gskit: remove
  - lib: --disable-bindlocal builds curl without local binding support
  - nss: remove support for this TLS library
  - tool: add "variable" support
  - trace: make tracing available in non-debug builds
  - url: change default value for CURLOPT_MAXREDIRS to 30
  - urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
  * Bugfixes:
  - altsvc: accept and parse IPv6 addresses in response headers
  - asyn-ares: reduce timeout to 2000ms
  - aws-sigv4: canonicalize the query
  - aws-sigv4: fix having date header twice in some cases
  - aws-sigv4: handle no-value user header entries
  - c-hyper: adjust the hyper to curlcode conversion
  - c-hyper: fix memory leaks in `Curl_http`
  - cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
  - cf-socket: log successful interface bind
  - cmake: add GnuTLS option
  - cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
  - cmake: detect `SSL_set0_wbio` in OpenSSL
  - configure: trust pkg-config when it's used for zlib
  - configure: use the pkg-config --libs-only-l flag for libssh2
  - connect: stop halving the remaining timeout when less than 600 ms left
  - crypto: ensure crypto initialization works
  - digest: Use hostname to generate spn instead of realm
  - ftp: fix temp write of ipv6 address
  - headers: accept leading whitespaces on first response header
  - http2: fix in h2 proxy tunnel: progress in ingress on sending
  - http3/ngtcp2: shorten handshake, trace cleanup
  - http3: quiche, handshake optimization, trace cleanup
  - http: close the connection after a late 417 is received
  - http: fix sending of large requests
  - http: return error when receiving too large header set
  - lib: fix null ptr derefs and uninitialized vars (h2/h3)
  - lib: move mimepost data from -&gt;req.p.http to -&gt;state
  - list-only.d: mention SFTP as supported protocol
  - ngtcp2: fix handling of large requests
  - openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
  - openssl: clear error queue after SSL_shutdown
  - openssl: make aws-lc version support OCSP
  - openssl: Support async cert verify callback
  - openssl: switch to modern init for LibreSSL 2.7.0+
  - openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
  - quic: don't set SNI if hostname is an IP address
  - quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
  - quiche: enable quiche to handle timeout events
  - resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
  - schannel: verify hostname independent of verify cert
  - tool_filetime: make -z work with file dates before 1970
  - tool_operate: allow both SSL_CERT_FILE and SSL_CERT_DIR
  - tool_operate: make aws-sigv4 not require TLS to be used
  - transfer: also stop the sending on closed connection
  - urlapi: fix heap buffer overflow
  - urlapi: setting a blank URL ("") is not an ok URL</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1697025600">- Update to 8.4.0:
  * Security fixes:
  - SOCKS5 heap buffer overflow [bsc#1215888, CVE-2023-38545]
  - cookie injection with none file [bsc#1215889, CVE-2023-38546]
  * Changes:
  - curl: add support for the IPFS protocols via HTTP gateway
  - curl_multi_get_handles: get easy handles from a multi handle
  - mingw: delete support for legacy mingw.org toolchain
  * Bugfixes:
  - base64: also build for curl
  - cf-socket: simulate slow/blocked receives in debug
  - configure: check for the capath by default
  - connect: expire the timeout when trying next
  - connect: only start the happy eyeballs timer when needed
  - cookie: do not store the expire or max-age strings
  - cookie: remove unnecessary struct fields
  - cookie: set -&gt;running in cookie_init even if data is NULL
  - create-dirs.d: clarify it also uses --output-dirs
  - http2: refused stream handling for retry
  - http: h1/h2 proxy unification
  - http: use per-request counter to check too large headers
  - idn: if idn2_check_version returns NULL, return error
  - lib: enable hmac for digest as well
  - lib: let the max filesize option stop too big transfers too
  - lib: move handling of 'data-&gt;req.writer_stack' into Curl_client_write()
  - lib: provide and use Curl_hexencode
  - lib: use wrapper for curl_mime_data fseek callback
  - libssh2: fix error message on failed pubkey-from-file
  - libssh: cap SFTP packet size sent
  - MQTT: improve receive of ACKs
  - multi: do CURLM_CALL_MULTI_PERFORM at two more places
  - multi: round the timeout up to prevent early wakeups
  - openssl: improve ssl shutdown handling
  - openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
  - pytest: exclude test_03_goaway in CI runs due to timing dependency
  - quic: set ciphers/curves the same way regular TLS does
  - quiche: fix build error with --with-ca-fallback
  - socks: return error if hostname too long for remote resolve
  - tftpd: always use curl's own tftp.h
  - tool_getparam: accept variable expansion on file names too
  - upload-file.d: describe the file name slash/backslash handling
  - url: fall back to http/https proxy env-variable if ws/wss not set
  - url: fix netrc info message
  - wolfssh: do cleanup in Curl_ssh_cleanup
  - wolfssl: allow capath with CURLOPT_CAINFO_BLOB
  - wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
  - wolfssl: ignore errors in CA path
  * Rebase libcurl-ocloexec.patch</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1701864000">- Update to 8.5.0:
  * Security fixes:
  - [bsc#1217573, CVE-2023-46218] cookie mixed case PSL bypass
  - [bsc#1217574, CVE-2023-46219] HSTS long file name clears contents
  * Changes:
  - gnutls: support CURLSSLOPT_NATIVE_CA
  - HTTP3: ngtcp2 builds are no longer experimental
  * Bugfixes:
  - asyn-thread: use pipe instead of socketpair for IPC when available
  - cmake: fix OpenSSL quic detection in quiche builds
  - conncache: use the closure handle when disconnecting surplus connections
  - content_encoding: make Curl_all_content_encodings allocless
  - cookie: lowercase the domain names before PSL checks
  - Curl_http_body: cleanup properly when Curl_getformdata errors
  - CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
  - doh: provide better return code for responses w/o addresses
  - doh: use PIPEWAIT when HTTP/2 is attempted
  - duphandle: also free 'outcurl-&gt;cookies' in error path
  - duphandle: make dupset() not return with pointers to old alloced data
  - duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
  - easy: in duphandle, init the cookies for the new handle
  - easy_lock: add a pthread_mutex_t fallback
  - fopen: create new file using old file's mode
  - fopen: create short(er) temporary file name
  - getenv: PlayStation doesn't have getenv()
  - hostip: show the list of IPs when resolving is done
  - hsts: skip single-dot hostname
  - HTTP/2, HTTP/3: handle detach of onoing transfers
  - http: allow longer HTTP/2 request method names
  - hyper: temporarily remove HTTP/2 support
  - IPFS: fix IPFS_PATH and file parsing
  - multi: during ratelimit multi_getsock should return no sockets
  - multi: use pipe instead of socketpair to *wakeup()
  - ngtcp2: fix races in stream handling
  - ntlm_wb: use pipe instead of socketpair when possible
  - openssl: avoid BN_num_bits() NULL pointer derefs
  - openssl: fix building with v3 `no-deprecated` + add CI test
  - openssl: fix infof() to avoid compiler warning for %s with null
  - openssl: identify the "quictls" backend correctly
  - openssl: include SIG and KEM algorithms in verbose
  - openssl: two multi pointer checks should probably rather be asserts
  - openssl: when a session-ID is reused, skip OCSP stapling
  - quic: make eyeballers connect retries stop at weird replies
  - quic: manage connection idle timeouts
  - setopt: check CURLOPT_TFTP_BLKSIZE range on set
  - socks: better buffer size checks for socks4a user and hostname
  - socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
  - tool: fix --capath when proxy support is disabled
  - tool_getparam: limit --rate to be smaller than number of ms
  - transfer: abort pause send when connection is marked for closing
  - transfer: avoid calling the read callback again after EOF
  - transfer: only reset the FTP wildcard engine in CLEAR state
  - url: don't touch the multi handle when closing internal handles
  - urlapi: avoid null deref if setting blank host to url encode
  - urlapi: skip appending NULL pointer query
  - urlapi: when URL encoding the fragment, pass in the right length
  - vtls: cleanup SSL config management
  - vtls: consistently use typedef names for OpenSSL structs
  - vtls: late clone of connection ssl config
  - vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
  * Rebase curl-secure-getenv.patch
  * Add curl-tests-errorcodes.patch</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1704456000">- Added curl-adjust-pollset-fix.patch to fix broken MPD http streaming:
  https://github.com/curl/curl/issues/12632</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1706702400">- Update to 8.6.0: [bsc#1219149, CVE-2024-0853]
  * Security fixes:
  - CVE-2024-0853: OCSP verification bypass with TLS session reuse
  * Changes:
  - add CURLE_TOO_LARGE, CURLINFO_QUEUE_TIME_T
  * Bugfixes:
  - altsvc: free 'as' when returning error
  - asyn-ares: with modern c-ares, use its default timeout
  - cf-socket: show errno in tcpkeepalive error messages
  - cmdline-opts: update availability for the *-ca-native options
  - configure: when enabling QUIC, check that TLS supports QUIC
  - content_encoding: change return code to typedef'ed enum
  - curl: show ipfs and ipns as supported "protocols"
  - CURLINFO_REFERER.3: clarify that it is the *request* header
  - dist: add tests/errorcodes.pl to the tarball
  - gen.pl: support ## for doing .IP in table-like lists
  - GHA: bump ngtcp2, gnutls, mod_h2, quiche
  - hostip: return error immediately when Curl_ip2addr() fails
  - http3/quiche: fix result code on a stream reset
  - http3: initial support for OpenSSL 3.2 QUIC stack
  - http: check for "Host:" case insensitively
  - http: fix off-by-one error in request method length check
  - http: only act on 101 responses when they are HTTP/1.1
  - lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
  - lib: error out on multissl + http3
  - lib: fix variable undeclared error caused by `infof` changes
  - lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
  - lib: strndup/memdup instead of malloc, memcpy and null-terminate
  - libssh2: use `libssh2_session_callback_set2()` with v1.11.1
  - ngtcp2: put h3 at the front of alpn
  - openldap: fix an LDAP crash
  - openldap: fix STARTTLS
  - openssl: re-match LibreSSL deinit with init
  - rtsp: deal with borked server responses
  - sasl: make login option string override http auth
  - tool: prepend output_dir in header callback
  - tool_getparam: stop supporting `@filename` style for --cookie
  - transfer: fix upload rate limiting, add test cases
  - url: don't set default CA paths for Secure Transport backend
  - url: for disabled protocols, mention if found in redirect
  - vquic: extract TLS setup into own source
  - websockets: check for negative payload lengths
  * Remove patches fixed upstream:
  - curl-adjust-pollset-fix.patch
  - curl-tests-errorcodes.patch
  * Rebase dont-mess-with-rpmoptflags.patch</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1707393600">- Add patch to fix various TLS related issues including FTP over SSL
  transmission timeouts:
  * 0001-vtls-revert-receive-max-buffer-add-test-case.patch
- Switch to %autosetup</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1710244800">- Remove the nghttp2 version requirement as a version guard around
  the nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  function was added in curl 8.0.1.
  * Upstream commit: https://github.com/curl/curl/commit/744dcf22</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1711540800">- Update to 8.7.1:
  * Fixed empty tool_hugehelp.c file
- Update to 8.7.0:
  * Security fixes:
  - [bsc#1221665, CVE-2024-2004] Usage of disabled protocol
  - [bsc#1221667, CVE-2024-2398] HTTP/2 push headers memory-leak
  - [bsc#1221666, CVE-2024-2379] QUIC certificate check bypass with wolfSSL
  - [bsc#1221668, CVE-2024-2466] TLS certificate check bypass with mbedTLS
  * Changes:
  - configure: add --disable-docs flag
  - CURLINFO_USED_PROXY: return bool whether the proxy was used
  - digest: support SHA-512/256
  * Bugfixes:
  - asyn-thread: use wakeup_close to close the read descriptor
  - bufq: writing into a softlimit queue cannot be partial
  - cmake: add USE_OPENSSL_QUIC support
  - cookie: if psl fails, reject the cookie
  - curl: exit on config file parser errors
  - digest: add check for hashing error
  - docs/libcurl: add TLS backend info for all TLS options
  - file: use xfer buf for file:// transfers
  - ftp: do lineend conversions in client writer
  - ftp: fix socket wait activity in ftp_domore_getsock
  - http2: memory errors in the push callbacks are fatal
  - http2: push headers better cleanup
  - libssh/libssh2: return error on too big range
  - OpenSSL QUIC: adapt to v3.3.x
  - setopt: fix check for CURLOPT_PROXY_TLSAUTH_TYPE value
  - setopt: fix disabling all protocols
  - sha512_256: add support for GnuTLS and OpenSSL
  - smtp: fix STARTTLS
  - strtoofft: fix the overflow check
  - TIMER_STARTTRANSFER: set the same for everyone
  - TLS: start shutdown only when peer did not already close
  - tool_getparam: accept a blank -w ""
  - tool_getparam: handle non-existing (out of range) short-options
  - tool_operate: change precedence of server Retry-After time
  - transfer.c: break receive loop in speed limited transfers
  - version: allow building with ancient libpsl
  - vquic-tls: fix the error code returned for bad CA file
  - vtls: fix tls proxy peer verification
  - vtls: revert "receive max buffer" + add test case
  - VULN-DISCLOSURE-POLICY.md: update detail about CVE requests
  - websocket: fix curl_ws_recv()
  * Remove patch upstream:
  - 0001-vtls-revert-receive-max-buffer-add-test-case.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Spin documentation off to libcurl-devel-doc, this saves buildroots
  495 files and time (mandb is run in %posttrans).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716379200">- Add split-provides for libcurl-devel -&gt; libcurl-devel-doc.</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716379201">- Update to 8.8.0:
  * Changes:
  - curl_version_info: provide librtmp version
  - file: add support for directory listings
  - lib: add curl_multi_waitfds
  - NTLM_WB: drop support
  - TLS: add support for ECH (Encrypted Client Hello)
  - urlapi: add CURLU_GET_EMPTY for empty queries and fragments
  * Bugfixes:
  - build: prefer "USE_IPV6" macro internally (was: "ENABLE_IPV6")
  - cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set
  - cf-socket: don't try getting local IP without socket
  - cf-socket: remove references to l_ip, l_port
  - configure: make --disable-docs imply --disable-manual
  - curl.h: change CURL_SSLVERSION_* from enum to defines
  - curl_path: make Curl_get_pathname use dynbuf
  - curl_sha512_256: do not use workaround for NetBSD when not needed
  - curl_sha512_256: fix detection of OpenSSL 1.1.1 or later
  - curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY
  - DEPRECATE.md: TLS libraries without 1.3 support
  - digest: replace strcpy for empty string with simple assignment
  - doc: pytest "--repeat" -&gt; "--count"
  - docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
  - dynbuf: fix returncode on memory error
  - ftp: add tracing support
  - ftp: fix socket leak on rare error
  - gnutls: lazy init the trust settings
  - hsts: explicitly skip blank lines
  - http2 + ngtcp2: pass CURLcode errors from callbacks
  - http2, http3: decouple stream state from easy handle
  - http2: emit RST when client write fails
  - http: HEAD response body tolerance
  - http: reject HTTP major version switch mid connection
  - http: with chunked POST forced, disable length check on read callback
  - idn: make Curl_idnconvert_hostname() use Curl_idn_decode()
  - if2ip: make the buf_size arg a size_t
  - krb5: use dynbuf
  - lib/cf-h1-proxy: silence compiler warnings (gcc 14)
  - lib: add trace support for client reads and writes
  - lib: bump hash sizes to "size_t"
  - lib: clear the easy handle's saved errno before transfer
  - lib: make protocol handlers store scheme name lowercase
  - lib: merge "ENABLE_QUIC" C macro into "USE_HTTP3"
  - libssh2: set length to 0 if strdup failed
  - openssl: do not set SSL_MODE_RELEASE_BUFFERS
  - openssl: revert keylog_callback support for LibreSSL
  - OS400: fix shellcheck warnings in scripts
  - quiche: expire all active transfers on connection close
  - quiche: trust its timeout handling
  - tls: use shared init code for TCP+QUIC
  - tool_cfgable: free {proxy_}cipher13_list on exit
  - url: do not URL decode proxy crendentials
  - url: fix use of an uninitialized variable
  - url: make parse_login_details use memdup0
  - urlapi: allow setting port number zero
  - version: use msnprintf instead of strncpy
  - vtls: TLS session storage overhaul
  - wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC
  - websocket: avoid memory leak in error path</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716552000">- Fix make install for curl-config.1
  * docs/Makefile.am: make curl-config.1 install
  * Fixed upstream in: github.com/curl/curl/pull/13741
  * Add curl-make-install-curl-config.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718625600">- remove mozilla-nss code (unsupported since 8.3.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- split zsh and fish completion into subpackages to have
  proper supplements</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884801">- add multibuild for minimal libcurl flavored build (useful for
  container environments)</changelog>
</package>
<package pkgid="2dd189d623661de8a26df2868424629a7d08402c5ecd43f388ec467dfeb98791a76d4151612995f0848e105c13eded7d6731a30bb9628935ca30f1f4040512ac" name="curl-zsh-completion" arch="noarch">
  <version epoch="0" ver="8.8.0" rel="2.1"/>
  <changelog author="David Anes &lt;david.anes@suse.com&gt;" date="1684324800">- Update to 8.1.0:
  * Security fixes:
  - UAF in SSH sha256 fingerprint [bsc#1211230, CVE-2023-28319]
  - siglongjmp race condition [bsc#1211231, CVE-2023-28320]
  - IDN wildcard match [bsc#1211232, CVE-2023-28321]
  - POST-after-PUT confusion [bsc#1211233, CVE-2023-28322]
  - See also: https://curl.se/docs/security.html
  * Changes:
  - curl: add --proxy-http2
  - CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
  - hostip: refuse to resolve the .onion TLD
  - tool_writeout: add URL component variables
  * Bugfixes:
  - See full changelog here: https://curl.se/changes.html#8_1_0</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1684843200">- Update to 8.1.1:
  * Bugfixes:
  - cf-socket: completely remove the disabled
    USE_RECV_BEFORE_SEND_WORKAROUND
  - checksrc: disallow spaces before labels
  - curl_easy_getinfo: clarify on return data types
  - docs: document that curl_url_cleanup(NULL) is a safe no-op
  - hostip: move easy_lock.h include above curl_memory.h
  - http2: double http request parser max line length
  - http2: increase stream window size to 10 MB
  - lib: rename struct 'http_req' to 'httpreq'
  - ngtcp2: proper handling of uint64_t when adjusting send buffer
  - sectransp.c: make the code c89 compatible
  - select: avoid returning an error on EINTR from select() or poll()
  - url: provide better error message when URLs fail to parse
  - urlapi: allow numerical parts in the host name</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1685448000">- Update to 8.1.2:
  * Bugfixes:
  - configure: quote the assignments for run-compiler
  - configure: without pkg-config and no custom path, use -lnghttp2
  - curl: cache the --trace-time value for a second
  - http2: fix EOF handling on uploads with auth negotiation
  - http3: send EOF indicator early as possible
  - lib1560: verify more scheme guessing
  - lib: remove unused functions, make single-use static
  - libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
  - libssh: when keyboard-interactive auth fails, try password
  - misc: fix spelling mistakes
  - page-header: mention curl version and how to figure out current release
  - page-header: minor wording polish in the URL segment
  - scripts/singleuse.pl: add more API calls
  - urlapi: remove superfluous host name check</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1689768000">- Update to 8.2.0 [bsc#1213237, CVE-2023-32001]
  * Security fix:
  - CVE-2023-32001: fopen race condition
  * Changes:
  - curl: add --ca-native and --proxy-ca-native
  - curl: add --trace-ids
  - CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
  - haproxy: add --haproxy-clientip flag to set client IPs
  - lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
  * Bugfixes:
  - cf-socket: don't bypass fclosesocket callback if cancelled before connect
  - cf-socket: skip getpeername()/getsockname for TFTP
  - curl: count uploaded data to stop at the originally given size
  - curl: return error when asked to use an unsupported HTTP version
  - http2: fix crash in handling stream weights
  - http2: send HEADER &amp; DATA together if possible
  - http3/ngtcp2: upload EAGAIN handling
  - http: rectify the outgoing Cookie: header field size check
  - hyper: fix EOF handling on input
  - imap: Provide method to disable SASL if it is advertised
  - libssh2: provide error message when setting host key type fails
  - libssh2: use custom memory functions
  - ngtcp2: assigning timeout, but value is overwritten before used
  - quiche: avoid NULL deref in debug logging
  - sectransp: fix EOF handling
  - system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
  - timeval: use CLOCK_MONOTONIC_RAW if available
  - tls13-ciphers.d: include Schannel
  - tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
  - tool_operate: allow cookie lines up to 8200 bytes
  - tool_parsecfg: accept line lengths up to 10M
  - tool_writeout_json: fix encoding of control characters
  - transfer: clear credentials when redirecting to absolute URL
  - urlapi: have *set(PATH) prepend a slash if one is missing
  - urlapi: scheme must start with alpha
  - vtls: avoid memory leak if sha256 call fails
  - websocket-cb: example doing WebSocket download using callback
  - ws: make the curl_ws_meta() return pointer a const</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1690545600">- Update to 8.2.1:
  * Bugfixes:
  - cfilters: rename close/connect functions to avoid clashes
  - ciphers.d: put URL in first column
  - cmake: add 'libcurlu'/'libcurltool' for unit tests
  - cmake: update ngtcp2 detection
  - configure: check for nghttp2_session_get_stream_local_window_size
  - docs: mark two TLS options for TLS, not SSL
  - docs: provide more see also for cipher options
  - hostip: return IPv6 first for localhost resolves
  - http2: fix regression on upload EOF handling
  - http: VLH, very large header test and fixes
  - libcurl-errors.3: add CURLUE_OK
  - os400: correct EXPECTED_STRING_LASTZEROTERMINATED
  - quiche: fix lookup of transfer at multi
  - quiche: fix segfault and other things
  - rustls: update rustls-ffi 0.10.0
  - socks: print ipv6 address within brackets
  - src/mkhelp: strip off escape sequences
  - tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T
  - transfer: do not clear the credentials on redirect to absolute URL
  - unittest: remove unneeded *_LDADD
  - websocket: rename arguments/variables to match docs</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1694606400">- Update to 8.3.0: [bsc#1215026, CVE-2023-38039]
  * Changes:
  - curl: make %output{} in -w specify a file to write to
  - gskit: remove
  - lib: --disable-bindlocal builds curl without local binding support
  - nss: remove support for this TLS library
  - tool: add "variable" support
  - trace: make tracing available in non-debug builds
  - url: change default value for CURLOPT_MAXREDIRS to 30
  - urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
  * Bugfixes:
  - altsvc: accept and parse IPv6 addresses in response headers
  - asyn-ares: reduce timeout to 2000ms
  - aws-sigv4: canonicalize the query
  - aws-sigv4: fix having date header twice in some cases
  - aws-sigv4: handle no-value user header entries
  - c-hyper: adjust the hyper to curlcode conversion
  - c-hyper: fix memory leaks in `Curl_http`
  - cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
  - cf-socket: log successful interface bind
  - cmake: add GnuTLS option
  - cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
  - cmake: detect `SSL_set0_wbio` in OpenSSL
  - configure: trust pkg-config when it's used for zlib
  - configure: use the pkg-config --libs-only-l flag for libssh2
  - connect: stop halving the remaining timeout when less than 600 ms left
  - crypto: ensure crypto initialization works
  - digest: Use hostname to generate spn instead of realm
  - ftp: fix temp write of ipv6 address
  - headers: accept leading whitespaces on first response header
  - http2: fix in h2 proxy tunnel: progress in ingress on sending
  - http3/ngtcp2: shorten handshake, trace cleanup
  - http3: quiche, handshake optimization, trace cleanup
  - http: close the connection after a late 417 is received
  - http: fix sending of large requests
  - http: return error when receiving too large header set
  - lib: fix null ptr derefs and uninitialized vars (h2/h3)
  - lib: move mimepost data from -&gt;req.p.http to -&gt;state
  - list-only.d: mention SFTP as supported protocol
  - ngtcp2: fix handling of large requests
  - openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
  - openssl: clear error queue after SSL_shutdown
  - openssl: make aws-lc version support OCSP
  - openssl: Support async cert verify callback
  - openssl: switch to modern init for LibreSSL 2.7.0+
  - openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
  - quic: don't set SNI if hostname is an IP address
  - quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
  - quiche: enable quiche to handle timeout events
  - resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
  - schannel: verify hostname independent of verify cert
  - tool_filetime: make -z work with file dates before 1970
  - tool_operate: allow both SSL_CERT_FILE and SSL_CERT_DIR
  - tool_operate: make aws-sigv4 not require TLS to be used
  - transfer: also stop the sending on closed connection
  - urlapi: fix heap buffer overflow
  - urlapi: setting a blank URL ("") is not an ok URL</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1697025600">- Update to 8.4.0:
  * Security fixes:
  - SOCKS5 heap buffer overflow [bsc#1215888, CVE-2023-38545]
  - cookie injection with none file [bsc#1215889, CVE-2023-38546]
  * Changes:
  - curl: add support for the IPFS protocols via HTTP gateway
  - curl_multi_get_handles: get easy handles from a multi handle
  - mingw: delete support for legacy mingw.org toolchain
  * Bugfixes:
  - base64: also build for curl
  - cf-socket: simulate slow/blocked receives in debug
  - configure: check for the capath by default
  - connect: expire the timeout when trying next
  - connect: only start the happy eyeballs timer when needed
  - cookie: do not store the expire or max-age strings
  - cookie: remove unnecessary struct fields
  - cookie: set -&gt;running in cookie_init even if data is NULL
  - create-dirs.d: clarify it also uses --output-dirs
  - http2: refused stream handling for retry
  - http: h1/h2 proxy unification
  - http: use per-request counter to check too large headers
  - idn: if idn2_check_version returns NULL, return error
  - lib: enable hmac for digest as well
  - lib: let the max filesize option stop too big transfers too
  - lib: move handling of 'data-&gt;req.writer_stack' into Curl_client_write()
  - lib: provide and use Curl_hexencode
  - lib: use wrapper for curl_mime_data fseek callback
  - libssh2: fix error message on failed pubkey-from-file
  - libssh: cap SFTP packet size sent
  - MQTT: improve receive of ACKs
  - multi: do CURLM_CALL_MULTI_PERFORM at two more places
  - multi: round the timeout up to prevent early wakeups
  - openssl: improve ssl shutdown handling
  - openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
  - pytest: exclude test_03_goaway in CI runs due to timing dependency
  - quic: set ciphers/curves the same way regular TLS does
  - quiche: fix build error with --with-ca-fallback
  - socks: return error if hostname too long for remote resolve
  - tftpd: always use curl's own tftp.h
  - tool_getparam: accept variable expansion on file names too
  - upload-file.d: describe the file name slash/backslash handling
  - url: fall back to http/https proxy env-variable if ws/wss not set
  - url: fix netrc info message
  - wolfssh: do cleanup in Curl_ssh_cleanup
  - wolfssl: allow capath with CURLOPT_CAINFO_BLOB
  - wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
  - wolfssl: ignore errors in CA path
  * Rebase libcurl-ocloexec.patch</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1701864000">- Update to 8.5.0:
  * Security fixes:
  - [bsc#1217573, CVE-2023-46218] cookie mixed case PSL bypass
  - [bsc#1217574, CVE-2023-46219] HSTS long file name clears contents
  * Changes:
  - gnutls: support CURLSSLOPT_NATIVE_CA
  - HTTP3: ngtcp2 builds are no longer experimental
  * Bugfixes:
  - asyn-thread: use pipe instead of socketpair for IPC when available
  - cmake: fix OpenSSL quic detection in quiche builds
  - conncache: use the closure handle when disconnecting surplus connections
  - content_encoding: make Curl_all_content_encodings allocless
  - cookie: lowercase the domain names before PSL checks
  - Curl_http_body: cleanup properly when Curl_getformdata errors
  - CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
  - doh: provide better return code for responses w/o addresses
  - doh: use PIPEWAIT when HTTP/2 is attempted
  - duphandle: also free 'outcurl-&gt;cookies' in error path
  - duphandle: make dupset() not return with pointers to old alloced data
  - duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
  - easy: in duphandle, init the cookies for the new handle
  - easy_lock: add a pthread_mutex_t fallback
  - fopen: create new file using old file's mode
  - fopen: create short(er) temporary file name
  - getenv: PlayStation doesn't have getenv()
  - hostip: show the list of IPs when resolving is done
  - hsts: skip single-dot hostname
  - HTTP/2, HTTP/3: handle detach of onoing transfers
  - http: allow longer HTTP/2 request method names
  - hyper: temporarily remove HTTP/2 support
  - IPFS: fix IPFS_PATH and file parsing
  - multi: during ratelimit multi_getsock should return no sockets
  - multi: use pipe instead of socketpair to *wakeup()
  - ngtcp2: fix races in stream handling
  - ntlm_wb: use pipe instead of socketpair when possible
  - openssl: avoid BN_num_bits() NULL pointer derefs
  - openssl: fix building with v3 `no-deprecated` + add CI test
  - openssl: fix infof() to avoid compiler warning for %s with null
  - openssl: identify the "quictls" backend correctly
  - openssl: include SIG and KEM algorithms in verbose
  - openssl: two multi pointer checks should probably rather be asserts
  - openssl: when a session-ID is reused, skip OCSP stapling
  - quic: make eyeballers connect retries stop at weird replies
  - quic: manage connection idle timeouts
  - setopt: check CURLOPT_TFTP_BLKSIZE range on set
  - socks: better buffer size checks for socks4a user and hostname
  - socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
  - tool: fix --capath when proxy support is disabled
  - tool_getparam: limit --rate to be smaller than number of ms
  - transfer: abort pause send when connection is marked for closing
  - transfer: avoid calling the read callback again after EOF
  - transfer: only reset the FTP wildcard engine in CLEAR state
  - url: don't touch the multi handle when closing internal handles
  - urlapi: avoid null deref if setting blank host to url encode
  - urlapi: skip appending NULL pointer query
  - urlapi: when URL encoding the fragment, pass in the right length
  - vtls: cleanup SSL config management
  - vtls: consistently use typedef names for OpenSSL structs
  - vtls: late clone of connection ssl config
  - vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
  * Rebase curl-secure-getenv.patch
  * Add curl-tests-errorcodes.patch</changelog>
  <changelog author="Michael Pujos &lt;pujos.michael@gmail.com&gt;" date="1704456000">- Added curl-adjust-pollset-fix.patch to fix broken MPD http streaming:
  https://github.com/curl/curl/issues/12632</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1706702400">- Update to 8.6.0: [bsc#1219149, CVE-2024-0853]
  * Security fixes:
  - CVE-2024-0853: OCSP verification bypass with TLS session reuse
  * Changes:
  - add CURLE_TOO_LARGE, CURLINFO_QUEUE_TIME_T
  * Bugfixes:
  - altsvc: free 'as' when returning error
  - asyn-ares: with modern c-ares, use its default timeout
  - cf-socket: show errno in tcpkeepalive error messages
  - cmdline-opts: update availability for the *-ca-native options
  - configure: when enabling QUIC, check that TLS supports QUIC
  - content_encoding: change return code to typedef'ed enum
  - curl: show ipfs and ipns as supported "protocols"
  - CURLINFO_REFERER.3: clarify that it is the *request* header
  - dist: add tests/errorcodes.pl to the tarball
  - gen.pl: support ## for doing .IP in table-like lists
  - GHA: bump ngtcp2, gnutls, mod_h2, quiche
  - hostip: return error immediately when Curl_ip2addr() fails
  - http3/quiche: fix result code on a stream reset
  - http3: initial support for OpenSSL 3.2 QUIC stack
  - http: check for "Host:" case insensitively
  - http: fix off-by-one error in request method length check
  - http: only act on 101 responses when they are HTTP/1.1
  - lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
  - lib: error out on multissl + http3
  - lib: fix variable undeclared error caused by `infof` changes
  - lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
  - lib: strndup/memdup instead of malloc, memcpy and null-terminate
  - libssh2: use `libssh2_session_callback_set2()` with v1.11.1
  - ngtcp2: put h3 at the front of alpn
  - openldap: fix an LDAP crash
  - openldap: fix STARTTLS
  - openssl: re-match LibreSSL deinit with init
  - rtsp: deal with borked server responses
  - sasl: make login option string override http auth
  - tool: prepend output_dir in header callback
  - tool_getparam: stop supporting `@filename` style for --cookie
  - transfer: fix upload rate limiting, add test cases
  - url: don't set default CA paths for Secure Transport backend
  - url: for disabled protocols, mention if found in redirect
  - vquic: extract TLS setup into own source
  - websockets: check for negative payload lengths
  * Remove patches fixed upstream:
  - curl-adjust-pollset-fix.patch
  - curl-tests-errorcodes.patch
  * Rebase dont-mess-with-rpmoptflags.patch</changelog>
  <changelog author="Fabian Vogt &lt;fvogt@suse.com&gt;" date="1707393600">- Add patch to fix various TLS related issues including FTP over SSL
  transmission timeouts:
  * 0001-vtls-revert-receive-max-buffer-add-test-case.patch
- Switch to %autosetup</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1710244800">- Remove the nghttp2 version requirement as a version guard around
  the nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  function was added in curl 8.0.1.
  * Upstream commit: https://github.com/curl/curl/commit/744dcf22</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1711540800">- Update to 8.7.1:
  * Fixed empty tool_hugehelp.c file
- Update to 8.7.0:
  * Security fixes:
  - [bsc#1221665, CVE-2024-2004] Usage of disabled protocol
  - [bsc#1221667, CVE-2024-2398] HTTP/2 push headers memory-leak
  - [bsc#1221666, CVE-2024-2379] QUIC certificate check bypass with wolfSSL
  - [bsc#1221668, CVE-2024-2466] TLS certificate check bypass with mbedTLS
  * Changes:
  - configure: add --disable-docs flag
  - CURLINFO_USED_PROXY: return bool whether the proxy was used
  - digest: support SHA-512/256
  * Bugfixes:
  - asyn-thread: use wakeup_close to close the read descriptor
  - bufq: writing into a softlimit queue cannot be partial
  - cmake: add USE_OPENSSL_QUIC support
  - cookie: if psl fails, reject the cookie
  - curl: exit on config file parser errors
  - digest: add check for hashing error
  - docs/libcurl: add TLS backend info for all TLS options
  - file: use xfer buf for file:// transfers
  - ftp: do lineend conversions in client writer
  - ftp: fix socket wait activity in ftp_domore_getsock
  - http2: memory errors in the push callbacks are fatal
  - http2: push headers better cleanup
  - libssh/libssh2: return error on too big range
  - OpenSSL QUIC: adapt to v3.3.x
  - setopt: fix check for CURLOPT_PROXY_TLSAUTH_TYPE value
  - setopt: fix disabling all protocols
  - sha512_256: add support for GnuTLS and OpenSSL
  - smtp: fix STARTTLS
  - strtoofft: fix the overflow check
  - TIMER_STARTTRANSFER: set the same for everyone
  - TLS: start shutdown only when peer did not already close
  - tool_getparam: accept a blank -w ""
  - tool_getparam: handle non-existing (out of range) short-options
  - tool_operate: change precedence of server Retry-After time
  - transfer.c: break receive loop in speed limited transfers
  - version: allow building with ancient libpsl
  - vquic-tls: fix the error code returned for bad CA file
  - vtls: fix tls proxy peer verification
  - vtls: revert "receive max buffer" + add test case
  - VULN-DISCLOSURE-POLICY.md: update detail about CVE requests
  - websocket: fix curl_ws_recv()
  * Remove patch upstream:
  - 0001-vtls-revert-receive-max-buffer-add-test-case.patch</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1716206400">- Spin documentation off to libcurl-devel-doc, this saves buildroots
  495 files and time (mandb is run in %posttrans).</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716379200">- Add split-provides for libcurl-devel -&gt; libcurl-devel-doc.</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716379201">- Update to 8.8.0:
  * Changes:
  - curl_version_info: provide librtmp version
  - file: add support for directory listings
  - lib: add curl_multi_waitfds
  - NTLM_WB: drop support
  - TLS: add support for ECH (Encrypted Client Hello)
  - urlapi: add CURLU_GET_EMPTY for empty queries and fragments
  * Bugfixes:
  - build: prefer "USE_IPV6" macro internally (was: "ENABLE_IPV6")
  - cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set
  - cf-socket: don't try getting local IP without socket
  - cf-socket: remove references to l_ip, l_port
  - configure: make --disable-docs imply --disable-manual
  - curl.h: change CURL_SSLVERSION_* from enum to defines
  - curl_path: make Curl_get_pathname use dynbuf
  - curl_sha512_256: do not use workaround for NetBSD when not needed
  - curl_sha512_256: fix detection of OpenSSL 1.1.1 or later
  - curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY
  - DEPRECATE.md: TLS libraries without 1.3 support
  - digest: replace strcpy for empty string with simple assignment
  - doc: pytest "--repeat" -&gt; "--count"
  - docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
  - dynbuf: fix returncode on memory error
  - ftp: add tracing support
  - ftp: fix socket leak on rare error
  - gnutls: lazy init the trust settings
  - hsts: explicitly skip blank lines
  - http2 + ngtcp2: pass CURLcode errors from callbacks
  - http2, http3: decouple stream state from easy handle
  - http2: emit RST when client write fails
  - http: HEAD response body tolerance
  - http: reject HTTP major version switch mid connection
  - http: with chunked POST forced, disable length check on read callback
  - idn: make Curl_idnconvert_hostname() use Curl_idn_decode()
  - if2ip: make the buf_size arg a size_t
  - krb5: use dynbuf
  - lib/cf-h1-proxy: silence compiler warnings (gcc 14)
  - lib: add trace support for client reads and writes
  - lib: bump hash sizes to "size_t"
  - lib: clear the easy handle's saved errno before transfer
  - lib: make protocol handlers store scheme name lowercase
  - lib: merge "ENABLE_QUIC" C macro into "USE_HTTP3"
  - libssh2: set length to 0 if strdup failed
  - openssl: do not set SSL_MODE_RELEASE_BUFFERS
  - openssl: revert keylog_callback support for LibreSSL
  - OS400: fix shellcheck warnings in scripts
  - quiche: expire all active transfers on connection close
  - quiche: trust its timeout handling
  - tls: use shared init code for TCP+QUIC
  - tool_cfgable: free {proxy_}cipher13_list on exit
  - url: do not URL decode proxy crendentials
  - url: fix use of an uninitialized variable
  - url: make parse_login_details use memdup0
  - urlapi: allow setting port number zero
  - version: use msnprintf instead of strncpy
  - vtls: TLS session storage overhaul
  - wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC
  - websocket: avoid memory leak in error path</changelog>
  <changelog author="Pedro Monreal &lt;pmonreal@suse.com&gt;" date="1716552000">- Fix make install for curl-config.1
  * docs/Makefile.am: make curl-config.1 install
  * Fixed upstream in: github.com/curl/curl/pull/13741
  * Add curl-make-install-curl-config.patch</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718625600">- remove mozilla-nss code (unsupported since 8.3.0)</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884800">- split zsh and fish completion into subpackages to have
  proper supplements</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1718884801">- add multibuild for minimal libcurl flavored build (useful for
  container environments)</changelog>
</package>
<package pkgid="dbb0e7fb4c0626d705e4c92d68946dd38ab985efe61f3ad054c951d67e0ad3940e34a6080415b3bd2ff3055b15d560c37730775c40d73e41b8c81ebf1a50e73d" name="cvise" arch="src">
  <version epoch="0" ver="2.10.0+git.20240603.16a34b2" rel="1.1"/>
  <changelog author="mliska@suse.cz" date="1670932800">- Update to version 2.6.0+git.20221213.c01d287:
  * Transformation instantiate-template-param did not support replacement of all types (e.g. pointer, reference, arrays were not working)
  * Bugfix: instantiate-template-param transformation used always the type of the first template parameter
  * LLVM 16: stop using deprecated llvm::None.
  * Remove LGTM badges as it will be closed.</changelog>
  <changelog author="mliska@suse.cz" date="1671019200">- Update to version 2.6.0+git.20221214.96f841e:
  * Pass instantiate-template-param learned to remove template arguments and parameters</changelog>
  <changelog author="mliska@suse.cz" date="1671105600">- Update to version 2.6.0+git.20221215.2f76b4f:
  * Added getDescribedTemplateParams for backwards compatibility
  * The move-function-body transformation learned to move class methods, templated functions and methods within templated classes
  * testing: quit if we cannot create bug report
  * Fixed crash in reduce-class-template-param</changelog>
  <changelog author="mliska@suse.cz" date="1671192000">- Update to version 2.6.0+git.20221216.1423ed5:
  * Split remove-base-class transformation into remove-base-class and merge-base-class and supporting templated base classes
  * Update reason comment.
  * Improve LLVM version detection.
  * Add support for skipIf get_llvm_version.</changelog>
  <changelog author="mliska@suse.cz" date="1671278400">- Update to version 2.6.0+git.20221217.f1b5a08:
  * Fixed infinite loop problem with move-definition-to-declaration transformation
  * move-definition-to-declaration transformation learned to move struct, class, union and variable definitions
  * Renamed transformation move-function-body to move-definition-to-declaration</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1671537600">- Start using mold linker.</changelog>
  <changelog author="mliska@suse.cz" date="1671796800">- Update to version 2.7.0+git.20221223.d9e4a50:
  * Bump to 2.7.0.
  * Fix build error with LLVM 16.
  * enable debuginfo in CMAKE_CXX_FLAGS_RELWITHDEBINFO build type
  * Remove extra symlink in LLVM nightly build.</changelog>
  <changelog author="mliska@suse.cz" date="1677758400">- Update to version 2.7.0+git.20230302.ff4e51e:
  * add -Wno-error=dangling-reference for GCC 13+
  * LLVM 17: port DesignatedInitExpr::Designator
  * Fix one more llvm::Optional leftover:
  * port llvm::Optional to std::optional
  * LLVM nightly: use llvm-17
  * bump CMake minimal version</changelog>
  <changelog author="mliska@suse.cz" date="1679486400">- Update to version 2.7.0+git.20230322.994dbe2:
  * add timeout of 10s when we query for instances in clangbinarysearch pass
  * Fix build error with the current LLVM tip.
  * fix clang Werror
  * CI: add LLVM builder
  * CI: fix
  * CI: move cocurrency to top-level scope
  * CI: add concurrency also for llvm-nightly
  * CI: fix concurrency
  * CI: cancel previous builds
  * Use latest LLVM release.
  * Fix clang error: error: variable 'which' set but not used.
  * Use -Wno-error=maybe-uninitialized conditionally.</changelog>
  <changelog author="mliska@suse.cz" date="1680177600">- Update to version 2.7.0+git.20230330.8b25bd7:
  * Add max-transforms for passes.
  * Add CI tester for LLVM 16.</changelog>
  <changelog author="mliska@suse.cz" date="1680264000">- Update to version 2.7.0+git.20230331.62a7391:
  * Fix one -Wdangling-reference and disable -Werror for it.</changelog>
  <changelog author="mliska@suse.cz" date="1681732800">- Update to version 2.7.0+git.20230417.6b558fe:
  * Handle cyclic namespace include that leads to inf. recursion.
  * Shorten pass names that use max_transforms property.
  * Fix clang warning:
  * build: factory out common flags and use -pedantic
  * Simplify dump output for BinaryState.
  * Revert "drop unneeded -Wno-error=mismatched-new-delete"
  * drop unneeded -Wno-error=mismatched-new-delete</changelog>
  <changelog author="mliska@suse.cz" date="1682683200">- Update to version 2.8.0+git.20230428.7aaa251:
  * Bump to 2.8.0.</changelog>
  <changelog author="martin.liska@hey.com" date="1694692800">- Update to version 2.8.0+git.20230914.9f237d6:
  * CMake: port to find_package(Python3)
  * CMake: add minimal version 3.14
  * Moderninze to Python 3.8 and remove Leap CI.
  * Test LLVM 18 again.
  * LLVM nightly: move back to version 17
  * fix pip installation
  * Revert previous change and use Ubuntu 23.04.
  * CI: remove 2 missing LLVM deps for version 18
  * Fix CI.
  * Bump LLVM nightly build to LLVM 18.
  * LLVM 16: add missing header file for toString
  * Remove LLVM 12 from testing matrix as it is removed in TW.
  * Add build to ignored list of folders.
  * LLVM 17: add workaround for a Werror
  * Stop building against LLVM 11 due to a known LLVM issue:
  * Fix build with LLVM 17.
  * LLVM 17: port enum value to c++23.
  * Fix typo in the previous revision for LLVM 17.
  * Fix current LLVM tip branch.
  * Revert a leftover hunk.</changelog>
  <changelog author="martin.liska@hey.com" date="1699272000">- Update to version 2.9.0+git.20231106.cc76e98:
  * Bump to 2.9.0.
  * Support LLVM 18: changes in ElaboratedTypeKeyword
  * add .vscode to .gitignore
  * add --shell argument
  * LLVM 18: port to latest master
  * add LLVM 17 CI target
  * disable -Werror=non-template-friend in llvm/ADT/PagedVector.h:215:59</changelog>
  <changelog author="martin.liska@hey.com" date="1709726400">- Update to version 2.9.0+git.20240306.f0e1387:
  * Fix CI
  * Fix CI
  * CI: install ruff
  * Add TW docker step
  * Add Ruff as a separate job
  * Start using Ruff
  * Reformat the code with Ruff formatter
  * CI refactor
  * Reformat CI configs
  * Simplify CI openSUSE matrix
  * Fix CI package
  * Add missing package for mold action
  * Use mold GH action
  * CI: use checkout@v4
  * Support changes function signature in IncludesPPCallbacks::InclusionDirective
  * Test agains LLVM 19
  * Fix flake8 error:
  * CMakeLists changes to fix macOS build:
  * Fix LLVM 18 build error:
  * Add clang version string to clang_delta --version
  * Disable for now deprecated declarations Werrors
  * Revert "Add CI hack for LLVM nightly"
  * Add CI hack for LLVM nightly
  * cvise.py: call shell vial `/usr/bin/env` indirection instead of `/bin`</changelog>
  <changelog author="martin.liska@hey.com" date="1710331200">- Update to version 2.10.0+git.20240313.c860649:
  * Bump to 2.10.0</changelog>
  <changelog author="martin.liska@hey.com" date="1713873600">- Update to version 2.10.0+git.20240415.00bdd8c:
  * format: run ruff
  * Implement a stopping threshold
  * Revert removal of restore_mode
  * format: use Ruff
  * Make CVise understand files in a filesystem tree
  * Refactor testing.py to pathlib module
  * Write pass statistics and test-case to --log-file as well
  * Show logs on stdout only when log-file arg is not provided
  * Fixed ruff's warning about too  many blank lines
  * Removed basicConfig &amp; fixed working of --log-file arg
  * Drop -Wno-error=deprecated-declarations option
  * fix deprecation warnings
  * CI: Set default to LLVM 18</changelog>
  <changelog author="martin.liska@hey.com" date="1714996800">- Update to version 2.10.0+git.20240506.fd50de2:
  * Manipulate with tempfiles after they are closed (#139)
  * Fix --print-diff after pathlib has been used
  * Apply Ruff format
  * Reduce logging output verbosity
  * Fix Ruff linter issues
  * Stick to Ubuntu 23.10
  * Ensure that clang delta is also compiled with C++17 on Windows
  * Also instruct to install chardet on Windows</changelog>
  <changelog author="martin.liska@hey.com" date="1719489600">- Update to version 2.10.0+git.20240603.16a34b2:
  * Fix fallout from ClassTemplateSpecializationDecl::getTypeAsWritten
  * Remove uses of ClassTemplateSpecializationDecl::getTypeAsWritten (#143)
  * Fix deprecated decl (#141)
  * Move to ubuntu:rolling again
  * Add VSCode settings file
  * Add Dockerfile for LLVM tip builds</changelog>
</package>
<package pkgid="e22e85621b64f1b370ebceed4e801c533deec92f8522ea883333ce1d2c4eae6a7ed9edb0cb4521f0d6aa9189afd10b1727c0602600d75d2c6da35cac81d40908" name="cvise" arch="x86_64">
  <version epoch="0" ver="2.10.0+git.20240603.16a34b2" rel="1.1"/>
  <changelog author="mliska@suse.cz" date="1670932800">- Update to version 2.6.0+git.20221213.c01d287:
  * Transformation instantiate-template-param did not support replacement of all types (e.g. pointer, reference, arrays were not working)
  * Bugfix: instantiate-template-param transformation used always the type of the first template parameter
  * LLVM 16: stop using deprecated llvm::None.
  * Remove LGTM badges as it will be closed.</changelog>
  <changelog author="mliska@suse.cz" date="1671019200">- Update to version 2.6.0+git.20221214.96f841e:
  * Pass instantiate-template-param learned to remove template arguments and parameters</changelog>
  <changelog author="mliska@suse.cz" date="1671105600">- Update to version 2.6.0+git.20221215.2f76b4f:
  * Added getDescribedTemplateParams for backwards compatibility
  * The move-function-body transformation learned to move class methods, templated functions and methods within templated classes
  * testing: quit if we cannot create bug report
  * Fixed crash in reduce-class-template-param</changelog>
  <changelog author="mliska@suse.cz" date="1671192000">- Update to version 2.6.0+git.20221216.1423ed5:
  * Split remove-base-class transformation into remove-base-class and merge-base-class and supporting templated base classes
  * Update reason comment.
  * Improve LLVM version detection.
  * Add support for skipIf get_llvm_version.</changelog>
  <changelog author="mliska@suse.cz" date="1671278400">- Update to version 2.6.0+git.20221217.f1b5a08:
  * Fixed infinite loop problem with move-definition-to-declaration transformation
  * move-definition-to-declaration transformation learned to move struct, class, union and variable definitions
  * Renamed transformation move-function-body to move-definition-to-declaration</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1671537600">- Start using mold linker.</changelog>
  <changelog author="mliska@suse.cz" date="1671796800">- Update to version 2.7.0+git.20221223.d9e4a50:
  * Bump to 2.7.0.
  * Fix build error with LLVM 16.
  * enable debuginfo in CMAKE_CXX_FLAGS_RELWITHDEBINFO build type
  * Remove extra symlink in LLVM nightly build.</changelog>
  <changelog author="mliska@suse.cz" date="1677758400">- Update to version 2.7.0+git.20230302.ff4e51e:
  * add -Wno-error=dangling-reference for GCC 13+
  * LLVM 17: port DesignatedInitExpr::Designator
  * Fix one more llvm::Optional leftover:
  * port llvm::Optional to std::optional
  * LLVM nightly: use llvm-17
  * bump CMake minimal version</changelog>
  <changelog author="mliska@suse.cz" date="1679486400">- Update to version 2.7.0+git.20230322.994dbe2:
  * add timeout of 10s when we query for instances in clangbinarysearch pass
  * Fix build error with the current LLVM tip.
  * fix clang Werror
  * CI: add LLVM builder
  * CI: fix
  * CI: move cocurrency to top-level scope
  * CI: add concurrency also for llvm-nightly
  * CI: fix concurrency
  * CI: cancel previous builds
  * Use latest LLVM release.
  * Fix clang error: error: variable 'which' set but not used.
  * Use -Wno-error=maybe-uninitialized conditionally.</changelog>
  <changelog author="mliska@suse.cz" date="1680177600">- Update to version 2.7.0+git.20230330.8b25bd7:
  * Add max-transforms for passes.
  * Add CI tester for LLVM 16.</changelog>
  <changelog author="mliska@suse.cz" date="1680264000">- Update to version 2.7.0+git.20230331.62a7391:
  * Fix one -Wdangling-reference and disable -Werror for it.</changelog>
  <changelog author="mliska@suse.cz" date="1681732800">- Update to version 2.7.0+git.20230417.6b558fe:
  * Handle cyclic namespace include that leads to inf. recursion.
  * Shorten pass names that use max_transforms property.
  * Fix clang warning:
  * build: factory out common flags and use -pedantic
  * Simplify dump output for BinaryState.
  * Revert "drop unneeded -Wno-error=mismatched-new-delete"
  * drop unneeded -Wno-error=mismatched-new-delete</changelog>
  <changelog author="mliska@suse.cz" date="1682683200">- Update to version 2.8.0+git.20230428.7aaa251:
  * Bump to 2.8.0.</changelog>
  <changelog author="martin.liska@hey.com" date="1694692800">- Update to version 2.8.0+git.20230914.9f237d6:
  * CMake: port to find_package(Python3)
  * CMake: add minimal version 3.14
  * Moderninze to Python 3.8 and remove Leap CI.
  * Test LLVM 18 again.
  * LLVM nightly: move back to version 17
  * fix pip installation
  * Revert previous change and use Ubuntu 23.04.
  * CI: remove 2 missing LLVM deps for version 18
  * Fix CI.
  * Bump LLVM nightly build to LLVM 18.
  * LLVM 16: add missing header file for toString
  * Remove LLVM 12 from testing matrix as it is removed in TW.
  * Add build to ignored list of folders.
  * LLVM 17: add workaround for a Werror
  * Stop building against LLVM 11 due to a known LLVM issue:
  * Fix build with LLVM 17.
  * LLVM 17: port enum value to c++23.
  * Fix typo in the previous revision for LLVM 17.
  * Fix current LLVM tip branch.
  * Revert a leftover hunk.</changelog>
  <changelog author="martin.liska@hey.com" date="1699272000">- Update to version 2.9.0+git.20231106.cc76e98:
  * Bump to 2.9.0.
  * Support LLVM 18: changes in ElaboratedTypeKeyword
  * add .vscode to .gitignore
  * add --shell argument
  * LLVM 18: port to latest master
  * add LLVM 17 CI target
  * disable -Werror=non-template-friend in llvm/ADT/PagedVector.h:215:59</changelog>
  <changelog author="martin.liska@hey.com" date="1709726400">- Update to version 2.9.0+git.20240306.f0e1387:
  * Fix CI
  * Fix CI
  * CI: install ruff
  * Add TW docker step
  * Add Ruff as a separate job
  * Start using Ruff
  * Reformat the code with Ruff formatter
  * CI refactor
  * Reformat CI configs
  * Simplify CI openSUSE matrix
  * Fix CI package
  * Add missing package for mold action
  * Use mold GH action
  * CI: use checkout@v4
  * Support changes function signature in IncludesPPCallbacks::InclusionDirective
  * Test agains LLVM 19
  * Fix flake8 error:
  * CMakeLists changes to fix macOS build:
  * Fix LLVM 18 build error:
  * Add clang version string to clang_delta --version
  * Disable for now deprecated declarations Werrors
  * Revert "Add CI hack for LLVM nightly"
  * Add CI hack for LLVM nightly
  * cvise.py: call shell vial `/usr/bin/env` indirection instead of `/bin`</changelog>
  <changelog author="martin.liska@hey.com" date="1710331200">- Update to version 2.10.0+git.20240313.c860649:
  * Bump to 2.10.0</changelog>
  <changelog author="martin.liska@hey.com" date="1713873600">- Update to version 2.10.0+git.20240415.00bdd8c:
  * format: run ruff
  * Implement a stopping threshold
  * Revert removal of restore_mode
  * format: use Ruff
  * Make CVise understand files in a filesystem tree
  * Refactor testing.py to pathlib module
  * Write pass statistics and test-case to --log-file as well
  * Show logs on stdout only when log-file arg is not provided
  * Fixed ruff's warning about too  many blank lines
  * Removed basicConfig &amp; fixed working of --log-file arg
  * Drop -Wno-error=deprecated-declarations option
  * fix deprecation warnings
  * CI: Set default to LLVM 18</changelog>
  <changelog author="martin.liska@hey.com" date="1714996800">- Update to version 2.10.0+git.20240506.fd50de2:
  * Manipulate with tempfiles after they are closed (#139)
  * Fix --print-diff after pathlib has been used
  * Apply Ruff format
  * Reduce logging output verbosity
  * Fix Ruff linter issues
  * Stick to Ubuntu 23.10
  * Ensure that clang delta is also compiled with C++17 on Windows
  * Also instruct to install chardet on Windows</changelog>
  <changelog author="martin.liska@hey.com" date="1719489600">- Update to version 2.10.0+git.20240603.16a34b2:
  * Fix fallout from ClassTemplateSpecializationDecl::getTypeAsWritten
  * Remove uses of ClassTemplateSpecializationDecl::getTypeAsWritten (#143)
  * Fix deprecated decl (#141)
  * Move to ubuntu:rolling again
  * Add VSCode settings file
  * Add Dockerfile for LLVM tip builds</changelog>
</package>
<package pkgid="81dad0f92d7c90d38521a4d60633efd106b3221e83355ec67a579089797d81f514fe427510cfb8ce5a299fb9b5069bd774c8b4a9a4818c81b61ca9bb2ec12493" name="cvise-debuginfo" arch="x86_64">
  <version epoch="0" ver="2.10.0+git.20240603.16a34b2" rel="1.1"/>
  <changelog author="mliska@suse.cz" date="1670932800">- Update to version 2.6.0+git.20221213.c01d287:
  * Transformation instantiate-template-param did not support replacement of all types (e.g. pointer, reference, arrays were not working)
  * Bugfix: instantiate-template-param transformation used always the type of the first template parameter
  * LLVM 16: stop using deprecated llvm::None.
  * Remove LGTM badges as it will be closed.</changelog>
  <changelog author="mliska@suse.cz" date="1671019200">- Update to version 2.6.0+git.20221214.96f841e:
  * Pass instantiate-template-param learned to remove template arguments and parameters</changelog>
  <changelog author="mliska@suse.cz" date="1671105600">- Update to version 2.6.0+git.20221215.2f76b4f:
  * Added getDescribedTemplateParams for backwards compatibility
  * The move-function-body transformation learned to move class methods, templated functions and methods within templated classes
  * testing: quit if we cannot create bug report
  * Fixed crash in reduce-class-template-param</changelog>
  <changelog author="mliska@suse.cz" date="1671192000">- Update to version 2.6.0+git.20221216.1423ed5:
  * Split remove-base-class transformation into remove-base-class and merge-base-class and supporting templated base classes
  * Update reason comment.
  * Improve LLVM version detection.
  * Add support for skipIf get_llvm_version.</changelog>
  <changelog author="mliska@suse.cz" date="1671278400">- Update to version 2.6.0+git.20221217.f1b5a08:
  * Fixed infinite loop problem with move-definition-to-declaration transformation
  * move-definition-to-declaration transformation learned to move struct, class, union and variable definitions
  * Renamed transformation move-function-body to move-definition-to-declaration</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1671537600">- Start using mold linker.</changelog>
  <changelog author="mliska@suse.cz" date="1671796800">- Update to version 2.7.0+git.20221223.d9e4a50:
  * Bump to 2.7.0.
  * Fix build error with LLVM 16.
  * enable debuginfo in CMAKE_CXX_FLAGS_RELWITHDEBINFO build type
  * Remove extra symlink in LLVM nightly build.</changelog>
  <changelog author="mliska@suse.cz" date="1677758400">- Update to version 2.7.0+git.20230302.ff4e51e:
  * add -Wno-error=dangling-reference for GCC 13+
  * LLVM 17: port DesignatedInitExpr::Designator
  * Fix one more llvm::Optional leftover:
  * port llvm::Optional to std::optional
  * LLVM nightly: use llvm-17
  * bump CMake minimal version</changelog>
  <changelog author="mliska@suse.cz" date="1679486400">- Update to version 2.7.0+git.20230322.994dbe2:
  * add timeout of 10s when we query for instances in clangbinarysearch pass
  * Fix build error with the current LLVM tip.
  * fix clang Werror
  * CI: add LLVM builder
  * CI: fix
  * CI: move cocurrency to top-level scope
  * CI: add concurrency also for llvm-nightly
  * CI: fix concurrency
  * CI: cancel previous builds
  * Use latest LLVM release.
  * Fix clang error: error: variable 'which' set but not used.
  * Use -Wno-error=maybe-uninitialized conditionally.</changelog>
  <changelog author="mliska@suse.cz" date="1680177600">- Update to version 2.7.0+git.20230330.8b25bd7:
  * Add max-transforms for passes.
  * Add CI tester for LLVM 16.</changelog>
  <changelog author="mliska@suse.cz" date="1680264000">- Update to version 2.7.0+git.20230331.62a7391:
  * Fix one -Wdangling-reference and disable -Werror for it.</changelog>
  <changelog author="mliska@suse.cz" date="1681732800">- Update to version 2.7.0+git.20230417.6b558fe:
  * Handle cyclic namespace include that leads to inf. recursion.
  * Shorten pass names that use max_transforms property.
  * Fix clang warning:
  * build: factory out common flags and use -pedantic
  * Simplify dump output for BinaryState.
  * Revert "drop unneeded -Wno-error=mismatched-new-delete"
  * drop unneeded -Wno-error=mismatched-new-delete</changelog>
  <changelog author="mliska@suse.cz" date="1682683200">- Update to version 2.8.0+git.20230428.7aaa251:
  * Bump to 2.8.0.</changelog>
  <changelog author="martin.liska@hey.com" date="1694692800">- Update to version 2.8.0+git.20230914.9f237d6:
  * CMake: port to find_package(Python3)
  * CMake: add minimal version 3.14
  * Moderninze to Python 3.8 and remove Leap CI.
  * Test LLVM 18 again.
  * LLVM nightly: move back to version 17
  * fix pip installation
  * Revert previous change and use Ubuntu 23.04.
  * CI: remove 2 missing LLVM deps for version 18
  * Fix CI.
  * Bump LLVM nightly build to LLVM 18.
  * LLVM 16: add missing header file for toString
  * Remove LLVM 12 from testing matrix as it is removed in TW.
  * Add build to ignored list of folders.
  * LLVM 17: add workaround for a Werror
  * Stop building against LLVM 11 due to a known LLVM issue:
  * Fix build with LLVM 17.
  * LLVM 17: port enum value to c++23.
  * Fix typo in the previous revision for LLVM 17.
  * Fix current LLVM tip branch.
  * Revert a leftover hunk.</changelog>
  <changelog author="martin.liska@hey.com" date="1699272000">- Update to version 2.9.0+git.20231106.cc76e98:
  * Bump to 2.9.0.
  * Support LLVM 18: changes in ElaboratedTypeKeyword
  * add .vscode to .gitignore
  * add --shell argument
  * LLVM 18: port to latest master
  * add LLVM 17 CI target
  * disable -Werror=non-template-friend in llvm/ADT/PagedVector.h:215:59</changelog>
  <changelog author="martin.liska@hey.com" date="1709726400">- Update to version 2.9.0+git.20240306.f0e1387:
  * Fix CI
  * Fix CI
  * CI: install ruff
  * Add TW docker step
  * Add Ruff as a separate job
  * Start using Ruff
  * Reformat the code with Ruff formatter
  * CI refactor
  * Reformat CI configs
  * Simplify CI openSUSE matrix
  * Fix CI package
  * Add missing package for mold action
  * Use mold GH action
  * CI: use checkout@v4
  * Support changes function signature in IncludesPPCallbacks::InclusionDirective
  * Test agains LLVM 19
  * Fix flake8 error:
  * CMakeLists changes to fix macOS build:
  * Fix LLVM 18 build error:
  * Add clang version string to clang_delta --version
  * Disable for now deprecated declarations Werrors
  * Revert "Add CI hack for LLVM nightly"
  * Add CI hack for LLVM nightly
  * cvise.py: call shell vial `/usr/bin/env` indirection instead of `/bin`</changelog>
  <changelog author="martin.liska@hey.com" date="1710331200">- Update to version 2.10.0+git.20240313.c860649:
  * Bump to 2.10.0</changelog>
  <changelog author="martin.liska@hey.com" date="1713873600">- Update to version 2.10.0+git.20240415.00bdd8c:
  * format: run ruff
  * Implement a stopping threshold
  * Revert removal of restore_mode
  * format: use Ruff
  * Make CVise understand files in a filesystem tree
  * Refactor testing.py to pathlib module
  * Write pass statistics and test-case to --log-file as well
  * Show logs on stdout only when log-file arg is not provided
  * Fixed ruff's warning about too  many blank lines
  * Removed basicConfig &amp; fixed working of --log-file arg
  * Drop -Wno-error=deprecated-declarations option
  * fix deprecation warnings
  * CI: Set default to LLVM 18</changelog>
  <changelog author="martin.liska@hey.com" date="1714996800">- Update to version 2.10.0+git.20240506.fd50de2:
  * Manipulate with tempfiles after they are closed (#139)
  * Fix --print-diff after pathlib has been used
  * Apply Ruff format
  * Reduce logging output verbosity
  * Fix Ruff linter issues
  * Stick to Ubuntu 23.10
  * Ensure that clang delta is also compiled with C++17 on Windows
  * Also instruct to install chardet on Windows</changelog>
  <changelog author="martin.liska@hey.com" date="1719489600">- Update to version 2.10.0+git.20240603.16a34b2:
  * Fix fallout from ClassTemplateSpecializationDecl::getTypeAsWritten
  * Remove uses of ClassTemplateSpecializationDecl::getTypeAsWritten (#143)
  * Fix deprecated decl (#141)
  * Move to ubuntu:rolling again
  * Add VSCode settings file
  * Add Dockerfile for LLVM tip builds</changelog>
</package>
<package pkgid="34b7da86a45bef3dd0b00518e5a2fb84d695c59a0245b2100a5fc90d6367446c500cdeed847d8111ca80f875e7fa7636dbf3f63340780366dbda4faba52da882" name="cvise-debugsource" arch="x86_64">
  <version epoch="0" ver="2.10.0+git.20240603.16a34b2" rel="1.1"/>
  <changelog author="mliska@suse.cz" date="1670932800">- Update to version 2.6.0+git.20221213.c01d287:
  * Transformation instantiate-template-param did not support replacement of all types (e.g. pointer, reference, arrays were not working)
  * Bugfix: instantiate-template-param transformation used always the type of the first template parameter
  * LLVM 16: stop using deprecated llvm::None.
  * Remove LGTM badges as it will be closed.</changelog>
  <changelog author="mliska@suse.cz" date="1671019200">- Update to version 2.6.0+git.20221214.96f841e:
  * Pass instantiate-template-param learned to remove template arguments and parameters</changelog>
  <changelog author="mliska@suse.cz" date="1671105600">- Update to version 2.6.0+git.20221215.2f76b4f:
  * Added getDescribedTemplateParams for backwards compatibility
  * The move-function-body transformation learned to move class methods, templated functions and methods within templated classes
  * testing: quit if we cannot create bug report
  * Fixed crash in reduce-class-template-param</changelog>
  <changelog author="mliska@suse.cz" date="1671192000">- Update to version 2.6.0+git.20221216.1423ed5:
  * Split remove-base-class transformation into remove-base-class and merge-base-class and supporting templated base classes
  * Update reason comment.
  * Improve LLVM version detection.
  * Add support for skipIf get_llvm_version.</changelog>
  <changelog author="mliska@suse.cz" date="1671278400">- Update to version 2.6.0+git.20221217.f1b5a08:
  * Fixed infinite loop problem with move-definition-to-declaration transformation
  * move-definition-to-declaration transformation learned to move struct, class, union and variable definitions
  * Renamed transformation move-function-body to move-definition-to-declaration</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1671537600">- Start using mold linker.</changelog>
  <changelog author="mliska@suse.cz" date="1671796800">- Update to version 2.7.0+git.20221223.d9e4a50:
  * Bump to 2.7.0.
  * Fix build error with LLVM 16.
  * enable debuginfo in CMAKE_CXX_FLAGS_RELWITHDEBINFO build type
  * Remove extra symlink in LLVM nightly build.</changelog>
  <changelog author="mliska@suse.cz" date="1677758400">- Update to version 2.7.0+git.20230302.ff4e51e:
  * add -Wno-error=dangling-reference for GCC 13+
  * LLVM 17: port DesignatedInitExpr::Designator
  * Fix one more llvm::Optional leftover:
  * port llvm::Optional to std::optional
  * LLVM nightly: use llvm-17
  * bump CMake minimal version</changelog>
  <changelog author="mliska@suse.cz" date="1679486400">- Update to version 2.7.0+git.20230322.994dbe2:
  * add timeout of 10s when we query for instances in clangbinarysearch pass
  * Fix build error with the current LLVM tip.
  * fix clang Werror
  * CI: add LLVM builder
  * CI: fix
  * CI: move cocurrency to top-level scope
  * CI: add concurrency also for llvm-nightly
  * CI: fix concurrency
  * CI: cancel previous builds
  * Use latest LLVM release.
  * Fix clang error: error: variable 'which' set but not used.
  * Use -Wno-error=maybe-uninitialized conditionally.</changelog>
  <changelog author="mliska@suse.cz" date="1680177600">- Update to version 2.7.0+git.20230330.8b25bd7:
  * Add max-transforms for passes.
  * Add CI tester for LLVM 16.</changelog>
  <changelog author="mliska@suse.cz" date="1680264000">- Update to version 2.7.0+git.20230331.62a7391:
  * Fix one -Wdangling-reference and disable -Werror for it.</changelog>
  <changelog author="mliska@suse.cz" date="1681732800">- Update to version 2.7.0+git.20230417.6b558fe:
  * Handle cyclic namespace include that leads to inf. recursion.
  * Shorten pass names that use max_transforms property.
  * Fix clang warning:
  * build: factory out common flags and use -pedantic
  * Simplify dump output for BinaryState.
  * Revert "drop unneeded -Wno-error=mismatched-new-delete"
  * drop unneeded -Wno-error=mismatched-new-delete</changelog>
  <changelog author="mliska@suse.cz" date="1682683200">- Update to version 2.8.0+git.20230428.7aaa251:
  * Bump to 2.8.0.</changelog>
  <changelog author="martin.liska@hey.com" date="1694692800">- Update to version 2.8.0+git.20230914.9f237d6:
  * CMake: port to find_package(Python3)
  * CMake: add minimal version 3.14
  * Moderninze to Python 3.8 and remove Leap CI.
  * Test LLVM 18 again.
  * LLVM nightly: move back to version 17
  * fix pip installation
  * Revert previous change and use Ubuntu 23.04.
  * CI: remove 2 missing LLVM deps for version 18
  * Fix CI.
  * Bump LLVM nightly build to LLVM 18.
  * LLVM 16: add missing header file for toString
  * Remove LLVM 12 from testing matrix as it is removed in TW.
  * Add build to ignored list of folders.
  * LLVM 17: add workaround for a Werror
  * Stop building against LLVM 11 due to a known LLVM issue:
  * Fix build with LLVM 17.
  * LLVM 17: port enum value to c++23.
  * Fix typo in the previous revision for LLVM 17.
  * Fix current LLVM tip branch.
  * Revert a leftover hunk.</changelog>
  <changelog author="martin.liska@hey.com" date="1699272000">- Update to version 2.9.0+git.20231106.cc76e98:
  * Bump to 2.9.0.
  * Support LLVM 18: changes in ElaboratedTypeKeyword
  * add .vscode to .gitignore
  * add --shell argument
  * LLVM 18: port to latest master
  * add LLVM 17 CI target
  * disable -Werror=non-template-friend in llvm/ADT/PagedVector.h:215:59</changelog>
  <changelog author="martin.liska@hey.com" date="1709726400">- Update to version 2.9.0+git.20240306.f0e1387:
  * Fix CI
  * Fix CI
  * CI: install ruff
  * Add TW docker step
  * Add Ruff as a separate job
  * Start using Ruff
  * Reformat the code with Ruff formatter
  * CI refactor
  * Reformat CI configs
  * Simplify CI openSUSE matrix
  * Fix CI package
  * Add missing package for mold action
  * Use mold GH action
  * CI: use checkout@v4
  * Support changes function signature in IncludesPPCallbacks::InclusionDirective
  * Test agains LLVM 19
  * Fix flake8 error:
  * CMakeLists changes to fix macOS build:
  * Fix LLVM 18 build error:
  * Add clang version string to clang_delta --version
  * Disable for now deprecated declarations Werrors
  * Revert "Add CI hack for LLVM nightly"
  * Add CI hack for LLVM nightly
  * cvise.py: call shell vial `/usr/bin/env` indirection instead of `/bin`</changelog>
  <changelog author="martin.liska@hey.com" date="1710331200">- Update to version 2.10.0+git.20240313.c860649:
  * Bump to 2.10.0</changelog>
  <changelog author="martin.liska@hey.com" date="1713873600">- Update to version 2.10.0+git.20240415.00bdd8c:
  * format: run ruff
  * Implement a stopping threshold
  * Revert removal of restore_mode
  * format: use Ruff
  * Make CVise understand files in a filesystem tree
  * Refactor testing.py to pathlib module
  * Write pass statistics and test-case to --log-file as well
  * Show logs on stdout only when log-file arg is not provided
  * Fixed ruff's warning about too  many blank lines
  * Removed basicConfig &amp; fixed working of --log-file arg
  * Drop -Wno-error=deprecated-declarations option
  * fix deprecation warnings
  * CI: Set default to LLVM 18</changelog>
  <changelog author="martin.liska@hey.com" date="1714996800">- Update to version 2.10.0+git.20240506.fd50de2:
  * Manipulate with tempfiles after they are closed (#139)
  * Fix --print-diff after pathlib has been used
  * Apply Ruff format
  * Reduce logging output verbosity
  * Fix Ruff linter issues
  * Stick to Ubuntu 23.10
  * Ensure that clang delta is also compiled with C++17 on Windows
  * Also instruct to install chardet on Windows</changelog>
  <changelog author="martin.liska@hey.com" date="1719489600">- Update to version 2.10.0+git.20240603.16a34b2:
  * Fix fallout from ClassTemplateSpecializationDecl::getTypeAsWritten
  * Remove uses of ClassTemplateSpecializationDecl::getTypeAsWritten (#143)
  * Fix deprecated decl (#141)
  * Move to ubuntu:rolling again
  * Add VSCode settings file
  * Add Dockerfile for LLVM tip builds</changelog>
</package>
<package pkgid="ed759cc953b5f140eb39b5279121f51f82675f5feac9c14980532f1c670fb0a6802002ca305a46f9deae4c76499fe425725318cbfb9069f06e5ea22e4ba5a41a" name="dante" arch="src">
  <version epoch="0" ver="1.4.3" rel="4.1"/>
  <changelog author="coolo@suse.com" date="1317384000">- add libtool as buildrequire to make the spec file more reliable</changelog>
  <changelog author="jengelh@medozas.de" date="1318248000">- Implement shlib policy (libsocks0)
- Remove redundant tags/sections from specfile
  (cf. packaging guidelines)
- Use %_smp_mflags for parallel build</changelog>
  <changelog author="tabraham@novell.com" date="1326369600">- fixed 64bit-portability-issue
- fixed some man page format problems
- update to 1.3.2
  * Part of possible resource optimization indicated in section 4.4
    of the Dante 1.3.1 performance evaluation report
    (http://www.inet.no/dante/doc/1.3.x/dante_performance_1.3.1.pdf)
    has been implemented: scheduling new clients to the Dante process
    with fewest free slots available.
  * If the proxy server (socks, http, or upnp) is configured via
    environment variables, don't attempt to also parse any socks.conf
    files
  * The "HTTP_PROXY" environment variable has been renamed to
    "HTTP_CONNECT_PROXY" to avoid conflict with HTTP proxies that do
    not support the HTTP CONNECT request
  * Fixed an unintended change to ACL semantics regarding bind requests
    in Dante 1.2.3 noted by Ralf Wenk
    &lt;Ralf.Wenk@hs-karlsruhe.de.example.com&gt; many thanks
  * Fixed a bug regarding handling of cases where the ulimit for max
    number of files is unlimited. Reported and analyzed by Ralf Wenk
    &lt;Ralf.Wenk@hs-karlsruhe.de.example.com&gt;
- changes in 1.3.1
  * Fixed a bug regarding handling of socks clients that do not fillow
    the spec and start sending traffic data before request has been
    granted.
  * Fixed an error related to ACL on UDP-packets. If a given SOCKS
    client was allowed to send some UDP packets, in some cases
    packets from the same SOCKS client that should have been blocked
    were allowed.</changelog>
  <changelog author="idonmez@suse.com" date="1356955200">- Add dante-glibc-2.17.patch to use getauxval() function instead
  of private __libc_enable_secure.</changelog>
  <changelog author="p.drouand@gmail.com" date="1382875200">- Replace sysvinit with systemd
  Package build only for Factory; no need to keep sysvinit support
  alive
- Replace hard paths with RPM macros</changelog>
  <changelog author="tabraham@suse.com" date="1387195200">- update to dante-1.4.0
  o Older syntax for setting the socket buffer sizes via
  socket.recvbuf.udp, socket.sendbuf.udp, socket.recvbuf.tcp and
  socket.sendbuf.tcp options have been deprecated and replaced with
  the more general API for setting socket options.
  "socket.recvbuf.udp" can now be set by "&lt;interface-side&gt;.udp.so_rcvbuf"
  "socket.sendbuf.udp" can now be set by "&lt;interface-side&gt;.udp.so_sndbuf"
  "socket.recvbuf.tcp" can now be set by "&lt;interface-side&gt;.tcp.so_rcvbuf"
  "socket.sendbuf.tcp" can now be set by "&lt;interface-side&gt;.tcp.so_sndbuf"
  &lt;interface-side&gt; refers to either "internal", for Dante's internal
  interface(s), or "external", for Dante's external interface(s).
  o socks-rules now require a "socks" prefix (like client-rules require a
  "client" prefix), and the socks "method" keyword has been renamed to
  "socksmethod".
  o The "socksmethod" keyword can now be set in client-rules too.  It
  is used to override the default preference for what socksmethod to
  select for which clients addresses, making it possible to by
  default e.g., have the preference "gssapi username none", but for
  some client-ranges have a different preference, e.g., "none
  username gssapi".
  Normally there is no need to use set this keyword in a client-rule.
  o Fallback to direct (non-proxy) routes now defaults to off in the client,
  as well as in the server.
  To keep previous behaviour in the client, with direct route fallback
  for destinations with no matching route, set SOCKS_DIRECTROUTE_FALLBACK
  to "yes" in the environment, or ./configure with --enable-drt-fallback.
  Direct fallback is enabled if there are no routes configured (as is
  usually the case in a server configuration), and disabled otherwise.
  o IPv6 is now supported in the server.
  Standard IPv6 address syntax is used for addresses, with the addition
  of the special address "0/0" used for matching both all IPv4 and
  all IPv6 addresses.
  o New "monitor" object added.  Syntax is similar to rules and routes,
  but instead of applying to individual sessions, it applies to all
  sessions currently matching the addresses to monitor.
  This can be used for monitoring network anomalies related to too
  little data being transferred or too many disconnects occurring,
  triggering alarms if detected.
  o Possibility to configure system errors and DNS-errors for
  special logging in certain cases (when connecting and performing
  hostname resolving).
  o More aggressive regarding how many processes to fork when starting
  and how many processes to reserve for future clients.
  o Added new log keyword: "tcpinfo".  Used to report more extensive
  statistics about sessions, including TCP_INFO on supported platforms.
  o SIGINFO/SIGUSR1 output is now logged at level "info" instead of level
  "debug".
  o SIGHUP code rewritten.  Should function considerably better in
  environments were SIGHUP is, for whatever reason, sent an excessive
  amount of times every second.
  o Default for the maximum number of clients an i/o process can handle has
  been increased from 8 to 32.
  o Improved UDP compatibility by sending appropriate ICMP unreachable
  errors to clients and targets, if running with the appropriate
  privileges (typically, root is required for this).
  Makes it possible for a client or target to be notified that a UDP
  packet it wanted the Dante server to forward was not forwarded.
  o Reduction in memory consumption at the expense of allocating extra
  memory dynamically in the very rare, perhaps non-existing, cases
  where the extra memory is needed.
  o The default timeout for TCP i/o (timeout.io.tcp) has been changed from
  84000 to 0.  0 means use the kernels default, which in most cases will
  mean no timeout.  See UPGRADE for more information.
  o The session module has been merged with the mainstream Dante code,
  and has also been extended to support the following new features:
  - connection throttling (number of new sessions accepted per second).
  - state-keys.
    Two state keys are currently supported:
  - per-IP address.
  - per-hostid (hostid is supported on certain platforms, with
    certain kernel patches, with certain clients).
  The syntax has also changed (see UPGRADE).
  See the manual for more information about the new features.
  o Code used for finding the correct outgoing address to bind when
  external.rotation is set to "route" replaced with much simpler,
  but hopefully equally (or better) functioning code.
  Idea taken from Quagga.
  o Use getpassphrase() rather then getpass() to obtain password for
  username authentication when available. Avoids 9 character limit
  on Solaris.  Suggested by Albert Fluegel &lt;af@muc.de.example.com&gt;
  o Use sqrt() rather than sqrtl() in stddev calculation, as sqrtl() is not
  available on some platforms (such as FreeBSD 7.2).  Problem reported
  by Rudolf Polzer &lt;rpolzer@one-it.de.example.org&gt;.
  o If the authentication method used was RFC931 (ident), the username
  was not always logged when it should be.
  Reported by Gregory Charot (EVENIUM) &lt;gcharot@evenium.com.example.com&gt;.
  o Syntax checking has been improved to better detect invalid or
  likely incorrect server configurations.
  This can result in some configurations that have previously been
  accepted or accepted with warnings by Dante, to now cause an error
  on startup, preventing the Dante server from starting up until the
  configuration error has been fixed.
  o Fixed compilation on OpenBSD with compilers not supporting -Wbounded.
  Problem report and testing by
  Mikael More &lt;mikael.more@gmail.com.example.com&gt;.
  o GSSAPI "clear" is no longer enabled by default, as it is not part
  of the SOCKS GSSAPI standard per se.
  o external.rotation was not handling non-IPv4 target addresses correctly.
  Reported and diagnosed by Rudolf Polzer &lt;rpolzer@one-it.de.example.com&gt;.
  o The "--disable-libwrap" option has been renamed "--without-libwrap".
  o Fixed bug that would cause the following warning to sometimes be
  erroneously reported:
  "warning: accept(2) failed: Resource temporarily unavailable"
  o SIGINFO log information extended to include information about i/o
  buffer status and as well as UDP packet latency.
  o Real-time scheduling priority settings and CPU affinity settings made
  available in sockd.conf.
  See https://www.inet.no/dante/files/dante_realtime_preview.pdf for
  a performance analysis done in relation to these new features.
  o General API for setting socket options on sockets used by Dante
  made available in sockd.conf.
  o Support for cross compilation of client library for Android
  (system name 'arm-linux-androideabi').
  Testing and analysis by Yoav Weiss &lt;weiss.yoav@gmail.com.example.com&gt;.
  o Problem with sockd.init generation in dante.spec fixed.
  Reported by Luiz Gustavo Nascimento &lt;luizgn@gmail.com.example.com&gt;.
- refreshed patches:
    dante-1.4.0-64bit_portability.patch
    dante-1.4.0-glibc-2.17.patch
    dante-1.4.0-sockd_conf_man_format.patch
    dante-1.4.0-socksify_man_format.patch
- %{optflags} contains -grecord-gcc-switches, which causes problems for
  configure. removed optflags from CFLAGS and modified it to contain the
  rest of the options.</changelog>
  <changelog author="tabraham@suse.com" date="1387454400">- dante.spec: instead of statically defining CFLAGS, parse out
  - grecord-gcc-switches from %{optflags}, since it causes problems
  for the configure script</changelog>
  <changelog author="dvaleev@suse.com" date="1390564800">- Fix HAVE_SENDBUF_IOCTL macro
- added patches:
  * dante-1.4.0-sendbuf_macro.patch</changelog>
  <changelog author="jsegitz@novell.com" date="1400587200">- Added %pre section to call %service_add_pre</changelog>
  <changelog author="diego.ercolani@gmail.com" date="1422619200">- reviewed the systemd init script
- added patch:
  * dante-1.4.0-sockd_conf.patch to accomplish new syntax</changelog>
  <changelog author="mpluskal@suse.com" date="1430222400">- Update to 1.4.1
  * Fixed configure problem with detection of libc.so on recent
    FreeBSD versions.
  * Fixed problem in configure test used for figuring out which
    buffer in an IPC socket is used for determining bytes that can
    be buffered.  Should fix problem on FreeBSD.
  * Fixed bug in handling of buffered GSSAPI data.
  * AIX 6.1 compilation fixes.
  * NetBSD 6.1.3 gethostbyaddr() configure fix.
  * for a full list of changes see NEWS file
- Use url for source
- Cleanup spec-file with spec-cleaner
- Remove upstreamed/obsolete patches
  * dante-1.4.0-64bit_portability.patch
  * dante-1.4.0-glibc-2.17.patch
  * dante-1.4.0-sockd_conf.patch
- Update dependencies
- Enable upnp support
- Do not mark systemd unit file as executable</changelog>
  <changelog author="mpluskal@suse.com" date="1430913600">- Enable libwrap
- Be more explicit in configure stage
- Readd updated dante-1.4.0-glibc-2.17.patch</changelog>
  <changelog author="dmueller@suse.com" date="1431345600">- add dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="idonmez@suse.com" date="1448884800">- Add dante-miniupnp14.patch to fix compilation with miniupnpc
  API level 14.</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1539864000">- Update to version 1.4.2:
  * Support new version of libminiupnp (drop dante-miniupnp14.patch)
  * Miscelaneous build improvements</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1539864001">- Drop authorship; this ought not to be part of descriptions.
- Fix RPM groups. Drop filler words. Replace boilerplate -devel
  subpackage description.
- Remove pointless --with-pic (no static libs here).</changelog>
  <changelog author="Martin Hauke &lt;mardnh@gmx.de&gt;" date="1621166400">- Update to version 1.4.3
  * LDAP module functionality expanded with support for PAC and
    LDAP based authentication.
  * Changed child.maxrequests behavior to be an upper limit on
    requests handled and added child.maxlifetime, which can be
    used to specify the limit on how long child-processes will
    receive new requests.
  * Added Linux service specification file.
  * Work around an issue where "logoutput: syslog" in the client
    could create issues for the application being socksified.
  * Added missing NULL argument check in Raccept().
  * Fix an error case where the Dante mother process would never
    terminate a request process that failed handling a client
    due to resource shortage, leading the request process to hang
    around idle forever.
  * Will hopefully fix problem reported by ANON.
  * Fix for server crash in builds with preloading disabled
    (preloading is enabled by default).
  * Fix for module related SIOCGIFHWADDR warning in obscure
    situations.
  * Removal of arbitrary interface limit in getifaddrs()
    compatibility function.
  * Some minor automated build/test related changes.
  * Minor documentation fixes.
- Update patch dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630411200">- Added hardening to systemd service(s). Modified:
  * sockd.service</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove nonfunctional rc symlink (pointed to a plain file
  not an executable)</changelog>
</package>
<package pkgid="ce2fd14b28612d26a0f9426d700bf03cca2d1fb5182bafd18733af5b3a392a00d3e9f63639285aaa0f3ad1435c25950a0e4a66595513cbf4e1977b180983c796" name="dante" arch="x86_64">
  <version epoch="0" ver="1.4.3" rel="4.1"/>
  <changelog author="mpluskal@suse.com" date="1430222400">- Update to 1.4.1
  * Fixed configure problem with detection of libc.so on recent
    FreeBSD versions.
  * Fixed problem in configure test used for figuring out which
    buffer in an IPC socket is used for determining bytes that can
    be buffered.  Should fix problem on FreeBSD.
  * Fixed bug in handling of buffered GSSAPI data.
  * AIX 6.1 compilation fixes.
  * NetBSD 6.1.3 gethostbyaddr() configure fix.
  * for a full list of changes see NEWS file
- Use url for source
- Cleanup spec-file with spec-cleaner
- Remove upstreamed/obsolete patches
  * dante-1.4.0-64bit_portability.patch
  * dante-1.4.0-glibc-2.17.patch
  * dante-1.4.0-sockd_conf.patch
- Update dependencies
- Enable upnp support
- Do not mark systemd unit file as executable</changelog>
  <changelog author="mpluskal@suse.com" date="1430913600">- Enable libwrap
- Be more explicit in configure stage
- Readd updated dante-1.4.0-glibc-2.17.patch</changelog>
  <changelog author="dmueller@suse.com" date="1431345600">- add dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="idonmez@suse.com" date="1448884800">- Add dante-miniupnp14.patch to fix compilation with miniupnpc
  API level 14.</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1539864000">- Update to version 1.4.2:
  * Support new version of libminiupnp (drop dante-miniupnp14.patch)
  * Miscelaneous build improvements</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1539864001">- Drop authorship; this ought not to be part of descriptions.
- Fix RPM groups. Drop filler words. Replace boilerplate -devel
  subpackage description.
- Remove pointless --with-pic (no static libs here).</changelog>
  <changelog author="Martin Hauke &lt;mardnh@gmx.de&gt;" date="1621166400">- Update to version 1.4.3
  * LDAP module functionality expanded with support for PAC and
    LDAP based authentication.
  * Changed child.maxrequests behavior to be an upper limit on
    requests handled and added child.maxlifetime, which can be
    used to specify the limit on how long child-processes will
    receive new requests.
  * Added Linux service specification file.
  * Work around an issue where "logoutput: syslog" in the client
    could create issues for the application being socksified.
  * Added missing NULL argument check in Raccept().
  * Fix an error case where the Dante mother process would never
    terminate a request process that failed handling a client
    due to resource shortage, leading the request process to hang
    around idle forever.
  * Will hopefully fix problem reported by ANON.
  * Fix for server crash in builds with preloading disabled
    (preloading is enabled by default).
  * Fix for module related SIOCGIFHWADDR warning in obscure
    situations.
  * Removal of arbitrary interface limit in getifaddrs()
    compatibility function.
  * Some minor automated build/test related changes.
  * Minor documentation fixes.
- Update patch dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630411200">- Added hardening to systemd service(s). Modified:
  * sockd.service</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove nonfunctional rc symlink (pointed to a plain file
  not an executable)</changelog>
</package>
<package pkgid="57102a4cc0e3f34d4abf978769fe1725a1eef39e661438cd1bc8cccd6e43a6633813215cd3500865dfad64dc8f7b99483fa909b170efcefd9757ea89b595a52f" name="dante-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.4.3" rel="4.1"/>
  <changelog author="mpluskal@suse.com" date="1430222400">- Update to 1.4.1
  * Fixed configure problem with detection of libc.so on recent
    FreeBSD versions.
  * Fixed problem in configure test used for figuring out which
    buffer in an IPC socket is used for determining bytes that can
    be buffered.  Should fix problem on FreeBSD.
  * Fixed bug in handling of buffered GSSAPI data.
  * AIX 6.1 compilation fixes.
  * NetBSD 6.1.3 gethostbyaddr() configure fix.
  * for a full list of changes see NEWS file
- Use url for source
- Cleanup spec-file with spec-cleaner
- Remove upstreamed/obsolete patches
  * dante-1.4.0-64bit_portability.patch
  * dante-1.4.0-glibc-2.17.patch
  * dante-1.4.0-sockd_conf.patch
- Update dependencies
- Enable upnp support
- Do not mark systemd unit file as executable</changelog>
  <changelog author="mpluskal@suse.com" date="1430913600">- Enable libwrap
- Be more explicit in configure stage
- Readd updated dante-1.4.0-glibc-2.17.patch</changelog>
  <changelog author="dmueller@suse.com" date="1431345600">- add dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="idonmez@suse.com" date="1448884800">- Add dante-miniupnp14.patch to fix compilation with miniupnpc
  API level 14.</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1539864000">- Update to version 1.4.2:
  * Support new version of libminiupnp (drop dante-miniupnp14.patch)
  * Miscelaneous build improvements</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1539864001">- Drop authorship; this ought not to be part of descriptions.
- Fix RPM groups. Drop filler words. Replace boilerplate -devel
  subpackage description.
- Remove pointless --with-pic (no static libs here).</changelog>
  <changelog author="Martin Hauke &lt;mardnh@gmx.de&gt;" date="1621166400">- Update to version 1.4.3
  * LDAP module functionality expanded with support for PAC and
    LDAP based authentication.
  * Changed child.maxrequests behavior to be an upper limit on
    requests handled and added child.maxlifetime, which can be
    used to specify the limit on how long child-processes will
    receive new requests.
  * Added Linux service specification file.
  * Work around an issue where "logoutput: syslog" in the client
    could create issues for the application being socksified.
  * Added missing NULL argument check in Raccept().
  * Fix an error case where the Dante mother process would never
    terminate a request process that failed handling a client
    due to resource shortage, leading the request process to hang
    around idle forever.
  * Will hopefully fix problem reported by ANON.
  * Fix for server crash in builds with preloading disabled
    (preloading is enabled by default).
  * Fix for module related SIOCGIFHWADDR warning in obscure
    situations.
  * Removal of arbitrary interface limit in getifaddrs()
    compatibility function.
  * Some minor automated build/test related changes.
  * Minor documentation fixes.
- Update patch dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630411200">- Added hardening to systemd service(s). Modified:
  * sockd.service</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove nonfunctional rc symlink (pointed to a plain file
  not an executable)</changelog>
</package>
<package pkgid="2ca9ff9ec4be09fbb436aad3ba2ff8f01258156ba50b18415a545e1393e55de28770f1f8756447bb06dbdc9bab281aee4512af374af661104df1c7a9605c9faa" name="dante-debugsource" arch="x86_64">
  <version epoch="0" ver="1.4.3" rel="4.1"/>
  <changelog author="mpluskal@suse.com" date="1430222400">- Update to 1.4.1
  * Fixed configure problem with detection of libc.so on recent
    FreeBSD versions.
  * Fixed problem in configure test used for figuring out which
    buffer in an IPC socket is used for determining bytes that can
    be buffered.  Should fix problem on FreeBSD.
  * Fixed bug in handling of buffered GSSAPI data.
  * AIX 6.1 compilation fixes.
  * NetBSD 6.1.3 gethostbyaddr() configure fix.
  * for a full list of changes see NEWS file
- Use url for source
- Cleanup spec-file with spec-cleaner
- Remove upstreamed/obsolete patches
  * dante-1.4.0-64bit_portability.patch
  * dante-1.4.0-glibc-2.17.patch
  * dante-1.4.0-sockd_conf.patch
- Update dependencies
- Enable upnp support
- Do not mark systemd unit file as executable</changelog>
  <changelog author="mpluskal@suse.com" date="1430913600">- Enable libwrap
- Be more explicit in configure stage
- Readd updated dante-1.4.0-glibc-2.17.patch</changelog>
  <changelog author="dmueller@suse.com" date="1431345600">- add dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="idonmez@suse.com" date="1448884800">- Add dante-miniupnp14.patch to fix compilation with miniupnpc
  API level 14.</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1539864000">- Update to version 1.4.2:
  * Support new version of libminiupnp (drop dante-miniupnp14.patch)
  * Miscelaneous build improvements</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1539864001">- Drop authorship; this ought not to be part of descriptions.
- Fix RPM groups. Drop filler words. Replace boilerplate -devel
  subpackage description.
- Remove pointless --with-pic (no static libs here).</changelog>
  <changelog author="Martin Hauke &lt;mardnh@gmx.de&gt;" date="1621166400">- Update to version 1.4.3
  * LDAP module functionality expanded with support for PAC and
    LDAP based authentication.
  * Changed child.maxrequests behavior to be an upper limit on
    requests handled and added child.maxlifetime, which can be
    used to specify the limit on how long child-processes will
    receive new requests.
  * Added Linux service specification file.
  * Work around an issue where "logoutput: syslog" in the client
    could create issues for the application being socksified.
  * Added missing NULL argument check in Raccept().
  * Fix an error case where the Dante mother process would never
    terminate a request process that failed handling a client
    due to resource shortage, leading the request process to hang
    around idle forever.
  * Will hopefully fix problem reported by ANON.
  * Fix for server crash in builds with preloading disabled
    (preloading is enabled by default).
  * Fix for module related SIOCGIFHWADDR warning in obscure
    situations.
  * Removal of arbitrary interface limit in getifaddrs()
    compatibility function.
  * Some minor automated build/test related changes.
  * Minor documentation fixes.
- Update patch dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630411200">- Added hardening to systemd service(s). Modified:
  * sockd.service</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove nonfunctional rc symlink (pointed to a plain file
  not an executable)</changelog>
</package>
<package pkgid="0b9429da442a7a35a3b8d15091bfd9afe903d3ca172a0d9e5615a807d937a0ce0029f33a9f436abbcc8bf9d507c55445d405f2c310e2d710f88f220abffdbead" name="dante-devel" arch="x86_64">
  <version epoch="0" ver="1.4.3" rel="4.1"/>
  <changelog author="mpluskal@suse.com" date="1430222400">- Update to 1.4.1
  * Fixed configure problem with detection of libc.so on recent
    FreeBSD versions.
  * Fixed problem in configure test used for figuring out which
    buffer in an IPC socket is used for determining bytes that can
    be buffered.  Should fix problem on FreeBSD.
  * Fixed bug in handling of buffered GSSAPI data.
  * AIX 6.1 compilation fixes.
  * NetBSD 6.1.3 gethostbyaddr() configure fix.
  * for a full list of changes see NEWS file
- Use url for source
- Cleanup spec-file with spec-cleaner
- Remove upstreamed/obsolete patches
  * dante-1.4.0-64bit_portability.patch
  * dante-1.4.0-glibc-2.17.patch
  * dante-1.4.0-sockd_conf.patch
- Update dependencies
- Enable upnp support
- Do not mark systemd unit file as executable</changelog>
  <changelog author="mpluskal@suse.com" date="1430913600">- Enable libwrap
- Be more explicit in configure stage
- Readd updated dante-1.4.0-glibc-2.17.patch</changelog>
  <changelog author="dmueller@suse.com" date="1431345600">- add dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="idonmez@suse.com" date="1448884800">- Add dante-miniupnp14.patch to fix compilation with miniupnpc
  API level 14.</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1539864000">- Update to version 1.4.2:
  * Support new version of libminiupnp (drop dante-miniupnp14.patch)
  * Miscelaneous build improvements</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1539864001">- Drop authorship; this ought not to be part of descriptions.
- Fix RPM groups. Drop filler words. Replace boilerplate -devel
  subpackage description.
- Remove pointless --with-pic (no static libs here).</changelog>
  <changelog author="Martin Hauke &lt;mardnh@gmx.de&gt;" date="1621166400">- Update to version 1.4.3
  * LDAP module functionality expanded with support for PAC and
    LDAP based authentication.
  * Changed child.maxrequests behavior to be an upper limit on
    requests handled and added child.maxlifetime, which can be
    used to specify the limit on how long child-processes will
    receive new requests.
  * Added Linux service specification file.
  * Work around an issue where "logoutput: syslog" in the client
    could create issues for the application being socksified.
  * Added missing NULL argument check in Raccept().
  * Fix an error case where the Dante mother process would never
    terminate a request process that failed handling a client
    due to resource shortage, leading the request process to hang
    around idle forever.
  * Will hopefully fix problem reported by ANON.
  * Fix for server crash in builds with preloading disabled
    (preloading is enabled by default).
  * Fix for module related SIOCGIFHWADDR warning in obscure
    situations.
  * Removal of arbitrary interface limit in getifaddrs()
    compatibility function.
  * Some minor automated build/test related changes.
  * Minor documentation fixes.
- Update patch dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630411200">- Added hardening to systemd service(s). Modified:
  * sockd.service</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove nonfunctional rc symlink (pointed to a plain file
  not an executable)</changelog>
</package>
<package pkgid="95e903b620531462253d1ab6dfcd727a2b35a058d7e730b99ff0ef31384e6544f4ebb122869ac3ac531de693d85f88f996583ef68977b8dbab5130bbf7662712" name="dante-server" arch="x86_64">
  <version epoch="0" ver="1.4.3" rel="4.1"/>
  <changelog author="mpluskal@suse.com" date="1430222400">- Update to 1.4.1
  * Fixed configure problem with detection of libc.so on recent
    FreeBSD versions.
  * Fixed problem in configure test used for figuring out which
    buffer in an IPC socket is used for determining bytes that can
    be buffered.  Should fix problem on FreeBSD.
  * Fixed bug in handling of buffered GSSAPI data.
  * AIX 6.1 compilation fixes.
  * NetBSD 6.1.3 gethostbyaddr() configure fix.
  * for a full list of changes see NEWS file
- Use url for source
- Cleanup spec-file with spec-cleaner
- Remove upstreamed/obsolete patches
  * dante-1.4.0-64bit_portability.patch
  * dante-1.4.0-glibc-2.17.patch
  * dante-1.4.0-sockd_conf.patch
- Update dependencies
- Enable upnp support
- Do not mark systemd unit file as executable</changelog>
  <changelog author="mpluskal@suse.com" date="1430913600">- Enable libwrap
- Be more explicit in configure stage
- Readd updated dante-1.4.0-glibc-2.17.patch</changelog>
  <changelog author="dmueller@suse.com" date="1431345600">- add dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="idonmez@suse.com" date="1448884800">- Add dante-miniupnp14.patch to fix compilation with miniupnpc
  API level 14.</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1539864000">- Update to version 1.4.2:
  * Support new version of libminiupnp (drop dante-miniupnp14.patch)
  * Miscelaneous build improvements</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1539864001">- Drop authorship; this ought not to be part of descriptions.
- Fix RPM groups. Drop filler words. Replace boilerplate -devel
  subpackage description.
- Remove pointless --with-pic (no static libs here).</changelog>
  <changelog author="Martin Hauke &lt;mardnh@gmx.de&gt;" date="1621166400">- Update to version 1.4.3
  * LDAP module functionality expanded with support for PAC and
    LDAP based authentication.
  * Changed child.maxrequests behavior to be an upper limit on
    requests handled and added child.maxlifetime, which can be
    used to specify the limit on how long child-processes will
    receive new requests.
  * Added Linux service specification file.
  * Work around an issue where "logoutput: syslog" in the client
    could create issues for the application being socksified.
  * Added missing NULL argument check in Raccept().
  * Fix an error case where the Dante mother process would never
    terminate a request process that failed handling a client
    due to resource shortage, leading the request process to hang
    around idle forever.
  * Will hopefully fix problem reported by ANON.
  * Fix for server crash in builds with preloading disabled
    (preloading is enabled by default).
  * Fix for module related SIOCGIFHWADDR warning in obscure
    situations.
  * Removal of arbitrary interface limit in getifaddrs()
    compatibility function.
  * Some minor automated build/test related changes.
  * Minor documentation fixes.
- Update patch dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630411200">- Added hardening to systemd service(s). Modified:
  * sockd.service</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove nonfunctional rc symlink (pointed to a plain file
  not an executable)</changelog>
</package>
<package pkgid="2b39ec99809e23c1652d19232fa2d8fccc1e9ca645aeda2b21b47953cf9f8f8ee7b8941c170020c91fcd718dce91a04de5b7902144e8373133a798c79c3c8c5e" name="dante-server-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.4.3" rel="4.1"/>
  <changelog author="mpluskal@suse.com" date="1430222400">- Update to 1.4.1
  * Fixed configure problem with detection of libc.so on recent
    FreeBSD versions.
  * Fixed problem in configure test used for figuring out which
    buffer in an IPC socket is used for determining bytes that can
    be buffered.  Should fix problem on FreeBSD.
  * Fixed bug in handling of buffered GSSAPI data.
  * AIX 6.1 compilation fixes.
  * NetBSD 6.1.3 gethostbyaddr() configure fix.
  * for a full list of changes see NEWS file
- Use url for source
- Cleanup spec-file with spec-cleaner
- Remove upstreamed/obsolete patches
  * dante-1.4.0-64bit_portability.patch
  * dante-1.4.0-glibc-2.17.patch
  * dante-1.4.0-sockd_conf.patch
- Update dependencies
- Enable upnp support
- Do not mark systemd unit file as executable</changelog>
  <changelog author="mpluskal@suse.com" date="1430913600">- Enable libwrap
- Be more explicit in configure stage
- Readd updated dante-1.4.0-glibc-2.17.patch</changelog>
  <changelog author="dmueller@suse.com" date="1431345600">- add dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="idonmez@suse.com" date="1448884800">- Add dante-miniupnp14.patch to fix compilation with miniupnpc
  API level 14.</changelog>
  <changelog author="Martin Pluskal &lt;mpluskal@suse.com&gt;" date="1539864000">- Update to version 1.4.2:
  * Support new version of libminiupnp (drop dante-miniupnp14.patch)
  * Miscelaneous build improvements</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1539864001">- Drop authorship; this ought not to be part of descriptions.
- Fix RPM groups. Drop filler words. Replace boilerplate -devel
  subpackage description.
- Remove pointless --with-pic (no static libs here).</changelog>
  <changelog author="Martin Hauke &lt;mardnh@gmx.de&gt;" date="1621166400">- Update to version 1.4.3
  * LDAP module functionality expanded with support for PAC and
    LDAP based authentication.
  * Changed child.maxrequests behavior to be an upper limit on
    requests handled and added child.maxlifetime, which can be
    used to specify the limit on how long child-processes will
    receive new requests.
  * Added Linux service specification file.
  * Work around an issue where "logoutput: syslog" in the client
    could create issues for the application being socksified.
  * Added missing NULL argument check in Raccept().
  * Fix an error case where the Dante mother process would never
    terminate a request process that failed handling a client
    due to resource shortage, leading the request process to hang
    around idle forever.
  * Will hopefully fix problem reported by ANON.
  * Fix for server crash in builds with preloading disabled
    (preloading is enabled by default).
  * Fix for module related SIOCGIFHWADDR warning in obscure
    situations.
  * Removal of arbitrary interface limit in getifaddrs()
    compatibility function.
  * Some minor automated build/test related changes.
  * Minor documentation fixes.
- Update patch dante-1.4.1-gcc5-fixes.patch</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630411200">- Added hardening to systemd service(s). Modified:
  * sockd.service</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1708948800">- Use %patch -P N instead of deprecated %patchN.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1718712000">- Remove nonfunctional rc symlink (pointed to a plain file
  not an executable)</changelog>
</package>
<package pkgid="f4fe18bb50092e516777bccc0c62b12b243df8096e0ccd40da3f6b85e034e0f5196cc4d3cdfc1d17bc40552d5c372f6fa2a39a6984870f1223527c90ff014734" name="dav1d" arch="i586">
  <version epoch="0" ver="1.4.3" rel="1.1"/>
  <changelog author="aloisio@gmx.com" date="1609588800">- Update to version 0.8.1
  * Keep references to buffers valid after dav1d_close().
    Fixes a regression caused by the picture buffer pool added
    in 0.8.0.
  * ARM32 optimizations for 10bit bitdepth for SGR
  * ARM32 optimizations for 16bit bitdepth for
    blend/w_masl/emu_edge
  * ARM64 optimizations for 10bit bitdepth for SGR
  * x86 optimizations for wiener in SSE2/SSSE3/AVX2</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1613995200">- Update to version 0.8.2
  * ARM32 optimizations for ipred and itx in 10/12bits,
    completing the 10b/12b work on ARM64 and ARM32
  * Give the post-filters their own threads
  * ARM64: rewrite the wiener functions
  * Speed up coefficient decoding, 0.5%-3% global decoding gain
  * x86 optimizations for CDEF_filter and wiener in 10/12bit
  * x86: rewrite the SGR AVX2 asm
  * x86: improve msac speed on SSE2+ machines
  * ARM32: improve speed of ipred and warp
  * ARM64: improve speed of ipred, cdef_dir, cdef_filter,
    warp_motion and itx16
  * ARM32/64: improve speed of looprestoration
  * Add seeking, pausing to the player
  * Update the player for rendering of 10b/12b
  * Misc speed improvements and fixes on all platforms
  * Add a xxh3 muxer in the dav1d application</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1616587200">- Disable LTO (fix boo#1183956)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1621166400">- Update to version 0.9.0
  * x86 (64bit) AVX2 implementation of most 10b/12b functions,
    which should provide a large boost for high-bitdepth
    decoding on modern x86 computers and servers.
  * ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
  * New API to signal events happening during the decoding process</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1627560000">- Update to version 0.9.1
  * 10/12b SSSE3 optimizations for mc (avg, w_avg, mask, w_mask,
    emu_edge), prep/put_bilin, prep/put_8tap, ipred (dc/h/v,
    paeth, smooth, pal, filter), wiener, sgr (10b), warp8x8,
    deblock, film_grain, cfl_ac/pred for 32bit and 64bit x86
    processors
  * Film grain NEON for fguv 10/12b, fgy/fguv 8b and fgy/fguv
    10/12 arm32
  * Fixes for filmgrain on ARM
  * itx 10bit optimizations for 4x4/x8/x16, 8x4/x8/x16 for SSE4
  * Misc improvements on SSE2, SSE4</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1630670400">- Update to version 0.9.2
  * x86: SSE4 optimizations of inverse transforms for 10bit for
    all sizes
  * x86: mc.resize optimizations with AVX2/SSSE3 for 10/12b
  * x86: SSSE3 optimizations for cdef_filter in 10/12b and
    mc_w_mask_422/444 in 8b
  * ARM NEON optimizations for FilmGrain Gen_grain functions
  * Optimizations for splat_mv in SSE2/AVX2 and NEON
  * x86: SGR improvements for SSSE3 CPUs
  * x86: AVX2 optimizations for cfl_ac</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1647604800">- Update to version 1.0.0
  * Automatic thread management.
  * Add support for AVX-512 acceleration.
  * x86 code speedup (from SSE2 to AVX2).
  * New grain API to ease acceleration on the GPU.
  * New API call to get information of which frame failed to
    decode, in error cases.
  * Numerous small bug fixes.
- Bump soversion to 6</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1665662400">- Drop _lto_cflags define, current version supports lto build.
- Drop unneeded rpm BuildRequires.
- Add pkgconfig(libxxhash) BuildRequires and stop passing
  xhash_muxer=disabled to meson, build hash_muxer support.
- Add check section and meson_test macro, run tests during build.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1676376000">- Update to version 1.1.0
  * New function dav1d_get_frame_delay to query the decoder
    frame delay
  * Numerous fixes for strict conformity to the specs and samples
  * NEON and AVX-512 misc fixes and improvements
  * Partial AVX2 12bpc transform implementations
  * AVX-512 high bit-depth cdef_filter, loopfilter, itx
  * NEON z1/z3 optimization for 8bpc
  * SSSE3 z1 optimization for 8bpc</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1677672000">- Require gcc9 on SLE. Otherwise defaults to gcc7 and fails to
  build on ppc64le (boo#1208794).</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1678190400">- Revert last change. This is now handled in xxhash.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1683115200">- Update to version 1.2.0
  * Improvements on attachments of props and T.35 entries on
    output pictures
  * NEON z1/z3 high bit-depth optimizations and improvements for
    8bpc
  * SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations
  * refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512
  * AVX-512 optimizations for high bit-depth itx (16x64, 32x64,
    64x16, 64x32, 64x64)
  * AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx
  * Includes fix for possible crash when decoding a frame
    (bsc#1211262 CVE-2023-32570).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1683288000">- Use ldconfig_scriptlets macro, minor spec clean-up.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1685534400">- Add to description some performance mentions that set it apart
  from other packages e.g. gav1.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1685620800">- Update to version 1.2.1
  * Fix a threading race on task_thread.init_done
  * NEON z2 8bpc and high bit-depth optimizations
  * SSSE3 z2 high bit-depth optimziations
  * Fix a desynced luma/chroma planes issue with Film Grain
  * Reduce memory consumption
  * Improve dav1d_parse_sequence_header() speed
  * OBU: Improve header parsing and fix potential overflows
  * OBU: Improve ITU-T T.35 parsing speed
  * Misc buildsystems, CI and headers fixes</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1696420800">- Update to version 1.3.0
  * Reduce memory usage in numerous places
  * ABI break in Dav1dSequenceHeader, Dav1dFrameHeader,
    Dav1dContentLightLevel structures
  * new API function to check the API version:
    dav1d_version_api()
  * Rewrite of the SGR functions for ARM64 to be faster
  * NEON implemetation of save_tmvs for ARM32 and ARM64
  * x86 palette DSP for pal_idx_finish function
- Bump soversion to 7</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1707912000">- Update to version 1.4.0
  * AVX-512 optimizations for z1, z2, z3 in 8bit and
    high-bitdepth
  * New architecture supported: loongarch
  * Loongarch optimizations for 8bit
  * New architecture supported: RISC-V
  * RISC-V optimizations for itx
  * Misc improvements in threading and in reducing binary size
  * Fix potential integer overflow with extremely large frame
    sizes (bsc#1220105, CVE-2024-1580)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1710504000">- Update to version 1.4.1
  * Optimizations for 6tap filters for NEON (ARM)
  * More RISC-V optimizations for itx (4x8, 8x4, 4x16, 16x4,
    8x16, 16x8)
  * Reduction of binary size on ARM64, ARM32 and RISC-V
  * Fix out-of-bounds read in 8bpc SSE2/SSSE3 wiener_filter
  * Msac optimizations</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1716638400">- Update to version 1.4.2
  * AVX2 optimizations for 8-tap and new variants for 6-tap
  * AVX-512 optimizations for 8-tap and new variants for 6-tap
  * Improve entropy decoding on ARM64
  * New ARM64 optimizations for convolutions based on DotProd
    extension
  * New ARM64 optimizations for convolutions based on i8mm
    extension
  * New ARM64 optimizations for subpel and prep filters for i8mm
  * Misc improvements on existing ARM64 optimizations, notably
    for put/prep
  * New PowerPC9 optimizations for loopfilter
  * Support for macOS kperf API for benchmarking</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1718193600">- Update to version 1.4.3
  * AArch64: Fix potential out of bounds access in DotProd H/HV
    filters
  * cli: Prevent buffer over-read</changelog>
</package>
<package pkgid="89e89b5388aab3f050e61b4da6e48ff86be500558d4fb129f04d9e65259089d77341f08a2d1b31d4483cc4b781c5c4c530f66f454d48094dff28f63a9583691b" name="dav1d" arch="src">
  <version epoch="0" ver="1.4.3" rel="1.1"/>
  <changelog author="aloisio@gmx.com" date="1609588800">- Update to version 0.8.1
  * Keep references to buffers valid after dav1d_close().
    Fixes a regression caused by the picture buffer pool added
    in 0.8.0.
  * ARM32 optimizations for 10bit bitdepth for SGR
  * ARM32 optimizations for 16bit bitdepth for
    blend/w_masl/emu_edge
  * ARM64 optimizations for 10bit bitdepth for SGR
  * x86 optimizations for wiener in SSE2/SSSE3/AVX2</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1613995200">- Update to version 0.8.2
  * ARM32 optimizations for ipred and itx in 10/12bits,
    completing the 10b/12b work on ARM64 and ARM32
  * Give the post-filters their own threads
  * ARM64: rewrite the wiener functions
  * Speed up coefficient decoding, 0.5%-3% global decoding gain
  * x86 optimizations for CDEF_filter and wiener in 10/12bit
  * x86: rewrite the SGR AVX2 asm
  * x86: improve msac speed on SSE2+ machines
  * ARM32: improve speed of ipred and warp
  * ARM64: improve speed of ipred, cdef_dir, cdef_filter,
    warp_motion and itx16
  * ARM32/64: improve speed of looprestoration
  * Add seeking, pausing to the player
  * Update the player for rendering of 10b/12b
  * Misc speed improvements and fixes on all platforms
  * Add a xxh3 muxer in the dav1d application</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1616587200">- Disable LTO (fix boo#1183956)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1621166400">- Update to version 0.9.0
  * x86 (64bit) AVX2 implementation of most 10b/12b functions,
    which should provide a large boost for high-bitdepth
    decoding on modern x86 computers and servers.
  * ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
  * New API to signal events happening during the decoding process</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1627560000">- Update to version 0.9.1
  * 10/12b SSSE3 optimizations for mc (avg, w_avg, mask, w_mask,
    emu_edge), prep/put_bilin, prep/put_8tap, ipred (dc/h/v,
    paeth, smooth, pal, filter), wiener, sgr (10b), warp8x8,
    deblock, film_grain, cfl_ac/pred for 32bit and 64bit x86
    processors
  * Film grain NEON for fguv 10/12b, fgy/fguv 8b and fgy/fguv
    10/12 arm32
  * Fixes for filmgrain on ARM
  * itx 10bit optimizations for 4x4/x8/x16, 8x4/x8/x16 for SSE4
  * Misc improvements on SSE2, SSE4</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1630670400">- Update to version 0.9.2
  * x86: SSE4 optimizations of inverse transforms for 10bit for
    all sizes
  * x86: mc.resize optimizations with AVX2/SSSE3 for 10/12b
  * x86: SSSE3 optimizations for cdef_filter in 10/12b and
    mc_w_mask_422/444 in 8b
  * ARM NEON optimizations for FilmGrain Gen_grain functions
  * Optimizations for splat_mv in SSE2/AVX2 and NEON
  * x86: SGR improvements for SSSE3 CPUs
  * x86: AVX2 optimizations for cfl_ac</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1647604800">- Update to version 1.0.0
  * Automatic thread management.
  * Add support for AVX-512 acceleration.
  * x86 code speedup (from SSE2 to AVX2).
  * New grain API to ease acceleration on the GPU.
  * New API call to get information of which frame failed to
    decode, in error cases.
  * Numerous small bug fixes.
- Bump soversion to 6</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1665662400">- Drop _lto_cflags define, current version supports lto build.
- Drop unneeded rpm BuildRequires.
- Add pkgconfig(libxxhash) BuildRequires and stop passing
  xhash_muxer=disabled to meson, build hash_muxer support.
- Add check section and meson_test macro, run tests during build.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1676376000">- Update to version 1.1.0
  * New function dav1d_get_frame_delay to query the decoder
    frame delay
  * Numerous fixes for strict conformity to the specs and samples
  * NEON and AVX-512 misc fixes and improvements
  * Partial AVX2 12bpc transform implementations
  * AVX-512 high bit-depth cdef_filter, loopfilter, itx
  * NEON z1/z3 optimization for 8bpc
  * SSSE3 z1 optimization for 8bpc</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1677672000">- Require gcc9 on SLE. Otherwise defaults to gcc7 and fails to
  build on ppc64le (boo#1208794).</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1678190400">- Revert last change. This is now handled in xxhash.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1683115200">- Update to version 1.2.0
  * Improvements on attachments of props and T.35 entries on
    output pictures
  * NEON z1/z3 high bit-depth optimizations and improvements for
    8bpc
  * SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations
  * refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512
  * AVX-512 optimizations for high bit-depth itx (16x64, 32x64,
    64x16, 64x32, 64x64)
  * AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx
  * Includes fix for possible crash when decoding a frame
    (bsc#1211262 CVE-2023-32570).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1683288000">- Use ldconfig_scriptlets macro, minor spec clean-up.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1685534400">- Add to description some performance mentions that set it apart
  from other packages e.g. gav1.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1685620800">- Update to version 1.2.1
  * Fix a threading race on task_thread.init_done
  * NEON z2 8bpc and high bit-depth optimizations
  * SSSE3 z2 high bit-depth optimziations
  * Fix a desynced luma/chroma planes issue with Film Grain
  * Reduce memory consumption
  * Improve dav1d_parse_sequence_header() speed
  * OBU: Improve header parsing and fix potential overflows
  * OBU: Improve ITU-T T.35 parsing speed
  * Misc buildsystems, CI and headers fixes</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1696420800">- Update to version 1.3.0
  * Reduce memory usage in numerous places
  * ABI break in Dav1dSequenceHeader, Dav1dFrameHeader,
    Dav1dContentLightLevel structures
  * new API function to check the API version:
    dav1d_version_api()
  * Rewrite of the SGR functions for ARM64 to be faster
  * NEON implemetation of save_tmvs for ARM32 and ARM64
  * x86 palette DSP for pal_idx_finish function
- Bump soversion to 7</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1707912000">- Update to version 1.4.0
  * AVX-512 optimizations for z1, z2, z3 in 8bit and
    high-bitdepth
  * New architecture supported: loongarch
  * Loongarch optimizations for 8bit
  * New architecture supported: RISC-V
  * RISC-V optimizations for itx
  * Misc improvements in threading and in reducing binary size
  * Fix potential integer overflow with extremely large frame
    sizes (bsc#1220105, CVE-2024-1580)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1710504000">- Update to version 1.4.1
  * Optimizations for 6tap filters for NEON (ARM)
  * More RISC-V optimizations for itx (4x8, 8x4, 4x16, 16x4,
    8x16, 16x8)
  * Reduction of binary size on ARM64, ARM32 and RISC-V
  * Fix out-of-bounds read in 8bpc SSE2/SSSE3 wiener_filter
  * Msac optimizations</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1716638400">- Update to version 1.4.2
  * AVX2 optimizations for 8-tap and new variants for 6-tap
  * AVX-512 optimizations for 8-tap and new variants for 6-tap
  * Improve entropy decoding on ARM64
  * New ARM64 optimizations for convolutions based on DotProd
    extension
  * New ARM64 optimizations for convolutions based on i8mm
    extension
  * New ARM64 optimizations for subpel and prep filters for i8mm
  * Misc improvements on existing ARM64 optimizations, notably
    for put/prep
  * New PowerPC9 optimizations for loopfilter
  * Support for macOS kperf API for benchmarking</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1718193600">- Update to version 1.4.3
  * AArch64: Fix potential out of bounds access in DotProd H/HV
    filters
  * cli: Prevent buffer over-read</changelog>
</package>
<package pkgid="b5d72196df35499a56bf32534bdaa407f9cf0e6f94c8f942f9ed8746ab402100a51164e340cdb5cde0907f11172535541da9bd4b5dbc58e89f4b19323dc4f070" name="dav1d" arch="x86_64">
  <version epoch="0" ver="1.4.3" rel="1.1"/>
  <changelog author="aloisio@gmx.com" date="1609588800">- Update to version 0.8.1
  * Keep references to buffers valid after dav1d_close().
    Fixes a regression caused by the picture buffer pool added
    in 0.8.0.
  * ARM32 optimizations for 10bit bitdepth for SGR
  * ARM32 optimizations for 16bit bitdepth for
    blend/w_masl/emu_edge
  * ARM64 optimizations for 10bit bitdepth for SGR
  * x86 optimizations for wiener in SSE2/SSSE3/AVX2</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1613995200">- Update to version 0.8.2
  * ARM32 optimizations for ipred and itx in 10/12bits,
    completing the 10b/12b work on ARM64 and ARM32
  * Give the post-filters their own threads
  * ARM64: rewrite the wiener functions
  * Speed up coefficient decoding, 0.5%-3% global decoding gain
  * x86 optimizations for CDEF_filter and wiener in 10/12bit
  * x86: rewrite the SGR AVX2 asm
  * x86: improve msac speed on SSE2+ machines
  * ARM32: improve speed of ipred and warp
  * ARM64: improve speed of ipred, cdef_dir, cdef_filter,
    warp_motion and itx16
  * ARM32/64: improve speed of looprestoration
  * Add seeking, pausing to the player
  * Update the player for rendering of 10b/12b
  * Misc speed improvements and fixes on all platforms
  * Add a xxh3 muxer in the dav1d application</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1616587200">- Disable LTO (fix boo#1183956)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1621166400">- Update to version 0.9.0
  * x86 (64bit) AVX2 implementation of most 10b/12b functions,
    which should provide a large boost for high-bitdepth
    decoding on modern x86 computers and servers.
  * ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
  * New API to signal events happening during the decoding process</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1627560000">- Update to version 0.9.1
  * 10/12b SSSE3 optimizations for mc (avg, w_avg, mask, w_mask,
    emu_edge), prep/put_bilin, prep/put_8tap, ipred (dc/h/v,
    paeth, smooth, pal, filter), wiener, sgr (10b), warp8x8,
    deblock, film_grain, cfl_ac/pred for 32bit and 64bit x86
    processors
  * Film grain NEON for fguv 10/12b, fgy/fguv 8b and fgy/fguv
    10/12 arm32
  * Fixes for filmgrain on ARM
  * itx 10bit optimizations for 4x4/x8/x16, 8x4/x8/x16 for SSE4
  * Misc improvements on SSE2, SSE4</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1630670400">- Update to version 0.9.2
  * x86: SSE4 optimizations of inverse transforms for 10bit for
    all sizes
  * x86: mc.resize optimizations with AVX2/SSSE3 for 10/12b
  * x86: SSSE3 optimizations for cdef_filter in 10/12b and
    mc_w_mask_422/444 in 8b
  * ARM NEON optimizations for FilmGrain Gen_grain functions
  * Optimizations for splat_mv in SSE2/AVX2 and NEON
  * x86: SGR improvements for SSSE3 CPUs
  * x86: AVX2 optimizations for cfl_ac</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1647604800">- Update to version 1.0.0
  * Automatic thread management.
  * Add support for AVX-512 acceleration.
  * x86 code speedup (from SSE2 to AVX2).
  * New grain API to ease acceleration on the GPU.
  * New API call to get information of which frame failed to
    decode, in error cases.
  * Numerous small bug fixes.
- Bump soversion to 6</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1665662400">- Drop _lto_cflags define, current version supports lto build.
- Drop unneeded rpm BuildRequires.
- Add pkgconfig(libxxhash) BuildRequires and stop passing
  xhash_muxer=disabled to meson, build hash_muxer support.
- Add check section and meson_test macro, run tests during build.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1676376000">- Update to version 1.1.0
  * New function dav1d_get_frame_delay to query the decoder
    frame delay
  * Numerous fixes for strict conformity to the specs and samples
  * NEON and AVX-512 misc fixes and improvements
  * Partial AVX2 12bpc transform implementations
  * AVX-512 high bit-depth cdef_filter, loopfilter, itx
  * NEON z1/z3 optimization for 8bpc
  * SSSE3 z1 optimization for 8bpc</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1677672000">- Require gcc9 on SLE. Otherwise defaults to gcc7 and fails to
  build on ppc64le (boo#1208794).</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1678190400">- Revert last change. This is now handled in xxhash.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1683115200">- Update to version 1.2.0
  * Improvements on attachments of props and T.35 entries on
    output pictures
  * NEON z1/z3 high bit-depth optimizations and improvements for
    8bpc
  * SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations
  * refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512
  * AVX-512 optimizations for high bit-depth itx (16x64, 32x64,
    64x16, 64x32, 64x64)
  * AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx
  * Includes fix for possible crash when decoding a frame
    (bsc#1211262 CVE-2023-32570).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1683288000">- Use ldconfig_scriptlets macro, minor spec clean-up.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1685534400">- Add to description some performance mentions that set it apart
  from other packages e.g. gav1.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1685620800">- Update to version 1.2.1
  * Fix a threading race on task_thread.init_done
  * NEON z2 8bpc and high bit-depth optimizations
  * SSSE3 z2 high bit-depth optimziations
  * Fix a desynced luma/chroma planes issue with Film Grain
  * Reduce memory consumption
  * Improve dav1d_parse_sequence_header() speed
  * OBU: Improve header parsing and fix potential overflows
  * OBU: Improve ITU-T T.35 parsing speed
  * Misc buildsystems, CI and headers fixes</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1696420800">- Update to version 1.3.0
  * Reduce memory usage in numerous places
  * ABI break in Dav1dSequenceHeader, Dav1dFrameHeader,
    Dav1dContentLightLevel structures
  * new API function to check the API version:
    dav1d_version_api()
  * Rewrite of the SGR functions for ARM64 to be faster
  * NEON implemetation of save_tmvs for ARM32 and ARM64
  * x86 palette DSP for pal_idx_finish function
- Bump soversion to 7</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1707912000">- Update to version 1.4.0
  * AVX-512 optimizations for z1, z2, z3 in 8bit and
    high-bitdepth
  * New architecture supported: loongarch
  * Loongarch optimizations for 8bit
  * New architecture supported: RISC-V
  * RISC-V optimizations for itx
  * Misc improvements in threading and in reducing binary size
  * Fix potential integer overflow with extremely large frame
    sizes (bsc#1220105, CVE-2024-1580)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1710504000">- Update to version 1.4.1
  * Optimizations for 6tap filters for NEON (ARM)
  * More RISC-V optimizations for itx (4x8, 8x4, 4x16, 16x4,
    8x16, 16x8)
  * Reduction of binary size on ARM64, ARM32 and RISC-V
  * Fix out-of-bounds read in 8bpc SSE2/SSSE3 wiener_filter
  * Msac optimizations</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1716638400">- Update to version 1.4.2
  * AVX2 optimizations for 8-tap and new variants for 6-tap
  * AVX-512 optimizations for 8-tap and new variants for 6-tap
  * Improve entropy decoding on ARM64
  * New ARM64 optimizations for convolutions based on DotProd
    extension
  * New ARM64 optimizations for convolutions based on i8mm
    extension
  * New ARM64 optimizations for subpel and prep filters for i8mm
  * Misc improvements on existing ARM64 optimizations, notably
    for put/prep
  * New PowerPC9 optimizations for loopfilter
  * Support for macOS kperf API for benchmarking</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1718193600">- Update to version 1.4.3
  * AArch64: Fix potential out of bounds access in DotProd H/HV
    filters
  * cli: Prevent buffer over-read</changelog>
</package>
<package pkgid="5f97c8405026e5a175036cd5e0d133178ad3e5a1db55d97cdec86aec733713b78fcd9ff0135a4063addbfbe3240b500127973b6e3d2e769254a2bf09d7852295" name="dav1d-debuginfo" arch="i586">
  <version epoch="0" ver="1.4.3" rel="1.1"/>
  <changelog author="aloisio@gmx.com" date="1609588800">- Update to version 0.8.1
  * Keep references to buffers valid after dav1d_close().
    Fixes a regression caused by the picture buffer pool added
    in 0.8.0.
  * ARM32 optimizations for 10bit bitdepth for SGR
  * ARM32 optimizations for 16bit bitdepth for
    blend/w_masl/emu_edge
  * ARM64 optimizations for 10bit bitdepth for SGR
  * x86 optimizations for wiener in SSE2/SSSE3/AVX2</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1613995200">- Update to version 0.8.2
  * ARM32 optimizations for ipred and itx in 10/12bits,
    completing the 10b/12b work on ARM64 and ARM32
  * Give the post-filters their own threads
  * ARM64: rewrite the wiener functions
  * Speed up coefficient decoding, 0.5%-3% global decoding gain
  * x86 optimizations for CDEF_filter and wiener in 10/12bit
  * x86: rewrite the SGR AVX2 asm
  * x86: improve msac speed on SSE2+ machines
  * ARM32: improve speed of ipred and warp
  * ARM64: improve speed of ipred, cdef_dir, cdef_filter,
    warp_motion and itx16
  * ARM32/64: improve speed of looprestoration
  * Add seeking, pausing to the player
  * Update the player for rendering of 10b/12b
  * Misc speed improvements and fixes on all platforms
  * Add a xxh3 muxer in the dav1d application</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1616587200">- Disable LTO (fix boo#1183956)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1621166400">- Update to version 0.9.0
  * x86 (64bit) AVX2 implementation of most 10b/12b functions,
    which should provide a large boost for high-bitdepth
    decoding on modern x86 computers and servers.
  * ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
  * New API to signal events happening during the decoding process</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1627560000">- Update to version 0.9.1
  * 10/12b SSSE3 optimizations for mc (avg, w_avg, mask, w_mask,
    emu_edge), prep/put_bilin, prep/put_8tap, ipred (dc/h/v,
    paeth, smooth, pal, filter), wiener, sgr (10b), warp8x8,
    deblock, film_grain, cfl_ac/pred for 32bit and 64bit x86
    processors
  * Film grain NEON for fguv 10/12b, fgy/fguv 8b and fgy/fguv
    10/12 arm32
  * Fixes for filmgrain on ARM
  * itx 10bit optimizations for 4x4/x8/x16, 8x4/x8/x16 for SSE4
  * Misc improvements on SSE2, SSE4</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1630670400">- Update to version 0.9.2
  * x86: SSE4 optimizations of inverse transforms for 10bit for
    all sizes
  * x86: mc.resize optimizations with AVX2/SSSE3 for 10/12b
  * x86: SSSE3 optimizations for cdef_filter in 10/12b and
    mc_w_mask_422/444 in 8b
  * ARM NEON optimizations for FilmGrain Gen_grain functions
  * Optimizations for splat_mv in SSE2/AVX2 and NEON
  * x86: SGR improvements for SSSE3 CPUs
  * x86: AVX2 optimizations for cfl_ac</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1647604800">- Update to version 1.0.0
  * Automatic thread management.
  * Add support for AVX-512 acceleration.
  * x86 code speedup (from SSE2 to AVX2).
  * New grain API to ease acceleration on the GPU.
  * New API call to get information of which frame failed to
    decode, in error cases.
  * Numerous small bug fixes.
- Bump soversion to 6</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1665662400">- Drop _lto_cflags define, current version supports lto build.
- Drop unneeded rpm BuildRequires.
- Add pkgconfig(libxxhash) BuildRequires and stop passing
  xhash_muxer=disabled to meson, build hash_muxer support.
- Add check section and meson_test macro, run tests during build.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1676376000">- Update to version 1.1.0
  * New function dav1d_get_frame_delay to query the decoder
    frame delay
  * Numerous fixes for strict conformity to the specs and samples
  * NEON and AVX-512 misc fixes and improvements
  * Partial AVX2 12bpc transform implementations
  * AVX-512 high bit-depth cdef_filter, loopfilter, itx
  * NEON z1/z3 optimization for 8bpc
  * SSSE3 z1 optimization for 8bpc</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1677672000">- Require gcc9 on SLE. Otherwise defaults to gcc7 and fails to
  build on ppc64le (boo#1208794).</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1678190400">- Revert last change. This is now handled in xxhash.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1683115200">- Update to version 1.2.0
  * Improvements on attachments of props and T.35 entries on
    output pictures
  * NEON z1/z3 high bit-depth optimizations and improvements for
    8bpc
  * SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations
  * refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512
  * AVX-512 optimizations for high bit-depth itx (16x64, 32x64,
    64x16, 64x32, 64x64)
  * AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx
  * Includes fix for possible crash when decoding a frame
    (bsc#1211262 CVE-2023-32570).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1683288000">- Use ldconfig_scriptlets macro, minor spec clean-up.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1685534400">- Add to description some performance mentions that set it apart
  from other packages e.g. gav1.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1685620800">- Update to version 1.2.1
  * Fix a threading race on task_thread.init_done
  * NEON z2 8bpc and high bit-depth optimizations
  * SSSE3 z2 high bit-depth optimziations
  * Fix a desynced luma/chroma planes issue with Film Grain
  * Reduce memory consumption
  * Improve dav1d_parse_sequence_header() speed
  * OBU: Improve header parsing and fix potential overflows
  * OBU: Improve ITU-T T.35 parsing speed
  * Misc buildsystems, CI and headers fixes</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1696420800">- Update to version 1.3.0
  * Reduce memory usage in numerous places
  * ABI break in Dav1dSequenceHeader, Dav1dFrameHeader,
    Dav1dContentLightLevel structures
  * new API function to check the API version:
    dav1d_version_api()
  * Rewrite of the SGR functions for ARM64 to be faster
  * NEON implemetation of save_tmvs for ARM32 and ARM64
  * x86 palette DSP for pal_idx_finish function
- Bump soversion to 7</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1707912000">- Update to version 1.4.0
  * AVX-512 optimizations for z1, z2, z3 in 8bit and
    high-bitdepth
  * New architecture supported: loongarch
  * Loongarch optimizations for 8bit
  * New architecture supported: RISC-V
  * RISC-V optimizations for itx
  * Misc improvements in threading and in reducing binary size
  * Fix potential integer overflow with extremely large frame
    sizes (bsc#1220105, CVE-2024-1580)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1710504000">- Update to version 1.4.1
  * Optimizations for 6tap filters for NEON (ARM)
  * More RISC-V optimizations for itx (4x8, 8x4, 4x16, 16x4,
    8x16, 16x8)
  * Reduction of binary size on ARM64, ARM32 and RISC-V
  * Fix out-of-bounds read in 8bpc SSE2/SSSE3 wiener_filter
  * Msac optimizations</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1716638400">- Update to version 1.4.2
  * AVX2 optimizations for 8-tap and new variants for 6-tap
  * AVX-512 optimizations for 8-tap and new variants for 6-tap
  * Improve entropy decoding on ARM64
  * New ARM64 optimizations for convolutions based on DotProd
    extension
  * New ARM64 optimizations for convolutions based on i8mm
    extension
  * New ARM64 optimizations for subpel and prep filters for i8mm
  * Misc improvements on existing ARM64 optimizations, notably
    for put/prep
  * New PowerPC9 optimizations for loopfilter
  * Support for macOS kperf API for benchmarking</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1718193600">- Update to version 1.4.3
  * AArch64: Fix potential out of bounds access in DotProd H/HV
    filters
  * cli: Prevent buffer over-read</changelog>
</package>
<package pkgid="7cc92a17b72d93c2e26a9ea68faed9cb110f637395210fa7d1e0dfb9c877cef89c0ce74bde98817376941a713b52fdc0c92eb4e1ca7b76be6cec757fa1088b13" name="dav1d-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.4.3" rel="1.1"/>
  <changelog author="aloisio@gmx.com" date="1609588800">- Update to version 0.8.1
  * Keep references to buffers valid after dav1d_close().
    Fixes a regression caused by the picture buffer pool added
    in 0.8.0.
  * ARM32 optimizations for 10bit bitdepth for SGR
  * ARM32 optimizations for 16bit bitdepth for
    blend/w_masl/emu_edge
  * ARM64 optimizations for 10bit bitdepth for SGR
  * x86 optimizations for wiener in SSE2/SSSE3/AVX2</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1613995200">- Update to version 0.8.2
  * ARM32 optimizations for ipred and itx in 10/12bits,
    completing the 10b/12b work on ARM64 and ARM32
  * Give the post-filters their own threads
  * ARM64: rewrite the wiener functions
  * Speed up coefficient decoding, 0.5%-3% global decoding gain
  * x86 optimizations for CDEF_filter and wiener in 10/12bit
  * x86: rewrite the SGR AVX2 asm
  * x86: improve msac speed on SSE2+ machines
  * ARM32: improve speed of ipred and warp
  * ARM64: improve speed of ipred, cdef_dir, cdef_filter,
    warp_motion and itx16
  * ARM32/64: improve speed of looprestoration
  * Add seeking, pausing to the player
  * Update the player for rendering of 10b/12b
  * Misc speed improvements and fixes on all platforms
  * Add a xxh3 muxer in the dav1d application</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1616587200">- Disable LTO (fix boo#1183956)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1621166400">- Update to version 0.9.0
  * x86 (64bit) AVX2 implementation of most 10b/12b functions,
    which should provide a large boost for high-bitdepth
    decoding on modern x86 computers and servers.
  * ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
  * New API to signal events happening during the decoding process</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1627560000">- Update to version 0.9.1
  * 10/12b SSSE3 optimizations for mc (avg, w_avg, mask, w_mask,
    emu_edge), prep/put_bilin, prep/put_8tap, ipred (dc/h/v,
    paeth, smooth, pal, filter), wiener, sgr (10b), warp8x8,
    deblock, film_grain, cfl_ac/pred for 32bit and 64bit x86
    processors
  * Film grain NEON for fguv 10/12b, fgy/fguv 8b and fgy/fguv
    10/12 arm32
  * Fixes for filmgrain on ARM
  * itx 10bit optimizations for 4x4/x8/x16, 8x4/x8/x16 for SSE4
  * Misc improvements on SSE2, SSE4</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1630670400">- Update to version 0.9.2
  * x86: SSE4 optimizations of inverse transforms for 10bit for
    all sizes
  * x86: mc.resize optimizations with AVX2/SSSE3 for 10/12b
  * x86: SSSE3 optimizations for cdef_filter in 10/12b and
    mc_w_mask_422/444 in 8b
  * ARM NEON optimizations for FilmGrain Gen_grain functions
  * Optimizations for splat_mv in SSE2/AVX2 and NEON
  * x86: SGR improvements for SSSE3 CPUs
  * x86: AVX2 optimizations for cfl_ac</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1647604800">- Update to version 1.0.0
  * Automatic thread management.
  * Add support for AVX-512 acceleration.
  * x86 code speedup (from SSE2 to AVX2).
  * New grain API to ease acceleration on the GPU.
  * New API call to get information of which frame failed to
    decode, in error cases.
  * Numerous small bug fixes.
- Bump soversion to 6</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1665662400">- Drop _lto_cflags define, current version supports lto build.
- Drop unneeded rpm BuildRequires.
- Add pkgconfig(libxxhash) BuildRequires and stop passing
  xhash_muxer=disabled to meson, build hash_muxer support.
- Add check section and meson_test macro, run tests during build.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1676376000">- Update to version 1.1.0
  * New function dav1d_get_frame_delay to query the decoder
    frame delay
  * Numerous fixes for strict conformity to the specs and samples
  * NEON and AVX-512 misc fixes and improvements
  * Partial AVX2 12bpc transform implementations
  * AVX-512 high bit-depth cdef_filter, loopfilter, itx
  * NEON z1/z3 optimization for 8bpc
  * SSSE3 z1 optimization for 8bpc</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1677672000">- Require gcc9 on SLE. Otherwise defaults to gcc7 and fails to
  build on ppc64le (boo#1208794).</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1678190400">- Revert last change. This is now handled in xxhash.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1683115200">- Update to version 1.2.0
  * Improvements on attachments of props and T.35 entries on
    output pictures
  * NEON z1/z3 high bit-depth optimizations and improvements for
    8bpc
  * SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations
  * refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512
  * AVX-512 optimizations for high bit-depth itx (16x64, 32x64,
    64x16, 64x32, 64x64)
  * AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx
  * Includes fix for possible crash when decoding a frame
    (bsc#1211262 CVE-2023-32570).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1683288000">- Use ldconfig_scriptlets macro, minor spec clean-up.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1685534400">- Add to description some performance mentions that set it apart
  from other packages e.g. gav1.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1685620800">- Update to version 1.2.1
  * Fix a threading race on task_thread.init_done
  * NEON z2 8bpc and high bit-depth optimizations
  * SSSE3 z2 high bit-depth optimziations
  * Fix a desynced luma/chroma planes issue with Film Grain
  * Reduce memory consumption
  * Improve dav1d_parse_sequence_header() speed
  * OBU: Improve header parsing and fix potential overflows
  * OBU: Improve ITU-T T.35 parsing speed
  * Misc buildsystems, CI and headers fixes</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1696420800">- Update to version 1.3.0
  * Reduce memory usage in numerous places
  * ABI break in Dav1dSequenceHeader, Dav1dFrameHeader,
    Dav1dContentLightLevel structures
  * new API function to check the API version:
    dav1d_version_api()
  * Rewrite of the SGR functions for ARM64 to be faster
  * NEON implemetation of save_tmvs for ARM32 and ARM64
  * x86 palette DSP for pal_idx_finish function
- Bump soversion to 7</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1707912000">- Update to version 1.4.0
  * AVX-512 optimizations for z1, z2, z3 in 8bit and
    high-bitdepth
  * New architecture supported: loongarch
  * Loongarch optimizations for 8bit
  * New architecture supported: RISC-V
  * RISC-V optimizations for itx
  * Misc improvements in threading and in reducing binary size
  * Fix potential integer overflow with extremely large frame
    sizes (bsc#1220105, CVE-2024-1580)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1710504000">- Update to version 1.4.1
  * Optimizations for 6tap filters for NEON (ARM)
  * More RISC-V optimizations for itx (4x8, 8x4, 4x16, 16x4,
    8x16, 16x8)
  * Reduction of binary size on ARM64, ARM32 and RISC-V
  * Fix out-of-bounds read in 8bpc SSE2/SSSE3 wiener_filter
  * Msac optimizations</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1716638400">- Update to version 1.4.2
  * AVX2 optimizations for 8-tap and new variants for 6-tap
  * AVX-512 optimizations for 8-tap and new variants for 6-tap
  * Improve entropy decoding on ARM64
  * New ARM64 optimizations for convolutions based on DotProd
    extension
  * New ARM64 optimizations for convolutions based on i8mm
    extension
  * New ARM64 optimizations for subpel and prep filters for i8mm
  * Misc improvements on existing ARM64 optimizations, notably
    for put/prep
  * New PowerPC9 optimizations for loopfilter
  * Support for macOS kperf API for benchmarking</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1718193600">- Update to version 1.4.3
  * AArch64: Fix potential out of bounds access in DotProd H/HV
    filters
  * cli: Prevent buffer over-read</changelog>
</package>
<package pkgid="ec0baec82d2dbab102cafc6f56f90ec0d8b689d8b694338ff7cbf20629ae8fbfc38f7e24e01b05ef164f043713849722e30c98c99ebbab51af7ea2c5553a46e0" name="dav1d-debugsource" arch="i586">
  <version epoch="0" ver="1.4.3" rel="1.1"/>
  <changelog author="aloisio@gmx.com" date="1609588800">- Update to version 0.8.1
  * Keep references to buffers valid after dav1d_close().
    Fixes a regression caused by the picture buffer pool added
    in 0.8.0.
  * ARM32 optimizations for 10bit bitdepth for SGR
  * ARM32 optimizations for 16bit bitdepth for
    blend/w_masl/emu_edge
  * ARM64 optimizations for 10bit bitdepth for SGR
  * x86 optimizations for wiener in SSE2/SSSE3/AVX2</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1613995200">- Update to version 0.8.2
  * ARM32 optimizations for ipred and itx in 10/12bits,
    completing the 10b/12b work on ARM64 and ARM32
  * Give the post-filters their own threads
  * ARM64: rewrite the wiener functions
  * Speed up coefficient decoding, 0.5%-3% global decoding gain
  * x86 optimizations for CDEF_filter and wiener in 10/12bit
  * x86: rewrite the SGR AVX2 asm
  * x86: improve msac speed on SSE2+ machines
  * ARM32: improve speed of ipred and warp
  * ARM64: improve speed of ipred, cdef_dir, cdef_filter,
    warp_motion and itx16
  * ARM32/64: improve speed of looprestoration
  * Add seeking, pausing to the player
  * Update the player for rendering of 10b/12b
  * Misc speed improvements and fixes on all platforms
  * Add a xxh3 muxer in the dav1d application</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1616587200">- Disable LTO (fix boo#1183956)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1621166400">- Update to version 0.9.0
  * x86 (64bit) AVX2 implementation of most 10b/12b functions,
    which should provide a large boost for high-bitdepth
    decoding on modern x86 computers and servers.
  * ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
  * New API to signal events happening during the decoding process</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1627560000">- Update to version 0.9.1
  * 10/12b SSSE3 optimizations for mc (avg, w_avg, mask, w_mask,
    emu_edge), prep/put_bilin, prep/put_8tap, ipred (dc/h/v,
    paeth, smooth, pal, filter), wiener, sgr (10b), warp8x8,
    deblock, film_grain, cfl_ac/pred for 32bit and 64bit x86
    processors
  * Film grain NEON for fguv 10/12b, fgy/fguv 8b and fgy/fguv
    10/12 arm32
  * Fixes for filmgrain on ARM
  * itx 10bit optimizations for 4x4/x8/x16, 8x4/x8/x16 for SSE4
  * Misc improvements on SSE2, SSE4</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1630670400">- Update to version 0.9.2
  * x86: SSE4 optimizations of inverse transforms for 10bit for
    all sizes
  * x86: mc.resize optimizations with AVX2/SSSE3 for 10/12b
  * x86: SSSE3 optimizations for cdef_filter in 10/12b and
    mc_w_mask_422/444 in 8b
  * ARM NEON optimizations for FilmGrain Gen_grain functions
  * Optimizations for splat_mv in SSE2/AVX2 and NEON
  * x86: SGR improvements for SSSE3 CPUs
  * x86: AVX2 optimizations for cfl_ac</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1647604800">- Update to version 1.0.0
  * Automatic thread management.
  * Add support for AVX-512 acceleration.
  * x86 code speedup (from SSE2 to AVX2).
  * New grain API to ease acceleration on the GPU.
  * New API call to get information of which frame failed to
    decode, in error cases.
  * Numerous small bug fixes.
- Bump soversion to 6</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1665662400">- Drop _lto_cflags define, current version supports lto build.
- Drop unneeded rpm BuildRequires.
- Add pkgconfig(libxxhash) BuildRequires and stop passing
  xhash_muxer=disabled to meson, build hash_muxer support.
- Add check section and meson_test macro, run tests during build.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1676376000">- Update to version 1.1.0
  * New function dav1d_get_frame_delay to query the decoder
    frame delay
  * Numerous fixes for strict conformity to the specs and samples
  * NEON and AVX-512 misc fixes and improvements
  * Partial AVX2 12bpc transform implementations
  * AVX-512 high bit-depth cdef_filter, loopfilter, itx
  * NEON z1/z3 optimization for 8bpc
  * SSSE3 z1 optimization for 8bpc</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1677672000">- Require gcc9 on SLE. Otherwise defaults to gcc7 and fails to
  build on ppc64le (boo#1208794).</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1678190400">- Revert last change. This is now handled in xxhash.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1683115200">- Update to version 1.2.0
  * Improvements on attachments of props and T.35 entries on
    output pictures
  * NEON z1/z3 high bit-depth optimizations and improvements for
    8bpc
  * SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations
  * refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512
  * AVX-512 optimizations for high bit-depth itx (16x64, 32x64,
    64x16, 64x32, 64x64)
  * AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx
  * Includes fix for possible crash when decoding a frame
    (bsc#1211262 CVE-2023-32570).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1683288000">- Use ldconfig_scriptlets macro, minor spec clean-up.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1685534400">- Add to description some performance mentions that set it apart
  from other packages e.g. gav1.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1685620800">- Update to version 1.2.1
  * Fix a threading race on task_thread.init_done
  * NEON z2 8bpc and high bit-depth optimizations
  * SSSE3 z2 high bit-depth optimziations
  * Fix a desynced luma/chroma planes issue with Film Grain
  * Reduce memory consumption
  * Improve dav1d_parse_sequence_header() speed
  * OBU: Improve header parsing and fix potential overflows
  * OBU: Improve ITU-T T.35 parsing speed
  * Misc buildsystems, CI and headers fixes</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1696420800">- Update to version 1.3.0
  * Reduce memory usage in numerous places
  * ABI break in Dav1dSequenceHeader, Dav1dFrameHeader,
    Dav1dContentLightLevel structures
  * new API function to check the API version:
    dav1d_version_api()
  * Rewrite of the SGR functions for ARM64 to be faster
  * NEON implemetation of save_tmvs for ARM32 and ARM64
  * x86 palette DSP for pal_idx_finish function
- Bump soversion to 7</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1707912000">- Update to version 1.4.0
  * AVX-512 optimizations for z1, z2, z3 in 8bit and
    high-bitdepth
  * New architecture supported: loongarch
  * Loongarch optimizations for 8bit
  * New architecture supported: RISC-V
  * RISC-V optimizations for itx
  * Misc improvements in threading and in reducing binary size
  * Fix potential integer overflow with extremely large frame
    sizes (bsc#1220105, CVE-2024-1580)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1710504000">- Update to version 1.4.1
  * Optimizations for 6tap filters for NEON (ARM)
  * More RISC-V optimizations for itx (4x8, 8x4, 4x16, 16x4,
    8x16, 16x8)
  * Reduction of binary size on ARM64, ARM32 and RISC-V
  * Fix out-of-bounds read in 8bpc SSE2/SSSE3 wiener_filter
  * Msac optimizations</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1716638400">- Update to version 1.4.2
  * AVX2 optimizations for 8-tap and new variants for 6-tap
  * AVX-512 optimizations for 8-tap and new variants for 6-tap
  * Improve entropy decoding on ARM64
  * New ARM64 optimizations for convolutions based on DotProd
    extension
  * New ARM64 optimizations for convolutions based on i8mm
    extension
  * New ARM64 optimizations for subpel and prep filters for i8mm
  * Misc improvements on existing ARM64 optimizations, notably
    for put/prep
  * New PowerPC9 optimizations for loopfilter
  * Support for macOS kperf API for benchmarking</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1718193600">- Update to version 1.4.3
  * AArch64: Fix potential out of bounds access in DotProd H/HV
    filters
  * cli: Prevent buffer over-read</changelog>
</package>
<package pkgid="83c3b437dfbf715d449536231f2244762a2cf856c3b64fce27bd1bbad7f49d9923bd7c2d800a9c7ab2cbd0c8d20480e8562233fc647e33dd0df70d6299a21b11" name="dav1d-debugsource" arch="x86_64">
  <version epoch="0" ver="1.4.3" rel="1.1"/>
  <changelog author="aloisio@gmx.com" date="1609588800">- Update to version 0.8.1
  * Keep references to buffers valid after dav1d_close().
    Fixes a regression caused by the picture buffer pool added
    in 0.8.0.
  * ARM32 optimizations for 10bit bitdepth for SGR
  * ARM32 optimizations for 16bit bitdepth for
    blend/w_masl/emu_edge
  * ARM64 optimizations for 10bit bitdepth for SGR
  * x86 optimizations for wiener in SSE2/SSSE3/AVX2</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1613995200">- Update to version 0.8.2
  * ARM32 optimizations for ipred and itx in 10/12bits,
    completing the 10b/12b work on ARM64 and ARM32
  * Give the post-filters their own threads
  * ARM64: rewrite the wiener functions
  * Speed up coefficient decoding, 0.5%-3% global decoding gain
  * x86 optimizations for CDEF_filter and wiener in 10/12bit
  * x86: rewrite the SGR AVX2 asm
  * x86: improve msac speed on SSE2+ machines
  * ARM32: improve speed of ipred and warp
  * ARM64: improve speed of ipred, cdef_dir, cdef_filter,
    warp_motion and itx16
  * ARM32/64: improve speed of looprestoration
  * Add seeking, pausing to the player
  * Update the player for rendering of 10b/12b
  * Misc speed improvements and fixes on all platforms
  * Add a xxh3 muxer in the dav1d application</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1616587200">- Disable LTO (fix boo#1183956)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1621166400">- Update to version 0.9.0
  * x86 (64bit) AVX2 implementation of most 10b/12b functions,
    which should provide a large boost for high-bitdepth
    decoding on modern x86 computers and servers.
  * ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
  * New API to signal events happening during the decoding process</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1627560000">- Update to version 0.9.1
  * 10/12b SSSE3 optimizations for mc (avg, w_avg, mask, w_mask,
    emu_edge), prep/put_bilin, prep/put_8tap, ipred (dc/h/v,
    paeth, smooth, pal, filter), wiener, sgr (10b), warp8x8,
    deblock, film_grain, cfl_ac/pred for 32bit and 64bit x86
    processors
  * Film grain NEON for fguv 10/12b, fgy/fguv 8b and fgy/fguv
    10/12 arm32
  * Fixes for filmgrain on ARM
  * itx 10bit optimizations for 4x4/x8/x16, 8x4/x8/x16 for SSE4
  * Misc improvements on SSE2, SSE4</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1630670400">- Update to version 0.9.2
  * x86: SSE4 optimizations of inverse transforms for 10bit for
    all sizes
  * x86: mc.resize optimizations with AVX2/SSSE3 for 10/12b
  * x86: SSSE3 optimizations for cdef_filter in 10/12b and
    mc_w_mask_422/444 in 8b
  * ARM NEON optimizations for FilmGrain Gen_grain functions
  * Optimizations for splat_mv in SSE2/AVX2 and NEON
  * x86: SGR improvements for SSSE3 CPUs
  * x86: AVX2 optimizations for cfl_ac</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1647604800">- Update to version 1.0.0
  * Automatic thread management.
  * Add support for AVX-512 acceleration.
  * x86 code speedup (from SSE2 to AVX2).
  * New grain API to ease acceleration on the GPU.
  * New API call to get information of which frame failed to
    decode, in error cases.
  * Numerous small bug fixes.
- Bump soversion to 6</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1665662400">- Drop _lto_cflags define, current version supports lto build.
- Drop unneeded rpm BuildRequires.
- Add pkgconfig(libxxhash) BuildRequires and stop passing
  xhash_muxer=disabled to meson, build hash_muxer support.
- Add check section and meson_test macro, run tests during build.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1676376000">- Update to version 1.1.0
  * New function dav1d_get_frame_delay to query the decoder
    frame delay
  * Numerous fixes for strict conformity to the specs and samples
  * NEON and AVX-512 misc fixes and improvements
  * Partial AVX2 12bpc transform implementations
  * AVX-512 high bit-depth cdef_filter, loopfilter, itx
  * NEON z1/z3 optimization for 8bpc
  * SSSE3 z1 optimization for 8bpc</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1677672000">- Require gcc9 on SLE. Otherwise defaults to gcc7 and fails to
  build on ppc64le (boo#1208794).</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1678190400">- Revert last change. This is now handled in xxhash.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1683115200">- Update to version 1.2.0
  * Improvements on attachments of props and T.35 entries on
    output pictures
  * NEON z1/z3 high bit-depth optimizations and improvements for
    8bpc
  * SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations
  * refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512
  * AVX-512 optimizations for high bit-depth itx (16x64, 32x64,
    64x16, 64x32, 64x64)
  * AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx
  * Includes fix for possible crash when decoding a frame
    (bsc#1211262 CVE-2023-32570).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1683288000">- Use ldconfig_scriptlets macro, minor spec clean-up.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1685534400">- Add to description some performance mentions that set it apart
  from other packages e.g. gav1.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1685620800">- Update to version 1.2.1
  * Fix a threading race on task_thread.init_done
  * NEON z2 8bpc and high bit-depth optimizations
  * SSSE3 z2 high bit-depth optimziations
  * Fix a desynced luma/chroma planes issue with Film Grain
  * Reduce memory consumption
  * Improve dav1d_parse_sequence_header() speed
  * OBU: Improve header parsing and fix potential overflows
  * OBU: Improve ITU-T T.35 parsing speed
  * Misc buildsystems, CI and headers fixes</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1696420800">- Update to version 1.3.0
  * Reduce memory usage in numerous places
  * ABI break in Dav1dSequenceHeader, Dav1dFrameHeader,
    Dav1dContentLightLevel structures
  * new API function to check the API version:
    dav1d_version_api()
  * Rewrite of the SGR functions for ARM64 to be faster
  * NEON implemetation of save_tmvs for ARM32 and ARM64
  * x86 palette DSP for pal_idx_finish function
- Bump soversion to 7</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1707912000">- Update to version 1.4.0
  * AVX-512 optimizations for z1, z2, z3 in 8bit and
    high-bitdepth
  * New architecture supported: loongarch
  * Loongarch optimizations for 8bit
  * New architecture supported: RISC-V
  * RISC-V optimizations for itx
  * Misc improvements in threading and in reducing binary size
  * Fix potential integer overflow with extremely large frame
    sizes (bsc#1220105, CVE-2024-1580)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1710504000">- Update to version 1.4.1
  * Optimizations for 6tap filters for NEON (ARM)
  * More RISC-V optimizations for itx (4x8, 8x4, 4x16, 16x4,
    8x16, 16x8)
  * Reduction of binary size on ARM64, ARM32 and RISC-V
  * Fix out-of-bounds read in 8bpc SSE2/SSSE3 wiener_filter
  * Msac optimizations</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1716638400">- Update to version 1.4.2
  * AVX2 optimizations for 8-tap and new variants for 6-tap
  * AVX-512 optimizations for 8-tap and new variants for 6-tap
  * Improve entropy decoding on ARM64
  * New ARM64 optimizations for convolutions based on DotProd
    extension
  * New ARM64 optimizations for convolutions based on i8mm
    extension
  * New ARM64 optimizations for subpel and prep filters for i8mm
  * Misc improvements on existing ARM64 optimizations, notably
    for put/prep
  * New PowerPC9 optimizations for loopfilter
  * Support for macOS kperf API for benchmarking</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1718193600">- Update to version 1.4.3
  * AArch64: Fix potential out of bounds access in DotProd H/HV
    filters
  * cli: Prevent buffer over-read</changelog>
</package>
<package pkgid="d732321162df70d5c0facabdf89a6cf66229201f56b5b72047bc3d425d59ef6a790a712339d09c44dbbc0356fdb35ed3da6fbf027270cd449f7bad167076e002" name="dav1d-devel" arch="i586">
  <version epoch="0" ver="1.4.3" rel="1.1"/>
  <changelog author="aloisio@gmx.com" date="1609588800">- Update to version 0.8.1
  * Keep references to buffers valid after dav1d_close().
    Fixes a regression caused by the picture buffer pool added
    in 0.8.0.
  * ARM32 optimizations for 10bit bitdepth for SGR
  * ARM32 optimizations for 16bit bitdepth for
    blend/w_masl/emu_edge
  * ARM64 optimizations for 10bit bitdepth for SGR
  * x86 optimizations for wiener in SSE2/SSSE3/AVX2</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1613995200">- Update to version 0.8.2
  * ARM32 optimizations for ipred and itx in 10/12bits,
    completing the 10b/12b work on ARM64 and ARM32
  * Give the post-filters their own threads
  * ARM64: rewrite the wiener functions
  * Speed up coefficient decoding, 0.5%-3% global decoding gain
  * x86 optimizations for CDEF_filter and wiener in 10/12bit
  * x86: rewrite the SGR AVX2 asm
  * x86: improve msac speed on SSE2+ machines
  * ARM32: improve speed of ipred and warp
  * ARM64: improve speed of ipred, cdef_dir, cdef_filter,
    warp_motion and itx16
  * ARM32/64: improve speed of looprestoration
  * Add seeking, pausing to the player
  * Update the player for rendering of 10b/12b
  * Misc speed improvements and fixes on all platforms
  * Add a xxh3 muxer in the dav1d application</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1616587200">- Disable LTO (fix boo#1183956)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1621166400">- Update to version 0.9.0
  * x86 (64bit) AVX2 implementation of most 10b/12b functions,
    which should provide a large boost for high-bitdepth
    decoding on modern x86 computers and servers.
  * ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
  * New API to signal events happening during the decoding process</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1627560000">- Update to version 0.9.1
  * 10/12b SSSE3 optimizations for mc (avg, w_avg, mask, w_mask,
    emu_edge), prep/put_bilin, prep/put_8tap, ipred (dc/h/v,
    paeth, smooth, pal, filter), wiener, sgr (10b), warp8x8,
    deblock, film_grain, cfl_ac/pred for 32bit and 64bit x86
    processors
  * Film grain NEON for fguv 10/12b, fgy/fguv 8b and fgy/fguv
    10/12 arm32
  * Fixes for filmgrain on ARM
  * itx 10bit optimizations for 4x4/x8/x16, 8x4/x8/x16 for SSE4
  * Misc improvements on SSE2, SSE4</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1630670400">- Update to version 0.9.2
  * x86: SSE4 optimizations of inverse transforms for 10bit for
    all sizes
  * x86: mc.resize optimizations with AVX2/SSSE3 for 10/12b
  * x86: SSSE3 optimizations for cdef_filter in 10/12b and
    mc_w_mask_422/444 in 8b
  * ARM NEON optimizations for FilmGrain Gen_grain functions
  * Optimizations for splat_mv in SSE2/AVX2 and NEON
  * x86: SGR improvements for SSSE3 CPUs
  * x86: AVX2 optimizations for cfl_ac</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1647604800">- Update to version 1.0.0
  * Automatic thread management.
  * Add support for AVX-512 acceleration.
  * x86 code speedup (from SSE2 to AVX2).
  * New grain API to ease acceleration on the GPU.
  * New API call to get information of which frame failed to
    decode, in error cases.
  * Numerous small bug fixes.
- Bump soversion to 6</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1665662400">- Drop _lto_cflags define, current version supports lto build.
- Drop unneeded rpm BuildRequires.
- Add pkgconfig(libxxhash) BuildRequires and stop passing
  xhash_muxer=disabled to meson, build hash_muxer support.
- Add check section and meson_test macro, run tests during build.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1676376000">- Update to version 1.1.0
  * New function dav1d_get_frame_delay to query the decoder
    frame delay
  * Numerous fixes for strict conformity to the specs and samples
  * NEON and AVX-512 misc fixes and improvements
  * Partial AVX2 12bpc transform implementations
  * AVX-512 high bit-depth cdef_filter, loopfilter, itx
  * NEON z1/z3 optimization for 8bpc
  * SSSE3 z1 optimization for 8bpc</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1677672000">- Require gcc9 on SLE. Otherwise defaults to gcc7 and fails to
  build on ppc64le (boo#1208794).</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1678190400">- Revert last change. This is now handled in xxhash.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1683115200">- Update to version 1.2.0
  * Improvements on attachments of props and T.35 entries on
    output pictures
  * NEON z1/z3 high bit-depth optimizations and improvements for
    8bpc
  * SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations
  * refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512
  * AVX-512 optimizations for high bit-depth itx (16x64, 32x64,
    64x16, 64x32, 64x64)
  * AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx
  * Includes fix for possible crash when decoding a frame
    (bsc#1211262 CVE-2023-32570).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1683288000">- Use ldconfig_scriptlets macro, minor spec clean-up.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1685534400">- Add to description some performance mentions that set it apart
  from other packages e.g. gav1.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1685620800">- Update to version 1.2.1
  * Fix a threading race on task_thread.init_done
  * NEON z2 8bpc and high bit-depth optimizations
  * SSSE3 z2 high bit-depth optimziations
  * Fix a desynced luma/chroma planes issue with Film Grain
  * Reduce memory consumption
  * Improve dav1d_parse_sequence_header() speed
  * OBU: Improve header parsing and fix potential overflows
  * OBU: Improve ITU-T T.35 parsing speed
  * Misc buildsystems, CI and headers fixes</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1696420800">- Update to version 1.3.0
  * Reduce memory usage in numerous places
  * ABI break in Dav1dSequenceHeader, Dav1dFrameHeader,
    Dav1dContentLightLevel structures
  * new API function to check the API version:
    dav1d_version_api()
  * Rewrite of the SGR functions for ARM64 to be faster
  * NEON implemetation of save_tmvs for ARM32 and ARM64
  * x86 palette DSP for pal_idx_finish function
- Bump soversion to 7</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1707912000">- Update to version 1.4.0
  * AVX-512 optimizations for z1, z2, z3 in 8bit and
    high-bitdepth
  * New architecture supported: loongarch
  * Loongarch optimizations for 8bit
  * New architecture supported: RISC-V
  * RISC-V optimizations for itx
  * Misc improvements in threading and in reducing binary size
  * Fix potential integer overflow with extremely large frame
    sizes (bsc#1220105, CVE-2024-1580)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1710504000">- Update to version 1.4.1
  * Optimizations for 6tap filters for NEON (ARM)
  * More RISC-V optimizations for itx (4x8, 8x4, 4x16, 16x4,
    8x16, 16x8)
  * Reduction of binary size on ARM64, ARM32 and RISC-V
  * Fix out-of-bounds read in 8bpc SSE2/SSSE3 wiener_filter
  * Msac optimizations</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1716638400">- Update to version 1.4.2
  * AVX2 optimizations for 8-tap and new variants for 6-tap
  * AVX-512 optimizations for 8-tap and new variants for 6-tap
  * Improve entropy decoding on ARM64
  * New ARM64 optimizations for convolutions based on DotProd
    extension
  * New ARM64 optimizations for convolutions based on i8mm
    extension
  * New ARM64 optimizations for subpel and prep filters for i8mm
  * Misc improvements on existing ARM64 optimizations, notably
    for put/prep
  * New PowerPC9 optimizations for loopfilter
  * Support for macOS kperf API for benchmarking</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1718193600">- Update to version 1.4.3
  * AArch64: Fix potential out of bounds access in DotProd H/HV
    filters
  * cli: Prevent buffer over-read</changelog>
</package>
<package pkgid="0dd8677241e0e1424b0ec32dffddbfbc1882b69069fb9f9492e2fa9c6727c018b479914127159ce114bbcd8b7575ffb2ec928e930e8fa7f881779399a5dd6bfc" name="dav1d-devel" arch="x86_64">
  <version epoch="0" ver="1.4.3" rel="1.1"/>
  <changelog author="aloisio@gmx.com" date="1609588800">- Update to version 0.8.1
  * Keep references to buffers valid after dav1d_close().
    Fixes a regression caused by the picture buffer pool added
    in 0.8.0.
  * ARM32 optimizations for 10bit bitdepth for SGR
  * ARM32 optimizations for 16bit bitdepth for
    blend/w_masl/emu_edge
  * ARM64 optimizations for 10bit bitdepth for SGR
  * x86 optimizations for wiener in SSE2/SSSE3/AVX2</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1613995200">- Update to version 0.8.2
  * ARM32 optimizations for ipred and itx in 10/12bits,
    completing the 10b/12b work on ARM64 and ARM32
  * Give the post-filters their own threads
  * ARM64: rewrite the wiener functions
  * Speed up coefficient decoding, 0.5%-3% global decoding gain
  * x86 optimizations for CDEF_filter and wiener in 10/12bit
  * x86: rewrite the SGR AVX2 asm
  * x86: improve msac speed on SSE2+ machines
  * ARM32: improve speed of ipred and warp
  * ARM64: improve speed of ipred, cdef_dir, cdef_filter,
    warp_motion and itx16
  * ARM32/64: improve speed of looprestoration
  * Add seeking, pausing to the player
  * Update the player for rendering of 10b/12b
  * Misc speed improvements and fixes on all platforms
  * Add a xxh3 muxer in the dav1d application</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1616587200">- Disable LTO (fix boo#1183956)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1621166400">- Update to version 0.9.0
  * x86 (64bit) AVX2 implementation of most 10b/12b functions,
    which should provide a large boost for high-bitdepth
    decoding on modern x86 computers and servers.
  * ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
  * New API to signal events happening during the decoding process</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1627560000">- Update to version 0.9.1
  * 10/12b SSSE3 optimizations for mc (avg, w_avg, mask, w_mask,
    emu_edge), prep/put_bilin, prep/put_8tap, ipred (dc/h/v,
    paeth, smooth, pal, filter), wiener, sgr (10b), warp8x8,
    deblock, film_grain, cfl_ac/pred for 32bit and 64bit x86
    processors
  * Film grain NEON for fguv 10/12b, fgy/fguv 8b and fgy/fguv
    10/12 arm32
  * Fixes for filmgrain on ARM
  * itx 10bit optimizations for 4x4/x8/x16, 8x4/x8/x16 for SSE4
  * Misc improvements on SSE2, SSE4</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1630670400">- Update to version 0.9.2
  * x86: SSE4 optimizations of inverse transforms for 10bit for
    all sizes
  * x86: mc.resize optimizations with AVX2/SSSE3 for 10/12b
  * x86: SSSE3 optimizations for cdef_filter in 10/12b and
    mc_w_mask_422/444 in 8b
  * ARM NEON optimizations for FilmGrain Gen_grain functions
  * Optimizations for splat_mv in SSE2/AVX2 and NEON
  * x86: SGR improvements for SSSE3 CPUs
  * x86: AVX2 optimizations for cfl_ac</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1647604800">- Update to version 1.0.0
  * Automatic thread management.
  * Add support for AVX-512 acceleration.
  * x86 code speedup (from SSE2 to AVX2).
  * New grain API to ease acceleration on the GPU.
  * New API call to get information of which frame failed to
    decode, in error cases.
  * Numerous small bug fixes.
- Bump soversion to 6</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1665662400">- Drop _lto_cflags define, current version supports lto build.
- Drop unneeded rpm BuildRequires.
- Add pkgconfig(libxxhash) BuildRequires and stop passing
  xhash_muxer=disabled to meson, build hash_muxer support.
- Add check section and meson_test macro, run tests during build.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1676376000">- Update to version 1.1.0
  * New function dav1d_get_frame_delay to query the decoder
    frame delay
  * Numerous fixes for strict conformity to the specs and samples
  * NEON and AVX-512 misc fixes and improvements
  * Partial AVX2 12bpc transform implementations
  * AVX-512 high bit-depth cdef_filter, loopfilter, itx
  * NEON z1/z3 optimization for 8bpc
  * SSSE3 z1 optimization for 8bpc</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1677672000">- Require gcc9 on SLE. Otherwise defaults to gcc7 and fails to
  build on ppc64le (boo#1208794).</changelog>
  <changelog author="Michael Gorse &lt;mgorse@suse.com&gt;" date="1678190400">- Revert last change. This is now handled in xxhash.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1683115200">- Update to version 1.2.0
  * Improvements on attachments of props and T.35 entries on
    output pictures
  * NEON z1/z3 high bit-depth optimizations and improvements for
    8bpc
  * SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations
  * refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512
  * AVX-512 optimizations for high bit-depth itx (16x64, 32x64,
    64x16, 64x32, 64x64)
  * AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx
  * Includes fix for possible crash when decoding a frame
    (bsc#1211262 CVE-2023-32570).</changelog>
  <changelog author="Bj&#xF8;rn Lie &lt;bjorn.lie@gmail.com&gt;" date="1683288000">- Use ldconfig_scriptlets macro, minor spec clean-up.</changelog>
  <changelog author="Jan Engelhardt &lt;jengelh@inai.de&gt;" date="1685534400">- Add to description some performance mentions that set it apart
  from other packages e.g. gav1.</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1685620800">- Update to version 1.2.1
  * Fix a threading race on task_thread.init_done
  * NEON z2 8bpc and high bit-depth optimizations
  * SSSE3 z2 high bit-depth optimziations
  * Fix a desynced luma/chroma planes issue with Film Grain
  * Reduce memory consumption
  * Improve dav1d_parse_sequence_header() speed
  * OBU: Improve header parsing and fix potential overflows
  * OBU: Improve ITU-T T.35 parsing speed
  * Misc buildsystems, CI and headers fixes</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1696420800">- Update to version 1.3.0
  * Reduce memory usage in numerous places
  * ABI break in Dav1dSequenceHeader, Dav1dFrameHeader,
    Dav1dContentLightLevel structures
  * new API function to check the API version:
    dav1d_version_api()
  * Rewrite of the SGR functions for ARM64 to be faster
  * NEON implemetation of save_tmvs for ARM32 and ARM64
  * x86 palette DSP for pal_idx_finish function
- Bump soversion to 7</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1707912000">- Update to version 1.4.0
  * AVX-512 optimizations for z1, z2, z3 in 8bit and
    high-bitdepth
  * New architecture supported: loongarch
  * Loongarch optimizations for 8bit
  * New architecture supported: RISC-V
  * RISC-V optimizations for itx
  * Misc improvements in threading and in reducing binary size
  * Fix potential integer overflow with extremely large frame
    sizes (bsc#1220105, CVE-2024-1580)</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1710504000">- Update to version 1.4.1
  * Optimizations for 6tap filters for NEON (ARM)
  * More RISC-V optimizations for itx (4x8, 8x4, 4x16, 16x4,
    8x16, 16x8)
  * Reduction of binary size on ARM64, ARM32 and RISC-V
  * Fix out-of-bounds read in 8bpc SSE2/SSSE3 wiener_filter
  * Msac optimizations</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1716638400">- Update to version 1.4.2
  * AVX2 optimizations for 8-tap and new variants for 6-tap
  * AVX-512 optimizations for 8-tap and new variants for 6-tap
  * Improve entropy decoding on ARM64
  * New ARM64 optimizations for convolutions based on DotProd
    extension
  * New ARM64 optimizations for convolutions based on i8mm
    extension
  * New ARM64 optimizations for subpel and prep filters for i8mm
  * Misc improvements on existing ARM64 optimizations, notably
    for put/prep
  * New PowerPC9 optimizations for loopfilter
  * Support for macOS kperf API for benchmarking</changelog>
  <changelog author="Luigi Baldoni &lt;aloisio@gmx.com&gt;" date="1718193600">- Update to version 1.4.3
  * AArch64: Fix potential out of bounds access in DotProd H/HV
    filters
  * cli: Prevent buffer over-read</changelog>
</package>
<package pkgid="3febeb185a094d359bd91ec1a38eaf64a38ca1c2012d88b4af8f8b491476ef68715448e614659c2b040cd9b1bfb53a26dbd168e8d897218801a411a7104b52ee" name="ddcutil-service" arch="src">
  <version epoch="0" ver="1.0.9" rel="1.1"/>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1705579200">- Version 1.0.0
  * Added an optional D-Bus interface to ddcutil for up 10x faster response times.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1709208000">- Version 1.0.2
  - Added VcpValueChanged D-Bus signal which triggers if the SetVcp method succeeds. This is to allow
    multiple clients to be aware of changes made by each.
  - Added SetVcpWithContext which accepts a client-context to be returned with the VcpValueChanged signal.
  - ServiceEmitSignals renamed to ServiceEmitConnectivitySignals to avoid confusion.
  - Command line option --emit-signals renamed to --emit-connectivity-signals for the same reason.
  - Fix ServiceEmitSignals property assignment so that it correctly toggles hotplug signals.
  - Fix hotplug polling so that it remains an option no matter what version of libddcutil is in use.
- Version 1.0.1
  - Use gcc with -Wformat-security for safety and to match Arch and Ubuntu defaults.
  - Calling ddca_init() before verify_i2c() to fix runtime error for libddcutil &gt;= 2.1.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1711972800">- 1.0.3
  - Reduce unnecessary logging.
  - Improve the description of the service's signals in ddcutil-service.1.
  - Correct the typo in option name --perfer-drm (it was mistakenly called --prefer-dma).
  - For simple VCP-features, only return the low-byte, for some VDUs the high-byte might contain junk.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1712923200">- 1.0.4
  - Provide an API flag RETURN_RAW_VALUES which disables GetVcp high-byte masking of Simple Non-Continuous features.
  - Provide the --return-raw-values command line option for the same purpose.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1714392000">- 1.0.6
  - Add SetVcp/SetVcpWithContext NO_VERIFY (no retry) flag option.
  - Match the behaviour of the ddcutil command, default to verify-and-retry for all set-vcp method calls.
  - Default to verify-and-retry for all libddcutil versions.
  - Replace the stateful DdcutilVerifySetVcp property with the stateless NO_VERIFY flag.
  - Fix the ServiceFlagOptions property so that it lists all flag options.
  - Check the status returned by libddcutil ddca_init() and exit on error to prevent any inconsistent behaviour.
  - Cleanup the --prefer-polling and --prefer-drm options to make them consistent with each other.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1715860800">- 1.0.7
  - Slightly improved setvcp diagnostics.
  - Fix methods failing with return code DDCRC_OTHER (-3022) when only some i2c devices are accessible.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1718280000">- 1.0.9
  - Fixed a GetCapabilitiesMetadata bug that caused some VCP features to lack metadata values.
  - Fixed the return of feature-name and feature-description from GetVcpMetadata.
  - Fixed potential hot-plug/DPMS polling memory leaks and simplified event locking.
  - Recoded hot-plug/DPMS polling to avoid a potential libddcutil assertion failure.
  - Fixed code/doc typos, improved code readability/structure, reduced IDE warnings.
  - Updated documentation to caution against excessive updates when coding loops, as this may impact VDU NVRAM lifespan.
  - Updated documentation to caution against experimenting with non-standard features, as it may risk damage to the VDU.</changelog>
</package>
<package pkgid="c94565ae0d148d52a0af97cae6d795444ff7f27f5be5d4b186a66928bde34ab1cf8040091c0bad894d417f23270f58af7bb6017d81a1675b05561c1d3cfe8ba1" name="ddcutil-service" arch="x86_64">
  <version epoch="0" ver="1.0.9" rel="1.1"/>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1705579200">- Version 1.0.0
  * Added an optional D-Bus interface to ddcutil for up 10x faster response times.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1709208000">- Version 1.0.2
  - Added VcpValueChanged D-Bus signal which triggers if the SetVcp method succeeds. This is to allow
    multiple clients to be aware of changes made by each.
  - Added SetVcpWithContext which accepts a client-context to be returned with the VcpValueChanged signal.
  - ServiceEmitSignals renamed to ServiceEmitConnectivitySignals to avoid confusion.
  - Command line option --emit-signals renamed to --emit-connectivity-signals for the same reason.
  - Fix ServiceEmitSignals property assignment so that it correctly toggles hotplug signals.
  - Fix hotplug polling so that it remains an option no matter what version of libddcutil is in use.
- Version 1.0.1
  - Use gcc with -Wformat-security for safety and to match Arch and Ubuntu defaults.
  - Calling ddca_init() before verify_i2c() to fix runtime error for libddcutil &gt;= 2.1.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1711972800">- 1.0.3
  - Reduce unnecessary logging.
  - Improve the description of the service's signals in ddcutil-service.1.
  - Correct the typo in option name --perfer-drm (it was mistakenly called --prefer-dma).
  - For simple VCP-features, only return the low-byte, for some VDUs the high-byte might contain junk.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1712923200">- 1.0.4
  - Provide an API flag RETURN_RAW_VALUES which disables GetVcp high-byte masking of Simple Non-Continuous features.
  - Provide the --return-raw-values command line option for the same purpose.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1714392000">- 1.0.6
  - Add SetVcp/SetVcpWithContext NO_VERIFY (no retry) flag option.
  - Match the behaviour of the ddcutil command, default to verify-and-retry for all set-vcp method calls.
  - Default to verify-and-retry for all libddcutil versions.
  - Replace the stateful DdcutilVerifySetVcp property with the stateless NO_VERIFY flag.
  - Fix the ServiceFlagOptions property so that it lists all flag options.
  - Check the status returned by libddcutil ddca_init() and exit on error to prevent any inconsistent behaviour.
  - Cleanup the --prefer-polling and --prefer-drm options to make them consistent with each other.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1715860800">- 1.0.7
  - Slightly improved setvcp diagnostics.
  - Fix methods failing with return code DDCRC_OTHER (-3022) when only some i2c devices are accessible.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1718280000">- 1.0.9
  - Fixed a GetCapabilitiesMetadata bug that caused some VCP features to lack metadata values.
  - Fixed the return of feature-name and feature-description from GetVcpMetadata.
  - Fixed potential hot-plug/DPMS polling memory leaks and simplified event locking.
  - Recoded hot-plug/DPMS polling to avoid a potential libddcutil assertion failure.
  - Fixed code/doc typos, improved code readability/structure, reduced IDE warnings.
  - Updated documentation to caution against excessive updates when coding loops, as this may impact VDU NVRAM lifespan.
  - Updated documentation to caution against experimenting with non-standard features, as it may risk damage to the VDU.</changelog>
</package>
<package pkgid="d41344ebc40acb9ec67b38f0ccb22f9e206f09c97029721276c55359f31106e8eb12102cddd2feb7a2d7fcaa6f5cefdf7bfe1f3c78817961aaa02d64051691a6" name="ddcutil-service-debuginfo" arch="x86_64">
  <version epoch="0" ver="1.0.9" rel="1.1"/>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1705579200">- Version 1.0.0
  * Added an optional D-Bus interface to ddcutil for up 10x faster response times.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1709208000">- Version 1.0.2
  - Added VcpValueChanged D-Bus signal which triggers if the SetVcp method succeeds. This is to allow
    multiple clients to be aware of changes made by each.
  - Added SetVcpWithContext which accepts a client-context to be returned with the VcpValueChanged signal.
  - ServiceEmitSignals renamed to ServiceEmitConnectivitySignals to avoid confusion.
  - Command line option --emit-signals renamed to --emit-connectivity-signals for the same reason.
  - Fix ServiceEmitSignals property assignment so that it correctly toggles hotplug signals.
  - Fix hotplug polling so that it remains an option no matter what version of libddcutil is in use.
- Version 1.0.1
  - Use gcc with -Wformat-security for safety and to match Arch and Ubuntu defaults.
  - Calling ddca_init() before verify_i2c() to fix runtime error for libddcutil &gt;= 2.1.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1711972800">- 1.0.3
  - Reduce unnecessary logging.
  - Improve the description of the service's signals in ddcutil-service.1.
  - Correct the typo in option name --perfer-drm (it was mistakenly called --prefer-dma).
  - For simple VCP-features, only return the low-byte, for some VDUs the high-byte might contain junk.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1712923200">- 1.0.4
  - Provide an API flag RETURN_RAW_VALUES which disables GetVcp high-byte masking of Simple Non-Continuous features.
  - Provide the --return-raw-values command line option for the same purpose.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1714392000">- 1.0.6
  - Add SetVcp/SetVcpWithContext NO_VERIFY (no retry) flag option.
  - Match the behaviour of the ddcutil command, default to verify-and-retry for all set-vcp method calls.
  - Default to verify-and-retry for all libddcutil versions.
  - Replace the stateful DdcutilVerifySetVcp property with the stateless NO_VERIFY flag.
  - Fix the ServiceFlagOptions property so that it lists all flag options.
  - Check the status returned by libddcutil ddca_init() and exit on error to prevent any inconsistent behaviour.
  - Cleanup the --prefer-polling and --prefer-drm options to make them consistent with each other.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1715860800">- 1.0.7
  - Slightly improved setvcp diagnostics.
  - Fix methods failing with return code DDCRC_OTHER (-3022) when only some i2c devices are accessible.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1718280000">- 1.0.9
  - Fixed a GetCapabilitiesMetadata bug that caused some VCP features to lack metadata values.
  - Fixed the return of feature-name and feature-description from GetVcpMetadata.
  - Fixed potential hot-plug/DPMS polling memory leaks and simplified event locking.
  - Recoded hot-plug/DPMS polling to avoid a potential libddcutil assertion failure.
  - Fixed code/doc typos, improved code readability/structure, reduced IDE warnings.
  - Updated documentation to caution against excessive updates when coding loops, as this may impact VDU NVRAM lifespan.
  - Updated documentation to caution against experimenting with non-standard features, as it may risk damage to the VDU.</changelog>
</package>
<package pkgid="7ce939eaa96fa17ec7543accac6cbd02ac27e8e85d9ce425b8a326418087868591a8999a9818dc5d1d8bfe85eff7bd1addcd2d94d95ef90f7b673190fa271a4b" name="ddcutil-service-debugsource" arch="x86_64">
  <version epoch="0" ver="1.0.9" rel="1.1"/>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1705579200">- Version 1.0.0
  * Added an optional D-Bus interface to ddcutil for up 10x faster response times.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1709208000">- Version 1.0.2
  - Added VcpValueChanged D-Bus signal which triggers if the SetVcp method succeeds. This is to allow
    multiple clients to be aware of changes made by each.
  - Added SetVcpWithContext which accepts a client-context to be returned with the VcpValueChanged signal.
  - ServiceEmitSignals renamed to ServiceEmitConnectivitySignals to avoid confusion.
  - Command line option --emit-signals renamed to --emit-connectivity-signals for the same reason.
  - Fix ServiceEmitSignals property assignment so that it correctly toggles hotplug signals.
  - Fix hotplug polling so that it remains an option no matter what version of libddcutil is in use.
- Version 1.0.1
  - Use gcc with -Wformat-security for safety and to match Arch and Ubuntu defaults.
  - Calling ddca_init() before verify_i2c() to fix runtime error for libddcutil &gt;= 2.1.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1711972800">- 1.0.3
  - Reduce unnecessary logging.
  - Improve the description of the service's signals in ddcutil-service.1.
  - Correct the typo in option name --perfer-drm (it was mistakenly called --prefer-dma).
  - For simple VCP-features, only return the low-byte, for some VDUs the high-byte might contain junk.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1712923200">- 1.0.4
  - Provide an API flag RETURN_RAW_VALUES which disables GetVcp high-byte masking of Simple Non-Continuous features.
  - Provide the --return-raw-values command line option for the same purpose.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1714392000">- 1.0.6
  - Add SetVcp/SetVcpWithContext NO_VERIFY (no retry) flag option.
  - Match the behaviour of the ddcutil command, default to verify-and-retry for all set-vcp method calls.
  - Default to verify-and-retry for all libddcutil versions.
  - Replace the stateful DdcutilVerifySetVcp property with the stateless NO_VERIFY flag.
  - Fix the ServiceFlagOptions property so that it lists all flag options.
  - Check the status returned by libddcutil ddca_init() and exit on error to prevent any inconsistent behaviour.
  - Cleanup the --prefer-polling and --prefer-drm options to make them consistent with each other.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1715860800">- 1.0.7
  - Slightly improved setvcp diagnostics.
  - Fix methods failing with return code DDCRC_OTHER (-3022) when only some i2c devices are accessible.</changelog>
  <changelog author="Michael Hamilton &lt;michael@actrix.gen.nz&gt;" date="1718280000">- 1.0.9
  - Fixed a GetCapabilitiesMetadata bug that caused some VCP features to lack metadata values.
  - Fixed the return of feature-name and feature-description from GetVcpMetadata.
  - Fixed potential hot-plug/DPMS polling memory leaks and simplified event locking.
  - Recoded hot-plug/DPMS polling to avoid a potential libddcutil assertion failure.
  - Fixed code/doc typos, improved code readability/structure, reduced IDE warnings.
  - Updated documentation to caution against excessive updates when coding loops, as this may impact VDU NVRAM lifespan.
  - Updated documentation to caution against experimenting with non-standard features, as it may risk damage to the VDU.</changelog>
</package>
<package pkgid="c58f90e128bda6ca0d6fa391b74e371d2f7c3006087ac8100f58bdc0acf2cbb753dcee6370d3a6b57da28ae0da7877693dfee23890e183f62035cc284671494c" name="debootstrap" arch="noarch">
  <version epoch="0" ver="1.0.136" rel="1.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1564228800">- Update version to 1.0.115:
  * See /usr/share/doc/packages/debootstrap/changelog</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1588507200">- Update version to 1.0.123:
  * See /usr/share/doc/packages/debootstrap/changelog</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1623067200">- Update to version 1.0.124
  * functions: Turn for loops variables into locals
  * functions: add zstd control&amp;data support to the ar extractor
  * stage1: re-mkdir /proc if it is a symlink instead of umount.
  * Add --inrelease-path option to allow specifying by-hash
    InRelease location.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670414400">- update to 1.0.128:
  * Make gbp tag produce the right tag format
  * Add (PureOS) byzantium as a symlink to amber
  * Add (PureOS) crimson as a symlink to amber
  * Support Packages files which are not ordered alphabetically by Package field
  * Apply "EXCLUDE_DEPENDENCY" during "resolve_deps"
  * debootstrap: optionally exclude specific dependencies
  * debian-common: exclude usrmerge when installing usr-is-merged
  * Enable usrmerge on hurd-i386 too.
  * add usrmerge support loongarch64.
  * Avoid duplicate components in `sources.list`.
  * Mount /dev/fd if the host is FreeBSD.
  * Update renamed lintian tag names in lintian overrides.
  * Update standards version to 4.6.0.1, no changes needed.
  * setup_merged_usr: create skip flag when merged-usr is disabled on bookworm+
  * Add usr-is-merged to the required set on testing/unstable
  * Ensure bookworm+ suites are set up with merged-usr.
  * functions (download_main): Let the loops try the different components and
    suites when the checksum doesn't match. This is needed when several of
    them contain the same package name.
  * Fix auto proxy discovery
  * Fix detection of docker container for cgroup v2
  * functions: define link_dir before using it.
  * Add (Debian) trixie as a symlink to sid.</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@proton.me&gt;" date="1690459200">- update to 1.0.128+nmu5:
  * Update PureOS bootstrap script
  * Improve error message when tar fails
  * fixes bug when http_proxy is unset
  * fallback if mounting /proc fails
  * defaulting to merged-usr on newer suites</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@proton.me&gt;" date="1696680000">- update to 1.0.132:
  * improve various tests
- update to 1.0.131:
  * Reinstate setup_merged_usr
- update to 1.0.130:
  * add --preserve-env option
  * add Trisquel distribution
  * add Pardus distribution
  * fix debootstrap --second-stage on native runs</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@proton.me&gt;" date="1701172800">- update to 1.0.133
  * stop changing user/group in Makefile
  * use mount from the outside to support chroots without mount installed
  * Let the buildd variant only install essential, build-essential and apt
- remove patch debootstrap-norootforbuild.patch as upstream integrated
  the patch</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@proton.me&gt;" date="1707652800">- update to 1.0.134
  * scripts/debian-common: install Priority:required with buildd variant
    for bookworm and earlier
  * error out if chroot cannot be found in $PATH
  * setup_devices: fall back to setup_devices_bind if setup_devices_simple
    failed irrespective of the container
  * Move "unshared" test from autopkgtest to salsaci pipeline
  * Implement support for repos with modern-style arch:all support
  * Add test for split-arch:all support
  * add various Ubuntu/Debian codenames</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@disroot.org&gt;" date="1718712000">- update to 1.0.135:
  * fix quoting to allow spaces in target directory
  * Use correct keyring and mirror for Ubuntu
  * Ubuntu: test for dpkg zstd support for Hirsute+
  * Remove hardcoded HTTPS mirror and use inline substitution
- add patch revert-symlink-removal.patch for not breaking workflows</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@disroot.org&gt;" date="1718712001">- update to 1.0.136:
  * reinstate Debian codename symlinks
  * drop unneeded addition of "test extras"
  * avoid setting DEF_MIRROR to https://https://...
- remove patch revert-symlink-removal.patch as it's unneeded now</changelog>
</package>
<package pkgid="cdade8c34ea3045f5b2436406a7f6451c3e97efea8b4ea3a1cabff7cde8aaef63b336417f86fb0f47de335b1b8def43161eb367921a72bf78bbe6123f963b83e" name="debootstrap" arch="src">
  <version epoch="0" ver="1.0.136" rel="1.1"/>
  <changelog author="thomasbechtold@jpberlin.de" date="1401710400">- update to 1.0.60
  * Add (Ubuntu) utopic as a symlink to gutsy.
  * Sync deb support with latest dpkg-deb (deb#739136):
  - Add uncompressed data.tar deb member support.
  - Add uncompressed and xz control.tar deb member support.</changelog>
  <changelog author="sleep_walker@suse.cz" date="1416830400">- bump to 1.0.65
  * Add support for stretch.
  * Add (Ubuntu) vivid as a symlink to gutsy.
  * Move set -e out of shebang line. Closes: #762713
  * Fix reporting of package version in retrieval and validation steps
    to cope with epochs.
  * Fix "possibly the package $pkg is at fault" warnings to account for
    changed error output in dpkg 1.17.2.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1426939200">- Update to 1.0.67 (changes since 1.0.65):
  * Support reproducible builds: specify a modification time on the
    tar side, and add the -n option to gzip
  * Update setup_apt_sources to look at USE_COMPONENTS if COMPONENTS
    is empty, fixing the empty sources.list bug with foreign
    architectures.
- Spec cleanup.</changelog>
  <changelog author="sleep_walker@suse.cz" date="1434283200">- bump to 1.0.70
  * Use tr instead of (missing in d-i) xargs (Closes:
    [#785693]). Thanks, Julian Schauder!
  * Make sure to deduplicate package list in download_release to
    avoid issues while counting downloaded packages. The failure
    path could lead to printing some strange integer (Closes:
    [#709751], #768445, #785276, #774752).  This was reported to
    mostly happen whenever --no-resolve-deps is used.
  * Add support for --force-check-gpg so that one can
    programmatically make sure keyring checks are used and that
    no fallback to an https mirror happens (Closes: #661501,
    [#733179], #775454).  * Switch default mirror from
    ftp.us.debian.org to the new, official http redirector
    service: httpredir.debian.org
  * Make it possible to override the MAKEDEV variable (Closes: #734743).
    Thanks, Wookey!
  * Update Standards to 3.9.6 (checked)
  * Support the jessie-kfreebsd suite, by using the same script as
    jessie (a symlink to sid) (Closes: #784927).</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1438776000">- Update to 1.0.72 (changes since 1.0.70):
  * Adjust sed call to render it more portable (missing ';'),
    making it work with FreeBSD sed.
  * Add (Ubuntu) wily as a symlink to gutsy.
  * Fix resolve_deps and setup_available to work in the --foreign
    case.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1446292800">- Update to 1.0.73:
  * Generate a deburis file with (package, version, uri) tuples,
    similar to the existing debpaths.</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1448280000">- Update to 1.0.75 (changes since 1.0.73):
  * Add (Ubuntu) xenial as a symlink to gutsy.
  * Stop cleaning KEEP_DEBOOTSTRAP_DIR twice (deb#804415).
  * Add Tanglu support (deb#771687). At the moment, the following
    extra suites are recognised:
  - aequorea
  - bartholomea
  - chromodoris
  - dasyatis</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1457179200">- Update to 1.0.79 (changes since 1.0.75):
  * Stop creating useless device nodes (deb#571136).
  * Fix permissions on device nodes (deb#812811, deb#813124).
  * Use HTTPS for Vcs-* URLs, and link to cgit rather than gitweb.
  * Split setup_devices in setup_devices (which now only deals with
    static device nodes) and setup_dynamic_devices, and move the
    calls to setup_devices from the beginning of the second stage to
    the end of the first stage.
    setup_dynamic_devices mounts the appropriate filesystems which
    provide dynamic device nodes for the architectures which need
    one in debootstrap (kfreebsd and hurd).
  * hurd: move setting up dev and servers firmlink to setup_proc
    stage. Also firmlink proc there (deb#768102).</changelog>
  <changelog author="mchandras@suse.de" date="1498651200">- Version bump to 1.0.90
  * Add (Ubuntu) artful as a symlink to gutsy.
  * Improve /dev/ptmx handling (deb#817236)
  * Add autopkgtest support to test various scenarios.
  * Uniformize COMPONENTS/USE_COMPONENTS handling.
  * Strip the arch-qualifier (deb#836525)
  * Default to split /usr again, as merged-/usr breaks dpkg-shlibdeps (deb#844221)
  * remove scratchbox2 support (deb#796189)
  * Reword split_inline_sig (deb#842591)
  * Add support for downloading and validating InRelease files, by splitting
    up detached signature from signed data.
  * Switch default mirror to deb.debian.org.
  * Add (Ubuntu) zesty as a symlink to gutsy.
  * Add jessie-kfreebsd to merged-/usr blacklist.
  * No longer Build-Depend on makedev. The code using it was already
    removed in debootstrap 1.0.82.
  * Do not use `tar -k` for older releases which might have file
    conflicts between the packages to be installed. (deb#838388)
  * Error out when seeing short options. (deb#548880)
  * Add oldoldstable -&gt; sid script symlink. (deb#792734)
  * Add buster -&gt; sid and bullseye -&gt; sid script symlinks.
  * Only unpack and configure the base system when there are actually
    packages to install. (deb#825034)
  * debootstrap.8: Use stretch instead of wheezy in examples.
  * Enable merged-/usr by default. (deb#839046)
  * Add support for xz-compressed Packages indices. (deb#837649)
  * functions: Validate that the requested suite is listed in the
    Release file's Suite or Codename field. (deb#837075)
  * Add support for merged-/usr, enabled by a new --merged-usr option (deb#810301)
    Feign install of dpkg in second stage. This avoids problems when
    using dpkg-deb together with busybox' tar. (deb#837185)
  * Excise all devices.tar.gz code. (deb#830869)
  * Add (Ubuntu) yakkety as a symlink to gutsy.
  * scripts/gutsy: Support kfreebsd &amp; hurd arches on Ubuntu targets (deb#818748)
- Remove obsolete devices.tar.gz file</changelog>
  <changelog author="sor.alexei@meowr.ru" date="1498651201">- Update version to 1.0.97 (changes since 1.0.90):
  * Avoid the "type" shell command (deb#860545).
  * Add (Ubuntu) bionic as a symlink to gutsy.
  * scripts/gutsy: Incorporate changes from Ubuntu:
    + Synch from scripts/sid.
    + Fix debootstrap --variant=fakechroot failure because
    initscripts is no longer part of the base system.
  * Use force_md5 for breezy, dapper and edgy (deb#659360,
    deb#676373). Now you can create Ubuntu breezy/dapper/edgy chroot.
  * Change repository URI for old Ubuntu releases (deb#676370,
    deb#839073).
    Archived Ubuntu releases are at old-releases.ubuntu.com/ubuntu
  * Set correct keyring and default mirror for old debian releases.
    Now you can fetch popato/woody/sarge/etch/lenny/squeeze if you
    want (deb#891404, deb#600647, deb#792729).
  * Avoid pre-exist directory causes failure (deb#864734).
  * Split common code from scripts/sid to scripts/debian-common and
    share it between distributions (deb#798562).
  * Don't let host PATH leak into the target commands. It works on
    chroots that have different PATH like Arch Linux and Fedora
    (deb#718632, deb#770658, deb#890418).
  * Escape spaces to fix debootstrap on path contains space fails
    (deb#586158, deb#762431).
  * Add warning if file specified via --keyring does not exist
    (deb#754318, deb#775474).
  * Avoid unnecessary keyring warning with --second-stage option
    (deb#734324).
  * Output warning if falling back to sha1 (deb#775444).
  * Prevent unintended removal with --print-debs option
    (deb#833525).
  * Add scripts for Kali Linux (deb#798564).
  * Improve manpage description for --{unpack,make}-tarball options
    (deb#563647).
  * Fix multiple components usage for --foreign/--second-stage
    (deb#806780).
  * Try to auto-detect proxy if available
    (e.g. squid-deb-proxy-client) (deb#732628).
  * Handle existing /dev (deb#872577).
  * Create /dev/console as same as previous (deb#872059).
  * Do not ignore HTTPS mirror setting (deb#893954).
  * Improve manpage "what is calls a Debian base system" (deb#872948).
  * Improve the error message when download fails (deb#866401).
  * Use wget --non-verbose option instead of --quiet.
  * Improve error message on Release signed by unknown key
    (deb#698677).
  * Add a --cache-dir feature (deb#844118)
    It is enabled by default and uses /var/cache/apt/archives as a
    default value.
  * Use arch-test if installed to check whether second stage is
    possible (deb#826709).
  * Fix boostrapping libvirt LXC containers (deb#890419).
  * Use "command -v apt-config" to check for apt-config's presence
    (deb#895466).
  * Drop default value for the --cache-dir parameter.
  * Forbid the usage of non-empty directories with --print-debs and
  - -make-tarball.
  * Do not use HTTPS for the Kali bootstrap script.
- Add a missing wget depenendency.</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1564228800">- Update version to 1.0.115:
  * See /usr/share/doc/packages/debootstrap/changelog</changelog>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1588507200">- Update version to 1.0.123:
  * See /usr/share/doc/packages/debootstrap/changelog</changelog>
  <changelog author="Ferdinand Thiessen &lt;rpm@fthiessen.de&gt;" date="1623067200">- Update to version 1.0.124
  * functions: Turn for loops variables into locals
  * functions: add zstd control&amp;data support to the ar extractor
  * stage1: re-mkdir /proc if it is a symlink instead of umount.
  * Add --inrelease-path option to allow specifying by-hash
    InRelease location.</changelog>
  <changelog author="Dirk M&#xFC;ller &lt;dmueller@suse.com&gt;" date="1670414400">- update to 1.0.128:
  * Make gbp tag produce the right tag format
  * Add (PureOS) byzantium as a symlink to amber
  * Add (PureOS) crimson as a symlink to amber
  * Support Packages files which are not ordered alphabetically by Package field
  * Apply "EXCLUDE_DEPENDENCY" during "resolve_deps"
  * debootstrap: optionally exclude specific dependencies
  * debian-common: exclude usrmerge when installing usr-is-merged
  * Enable usrmerge on hurd-i386 too.
  * add usrmerge support loongarch64.
  * Avoid duplicate components in `sources.list`.
  * Mount /dev/fd if the host is FreeBSD.
  * Update renamed lintian tag names in lintian overrides.
  * Update standards version to 4.6.0.1, no changes needed.
  * setup_merged_usr: create skip flag when merged-usr is disabled on bookworm+
  * Add usr-is-merged to the required set on testing/unstable
  * Ensure bookworm+ suites are set up with merged-usr.
  * functions (download_main): Let the loops try the different components and
    suites when the checksum doesn't match. This is needed when several of
    them contain the same package name.
  * Fix auto proxy discovery
  * Fix detection of docker container for cgroup v2
  * functions: define link_dir before using it.
  * Add (Debian) trixie as a symlink to sid.</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@proton.me&gt;" date="1690459200">- update to 1.0.128+nmu5:
  * Update PureOS bootstrap script
  * Improve error message when tar fails
  * fixes bug when http_proxy is unset
  * fallback if mounting /proc fails
  * defaulting to merged-usr on newer suites</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@proton.me&gt;" date="1696680000">- update to 1.0.132:
  * improve various tests
- update to 1.0.131:
  * Reinstate setup_merged_usr
- update to 1.0.130:
  * add --preserve-env option
  * add Trisquel distribution
  * add Pardus distribution
  * fix debootstrap --second-stage on native runs</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@proton.me&gt;" date="1701172800">- update to 1.0.133
  * stop changing user/group in Makefile
  * use mount from the outside to support chroots without mount installed
  * Let the buildd variant only install essential, build-essential and apt
- remove patch debootstrap-norootforbuild.patch as upstream integrated
  the patch</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@proton.me&gt;" date="1707652800">- update to 1.0.134
  * scripts/debian-common: install Priority:required with buildd variant
    for bookworm and earlier
  * error out if chroot cannot be found in $PATH
  * setup_devices: fall back to setup_devices_bind if setup_devices_simple
    failed irrespective of the container
  * Move "unshared" test from autopkgtest to salsaci pipeline
  * Implement support for repos with modern-style arch:all support
  * Add test for split-arch:all support
  * add various Ubuntu/Debian codenames</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@disroot.org&gt;" date="1718712000">- update to 1.0.135:
  * fix quoting to allow spaces in target directory
  * Use correct keyring and mirror for Ubuntu
  * Ubuntu: test for dpkg zstd support for Hirsute+
  * Remove hardcoded HTTPS mirror and use inline substitution
- add patch revert-symlink-removal.patch for not breaking workflows</changelog>
  <changelog author="Richard Rahl &lt;rrahl0@disroot.org&gt;" date="1718712001">- update to 1.0.136:
  * reinstate Debian codename symlinks
  * drop unneeded addition of "test extras"
  * avoid setting DEF_MIRROR to https://https://...
- remove patch revert-symlink-removal.patch as it's unneeded now</changelog>
</package>
<package pkgid="8bfb3e9d1797a630b377243135a378c1b19bd96113f7c60de1e659d8b9fc2b0560c40f26f069ca90d573f371beee60700bc4375535308d910b8376a436cf7482" name="deepin-desktop" arch="x86_64">
  <version epoch="0" ver="5.6.4" rel="5.1"/>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1613995200">- Update version to 5.2.0.87
  * The fresh ui
  * Fix bugs
- Add fix-return-type-error.patch, fix return type for doctotext
- Drop Fix-redefinition-error.patch, merged by upstream</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1614772800">- Add 002-use-Q_GLOBAL_STATIC.patch. Fix segmentation fault</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1623067200">- Update version to 5.2.18
  * Fix bugs
  * Add manual document
  * Change copyright
  * Update translations
- Drop 002-use-Q_GLOBAL_STATIC.patch, merged by upstream
- Drop disable-dmr.patch, enable dmr for arm
- Add fix-header-include.patch, dfsearch is necessary</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1627473600">- Update versiion to 5.2.24
  * Optimize ui
  * feat: a new disc burn mode which is compatible with windows' cd/dvd burn mode
  * Update manunal document
  * Fix bugs</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630670400">- Added hardening to systemd service(s). Added patch(es):
  * harden_dde-filemanager-daemon.service.patch</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1639656000">- Update version to 5.5.1
  * Fix bugs
  * Update translations
  * Add new feature for document content: support markdown</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1645531200">- Update version to 5.5.3
  * Bring docparser
  * Update translations
  * Update manual documents
  * Fix bugs
- Drop fix-return-type-error.patch, fixed by upstream</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1648728000">- No longer pin to GCC10: the code builds just fine using GCC11
  too, so let's use the distro default compiler.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1650283200">- Update version to 5.5.10
  * Update documents
  * Fix bugs</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1653998400">- Add gcc-12.patch, fix gcc 12 build</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1656504000">- Update version to 5.6.4
  * Optimize text box length
  * Optimize draging for list mode
  * Fix bugs
  * Update translations</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1663675200">- Fix filelist</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1664193600">- Fix build on Tumbleweed</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1664539200">- Fix file list for %arm</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1709640000">- Add update-taglib-interface.patch, fix build on new taglib</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1717156800">- Add fix-build-on-icu-75.patch, icu 75 needs c++17</changelog>
</package>
<package pkgid="b1d3e2eeac9796122e8af601b144b3e66e654758f808e076f4d4921a020eb130d5dc5a65ca4113131f8b2a76ad1e1fcd9d3ffe1d4e5f800d009b2d83c5235337" name="deepin-desktop-debuginfo" arch="x86_64">
  <version epoch="0" ver="5.6.4" rel="5.1"/>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1613995200">- Update version to 5.2.0.87
  * The fresh ui
  * Fix bugs
- Add fix-return-type-error.patch, fix return type for doctotext
- Drop Fix-redefinition-error.patch, merged by upstream</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1614772800">- Add 002-use-Q_GLOBAL_STATIC.patch. Fix segmentation fault</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1623067200">- Update version to 5.2.18
  * Fix bugs
  * Add manual document
  * Change copyright
  * Update translations
- Drop 002-use-Q_GLOBAL_STATIC.patch, merged by upstream
- Drop disable-dmr.patch, enable dmr for arm
- Add fix-header-include.patch, dfsearch is necessary</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1627473600">- Update versiion to 5.2.24
  * Optimize ui
  * feat: a new disc burn mode which is compatible with windows' cd/dvd burn mode
  * Update manunal document
  * Fix bugs</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630670400">- Added hardening to systemd service(s). Added patch(es):
  * harden_dde-filemanager-daemon.service.patch</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1639656000">- Update version to 5.5.1
  * Fix bugs
  * Update translations
  * Add new feature for document content: support markdown</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1645531200">- Update version to 5.5.3
  * Bring docparser
  * Update translations
  * Update manual documents
  * Fix bugs
- Drop fix-return-type-error.patch, fixed by upstream</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1648728000">- No longer pin to GCC10: the code builds just fine using GCC11
  too, so let's use the distro default compiler.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1650283200">- Update version to 5.5.10
  * Update documents
  * Fix bugs</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1653998400">- Add gcc-12.patch, fix gcc 12 build</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1656504000">- Update version to 5.6.4
  * Optimize text box length
  * Optimize draging for list mode
  * Fix bugs
  * Update translations</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1663675200">- Fix filelist</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1664193600">- Fix build on Tumbleweed</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1664539200">- Fix file list for %arm</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1709640000">- Add update-taglib-interface.patch, fix build on new taglib</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1717156800">- Add fix-build-on-icu-75.patch, icu 75 needs c++17</changelog>
</package>
<package pkgid="811035977045f8a7d3b8bdd904ddd8e50a4d739e9da81d39cf0a3a25a8fb4a8899f1b3fa8e5d80c36dd2995d6bcd7aa8dea78f15819765879070d2152776cd02" name="deepin-file-manager" arch="src">
  <version epoch="0" ver="5.6.4" rel="5.1"/>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1564056000">- Update version to 4.8.8.1
  * Support Qt 5.13
  * Fix crash at PropertyDialog
  * Add error message for insufficient disc space
  * Add image burning</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1564574400">- Update version to 5.0.0
  * Fix redirect source urls before pasting them
  * Feat: block shutdown/sleep when there are paste event
  * Fix not check media if burn fails.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1575288000">- Disable deepin movie plugin in ARM64. Add disable-dmr.patch</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1579953600">- Add Fix-redefinition-error.patch
  * Fix redefinition of 'struct std::hash&lt;QString&gt;' error</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1613995200">- Update version to 5.2.0.87
  * The fresh ui
  * Fix bugs
- Add fix-return-type-error.patch, fix return type for doctotext
- Drop Fix-redefinition-error.patch, merged by upstream</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1614772800">- Add 002-use-Q_GLOBAL_STATIC.patch. Fix segmentation fault</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1623067200">- Update version to 5.2.18
  * Fix bugs
  * Add manual document
  * Change copyright
  * Update translations
- Drop 002-use-Q_GLOBAL_STATIC.patch, merged by upstream
- Drop disable-dmr.patch, enable dmr for arm
- Add fix-header-include.patch, dfsearch is necessary</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1627473600">- Update versiion to 5.2.24
  * Optimize ui
  * feat: a new disc burn mode which is compatible with windows' cd/dvd burn mode
  * Update manunal document
  * Fix bugs</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630670400">- Added hardening to systemd service(s). Added patch(es):
  * harden_dde-filemanager-daemon.service.patch</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1639656000">- Update version to 5.5.1
  * Fix bugs
  * Update translations
  * Add new feature for document content: support markdown</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1645531200">- Update version to 5.5.3
  * Bring docparser
  * Update translations
  * Update manual documents
  * Fix bugs
- Drop fix-return-type-error.patch, fixed by upstream</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1648728000">- No longer pin to GCC10: the code builds just fine using GCC11
  too, so let's use the distro default compiler.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1650283200">- Update version to 5.5.10
  * Update documents
  * Fix bugs</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1653998400">- Add gcc-12.patch, fix gcc 12 build</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1656504000">- Update version to 5.6.4
  * Optimize text box length
  * Optimize draging for list mode
  * Fix bugs
  * Update translations</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1663675200">- Fix filelist</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1664193600">- Fix build on Tumbleweed</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1664539200">- Fix file list for %arm</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1709640000">- Add update-taglib-interface.patch, fix build on new taglib</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1717156800">- Add fix-build-on-icu-75.patch, icu 75 needs c++17</changelog>
</package>
<package pkgid="8a2ce8cc97254ebfc7c9738131caa7f1300b0aa597b6810b47c2d6b2aa2c483ab8fade351d86afcf4cae0e82494fc73566861fc50f49ab139e2736dbb7ff3f3b" name="deepin-file-manager" arch="x86_64">
  <version epoch="0" ver="5.6.4" rel="5.1"/>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1613995200">- Update version to 5.2.0.87
  * The fresh ui
  * Fix bugs
- Add fix-return-type-error.patch, fix return type for doctotext
- Drop Fix-redefinition-error.patch, merged by upstream</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1614772800">- Add 002-use-Q_GLOBAL_STATIC.patch. Fix segmentation fault</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1623067200">- Update version to 5.2.18
  * Fix bugs
  * Add manual document
  * Change copyright
  * Update translations
- Drop 002-use-Q_GLOBAL_STATIC.patch, merged by upstream
- Drop disable-dmr.patch, enable dmr for arm
- Add fix-header-include.patch, dfsearch is necessary</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1627473600">- Update versiion to 5.2.24
  * Optimize ui
  * feat: a new disc burn mode which is compatible with windows' cd/dvd burn mode
  * Update manunal document
  * Fix bugs</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630670400">- Added hardening to systemd service(s). Added patch(es):
  * harden_dde-filemanager-daemon.service.patch</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1639656000">- Update version to 5.5.1
  * Fix bugs
  * Update translations
  * Add new feature for document content: support markdown</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1645531200">- Update version to 5.5.3
  * Bring docparser
  * Update translations
  * Update manual documents
  * Fix bugs
- Drop fix-return-type-error.patch, fixed by upstream</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1648728000">- No longer pin to GCC10: the code builds just fine using GCC11
  too, so let's use the distro default compiler.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1650283200">- Update version to 5.5.10
  * Update documents
  * Fix bugs</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1653998400">- Add gcc-12.patch, fix gcc 12 build</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1656504000">- Update version to 5.6.4
  * Optimize text box length
  * Optimize draging for list mode
  * Fix bugs
  * Update translations</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1663675200">- Fix filelist</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1664193600">- Fix build on Tumbleweed</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1664539200">- Fix file list for %arm</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1709640000">- Add update-taglib-interface.patch, fix build on new taglib</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1717156800">- Add fix-build-on-icu-75.patch, icu 75 needs c++17</changelog>
</package>
<package pkgid="e917ab8868222cc539ca141bc0418e64b73a2000ffbabbd5ccd476da39e80f7accc9b143a3e7be787e1caa86fa984881f537a6f6cfcf4bbbcd14294bda9e502a" name="deepin-file-manager-dbus" arch="noarch">
  <version epoch="0" ver="5.6.4" rel="5.1"/>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1613995200">- Update version to 5.2.0.87
  * The fresh ui
  * Fix bugs
- Add fix-return-type-error.patch, fix return type for doctotext
- Drop Fix-redefinition-error.patch, merged by upstream</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1614772800">- Add 002-use-Q_GLOBAL_STATIC.patch. Fix segmentation fault</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1623067200">- Update version to 5.2.18
  * Fix bugs
  * Add manual document
  * Change copyright
  * Update translations
- Drop 002-use-Q_GLOBAL_STATIC.patch, merged by upstream
- Drop disable-dmr.patch, enable dmr for arm
- Add fix-header-include.patch, dfsearch is necessary</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1627473600">- Update versiion to 5.2.24
  * Optimize ui
  * feat: a new disc burn mode which is compatible with windows' cd/dvd burn mode
  * Update manunal document
  * Fix bugs</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630670400">- Added hardening to systemd service(s). Added patch(es):
  * harden_dde-filemanager-daemon.service.patch</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1639656000">- Update version to 5.5.1
  * Fix bugs
  * Update translations
  * Add new feature for document content: support markdown</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1645531200">- Update version to 5.5.3
  * Bring docparser
  * Update translations
  * Update manual documents
  * Fix bugs
- Drop fix-return-type-error.patch, fixed by upstream</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1648728000">- No longer pin to GCC10: the code builds just fine using GCC11
  too, so let's use the distro default compiler.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1650283200">- Update version to 5.5.10
  * Update documents
  * Fix bugs</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1653998400">- Add gcc-12.patch, fix gcc 12 build</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1656504000">- Update version to 5.6.4
  * Optimize text box length
  * Optimize draging for list mode
  * Fix bugs
  * Update translations</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1663675200">- Fix filelist</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1664193600">- Fix build on Tumbleweed</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1664539200">- Fix file list for %arm</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1709640000">- Add update-taglib-interface.patch, fix build on new taglib</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1717156800">- Add fix-build-on-icu-75.patch, icu 75 needs c++17</changelog>
</package>
<package pkgid="f9a4a193d68abd9ebe8e502aa619aa52bbc362f2f18ef78744c2c76e06375e85826cf24d476c8061e2b7213b1dedaf562a429ee0fcb2d9f5863f1f4f3627da55" name="deepin-file-manager-debuginfo" arch="x86_64">
  <version epoch="0" ver="5.6.4" rel="5.1"/>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1613995200">- Update version to 5.2.0.87
  * The fresh ui
  * Fix bugs
- Add fix-return-type-error.patch, fix return type for doctotext
- Drop Fix-redefinition-error.patch, merged by upstream</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1614772800">- Add 002-use-Q_GLOBAL_STATIC.patch. Fix segmentation fault</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1623067200">- Update version to 5.2.18
  * Fix bugs
  * Add manual document
  * Change copyright
  * Update translations
- Drop 002-use-Q_GLOBAL_STATIC.patch, merged by upstream
- Drop disable-dmr.patch, enable dmr for arm
- Add fix-header-include.patch, dfsearch is necessary</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1627473600">- Update versiion to 5.2.24
  * Optimize ui
  * feat: a new disc burn mode which is compatible with windows' cd/dvd burn mode
  * Update manunal document
  * Fix bugs</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630670400">- Added hardening to systemd service(s). Added patch(es):
  * harden_dde-filemanager-daemon.service.patch</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1639656000">- Update version to 5.5.1
  * Fix bugs
  * Update translations
  * Add new feature for document content: support markdown</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1645531200">- Update version to 5.5.3
  * Bring docparser
  * Update translations
  * Update manual documents
  * Fix bugs
- Drop fix-return-type-error.patch, fixed by upstream</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1648728000">- No longer pin to GCC10: the code builds just fine using GCC11
  too, so let's use the distro default compiler.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1650283200">- Update version to 5.5.10
  * Update documents
  * Fix bugs</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1653998400">- Add gcc-12.patch, fix gcc 12 build</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1656504000">- Update version to 5.6.4
  * Optimize text box length
  * Optimize draging for list mode
  * Fix bugs
  * Update translations</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1663675200">- Fix filelist</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1664193600">- Fix build on Tumbleweed</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1664539200">- Fix file list for %arm</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1709640000">- Add update-taglib-interface.patch, fix build on new taglib</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1717156800">- Add fix-build-on-icu-75.patch, icu 75 needs c++17</changelog>
</package>
<package pkgid="a4a81dce4ca477cbb1ecc847813a3bf7a30911c99720be4203430959f2b858f952e588ba6820fd80f199f4852265a05360e3b7179c51e09fde66b236696a65e7" name="deepin-file-manager-devel" arch="x86_64">
  <version epoch="0" ver="5.6.4" rel="5.1"/>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1613995200">- Update version to 5.2.0.87
  * The fresh ui
  * Fix bugs
- Add fix-return-type-error.patch, fix return type for doctotext
- Drop Fix-redefinition-error.patch, merged by upstream</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1614772800">- Add 002-use-Q_GLOBAL_STATIC.patch. Fix segmentation fault</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1623067200">- Update version to 5.2.18
  * Fix bugs
  * Add manual document
  * Change copyright
  * Update translations
- Drop 002-use-Q_GLOBAL_STATIC.patch, merged by upstream
- Drop disable-dmr.patch, enable dmr for arm
- Add fix-header-include.patch, dfsearch is necessary</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1627473600">- Update versiion to 5.2.24
  * Optimize ui
  * feat: a new disc burn mode which is compatible with windows' cd/dvd burn mode
  * Update manunal document
  * Fix bugs</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630670400">- Added hardening to systemd service(s). Added patch(es):
  * harden_dde-filemanager-daemon.service.patch</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1639656000">- Update version to 5.5.1
  * Fix bugs
  * Update translations
  * Add new feature for document content: support markdown</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1645531200">- Update version to 5.5.3
  * Bring docparser
  * Update translations
  * Update manual documents
  * Fix bugs
- Drop fix-return-type-error.patch, fixed by upstream</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1648728000">- No longer pin to GCC10: the code builds just fine using GCC11
  too, so let's use the distro default compiler.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1650283200">- Update version to 5.5.10
  * Update documents
  * Fix bugs</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1653998400">- Add gcc-12.patch, fix gcc 12 build</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1656504000">- Update version to 5.6.4
  * Optimize text box length
  * Optimize draging for list mode
  * Fix bugs
  * Update translations</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1663675200">- Fix filelist</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1664193600">- Fix build on Tumbleweed</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1664539200">- Fix file list for %arm</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1709640000">- Add update-taglib-interface.patch, fix build on new taglib</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1717156800">- Add fix-build-on-icu-75.patch, icu 75 needs c++17</changelog>
</package>
<package pkgid="6f085b02912d49819d8f69bebff63d133581a9e1925557a0212b6faa02562b640515a13de659ddfde767418bdae414dc684de2aacb3f315a5982cfc20010bc98" name="deepin-file-manager-lang" arch="noarch">
  <version epoch="0" ver="5.6.4" rel="5.1"/>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1613995200">- Update version to 5.2.0.87
  * The fresh ui
  * Fix bugs
- Add fix-return-type-error.patch, fix return type for doctotext
- Drop Fix-redefinition-error.patch, merged by upstream</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1614772800">- Add 002-use-Q_GLOBAL_STATIC.patch. Fix segmentation fault</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1623067200">- Update version to 5.2.18
  * Fix bugs
  * Add manual document
  * Change copyright
  * Update translations
- Drop 002-use-Q_GLOBAL_STATIC.patch, merged by upstream
- Drop disable-dmr.patch, enable dmr for arm
- Add fix-header-include.patch, dfsearch is necessary</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1627473600">- Update versiion to 5.2.24
  * Optimize ui
  * feat: a new disc burn mode which is compatible with windows' cd/dvd burn mode
  * Update manunal document
  * Fix bugs</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630670400">- Added hardening to systemd service(s). Added patch(es):
  * harden_dde-filemanager-daemon.service.patch</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1639656000">- Update version to 5.5.1
  * Fix bugs
  * Update translations
  * Add new feature for document content: support markdown</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1645531200">- Update version to 5.5.3
  * Bring docparser
  * Update translations
  * Update manual documents
  * Fix bugs
- Drop fix-return-type-error.patch, fixed by upstream</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1648728000">- No longer pin to GCC10: the code builds just fine using GCC11
  too, so let's use the distro default compiler.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1650283200">- Update version to 5.5.10
  * Update documents
  * Fix bugs</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1653998400">- Add gcc-12.patch, fix gcc 12 build</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1656504000">- Update version to 5.6.4
  * Optimize text box length
  * Optimize draging for list mode
  * Fix bugs
  * Update translations</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1663675200">- Fix filelist</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1664193600">- Fix build on Tumbleweed</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1664539200">- Fix file list for %arm</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1709640000">- Add update-taglib-interface.patch, fix build on new taglib</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1717156800">- Add fix-build-on-icu-75.patch, icu 75 needs c++17</changelog>
</package>
<package pkgid="4a96cf3a25db1e655619448609dc86e7ef81c2bb28e0dc2c31f2086f2cd38aa0c7ee335e9bf8497b4f0030f2cbb5fdc7f5f417ce7c8fab02195e4dc76a71bdec" name="deepin-file-manager-polkit" arch="noarch">
  <version epoch="0" ver="5.6.4" rel="5.1"/>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1613995200">- Update version to 5.2.0.87
  * The fresh ui
  * Fix bugs
- Add fix-return-type-error.patch, fix return type for doctotext
- Drop Fix-redefinition-error.patch, merged by upstream</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1614772800">- Add 002-use-Q_GLOBAL_STATIC.patch. Fix segmentation fault</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1623067200">- Update version to 5.2.18
  * Fix bugs
  * Add manual document
  * Change copyright
  * Update translations
- Drop 002-use-Q_GLOBAL_STATIC.patch, merged by upstream
- Drop disable-dmr.patch, enable dmr for arm
- Add fix-header-include.patch, dfsearch is necessary</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1627473600">- Update versiion to 5.2.24
  * Optimize ui
  * feat: a new disc burn mode which is compatible with windows' cd/dvd burn mode
  * Update manunal document
  * Fix bugs</changelog>
  <changelog author="Johannes Segitz &lt;jsegitz@suse.com&gt;" date="1630670400">- Added hardening to systemd service(s). Added patch(es):
  * harden_dde-filemanager-daemon.service.patch</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1639656000">- Update version to 5.5.1
  * Fix bugs
  * Update translations
  * Add new feature for document content: support markdown</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1645531200">- Update version to 5.5.3
  * Bring docparser
  * Update translations
  * Update manual documents
  * Fix bugs
- Drop fix-return-type-error.patch, fixed by upstream</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1648728000">- No longer pin to GCC10: the code builds just fine using GCC11
  too, so let's use the distro default compiler.</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1650283200">- Update version to 5.5.10
  * Update documents
  * Fix bugs</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1653998400">- Add gcc-12.patch, fix gcc 12 build</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1656504000">- Update version to 5.6.4
  * Optimize text box length
  * Optimize draging for list mode
  * Fix bugs
  * Update translations</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1663675200">- Fix filelist</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1664193600">- Fix build on Tumbleweed</changelog>
  <changelog author="Guillaume GARDET &lt;guillaume.gardet@opensuse.org&gt;" date="1664539200">- Fix file list for %arm</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1709640000">- Add update-taglib-interface.patch, fix build on new taglib</changelog>
  <changelog author="Hillwood Yang &lt;hillwood@opensuse.org&gt;" date="1717156800">- Add fix-build-on-icu-75.patch, icu 75 needs c++17</changelog>
</package>
<package pkgid="c148e3d6161328f42642cff3c3820c232b0f368f713ae217e5bd7392db0a7bdb546c6494b3d9b7b42c8cdb214f2bb3365bf29d5c33c6a7b2009e73b25f0ee350" name="device-mapper" arch="i586">
  <version epoch="0" ver="2.03.24_1.02.198" rel="2.1"/>
  <changelog author="heming.zhao@suse.com" date="1626177600">- lvm2: double free or corruption with invalid LVM_SYSTEM_DIR breaks guestfs-tools (bsc#1188141)
  + bug-1188141_toolcontext-fix-double-free-core-dumped-issue.patch
- replace exist patch with bug fixed patches
  - (remove) fate-31841_fsadm-add-support-for-btrfs.patch
  + (add) fate-31841-01_fsadm-add-support-to-resize-check-btrfs-filesystem.patch
  + (add) fate-31841-02_man-add-support-for-btrfs.patch
  + (add) fate-31841-03_tests-new-test-suite-of-fsadm-for-btrfs.patch</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1628683200">- Add lvm2-rpmlintrc where we skip all rpmlint issue for lvm2-testsuite package
  (bsc#1179047).</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1643716800">- udev: create symlinks and watch even in suspended state (bsc#1195231)
  + (add) 0043-udev-create-symlinks-and-watch-even-in-suspended-sta.patch</changelog>
  <changelog author="heming.zhao@suse.com" date="1646136000">- Update lvm2 from LVM2.2.03.12 to LVM2.2.03.15
  * ** WHATS_NEW from 2.03.13 to 2.03.15 ***
  Version 2.03.15 - 07th February 2022
  ====================================
    Remove service based autoactivation. global/event_activation = 0 is NOOP.
    Improve support for metadata profiles for --type writecache.
    Use cache or active DM device when available with new kernels.
    Introduce function to utilize UUIDs from DM_DEVICE_LIST.
    Increase some hash table size to better support large device sets.
  Version 2.03.14 - 20th October 2021
  ===================================
    Device scanning is skipping directories on different filesystems.
    Print info message with too many or too large archived files.
    Reduce metadata readings during scanning phase.
    Optimize computation of crc32 check sum with multiple PVs.
    Enhance recover path on cache creation failure.
    Filter out unsupported MQ/SMQ cache policy setting.
    Fix memleak in mpath filter.
    Support newer location for VDO statistics.
    Add support for VDO async-unsafe write policy.
    Improve lvm_import_vdo script.
    Support VDO LV with lvcreate -ky.
    Fix lvconvert for VDO LV bigger then 2T.
    Create VDO LVs automatically without zeroing.
    Rename vdoimport to lvm_import_vdo.
  Version 2.03.13 - 11th August 2021
  ==================================
    Changes in udev support:
  - obtain_device_list_from_udev defaults to 0.
  - see devices/external_device_info_source,
    devices/obtain_device_list_from_udev, and devices/multipath_wwids_file help
    in lvm.conf
    Fix devices file handling of loop with deleted backing file.
    Fix devices file handling of scsi_debug WWIDs.
    Fix many static analysis issues.
    Support --poolmetadataspare with vgsplit and vgmerge.
    Fix detection of active components of external origin volume.
    Add vdoimport tool to support conversion of VDO volumes.
    Support configurable allocation/vdo_pool_header_size.
    Fix handling of lvconvert --type vdo-pool --virtualsize.
    Simplified handling of archive() and backup() internal calls.
    Add 'idm' locking type for IDM lock manager.
    Fix load of kvdo target when it is not present in memory (2.03.12).
  * ** WHATS_NEW_DM from 1.02.179 to 1.02.183 ***
  Version 1.02.183 - 07th February 2022
  =====================================
    Unmangle UUIDs for DM_DEVICE_LIST ioctl.
  Version 1.02.181 - 20th October 2021
  ====================================
    Add IMA support with 'dmsetup measure' command.
    Add defines DM_NAME_LIST_FLAG_HAS_UUID, DM_NAME_LIST_FLAG_DOESNT_HAVE_UUID.
    Enhance tracking of activated devices when preloading dm tree.
    Fix bug in construction of cache table line (regression from 1.02.159).
  Version 1.02.179 - 11th August 2021
  ===================================
    (empty)
- Drop patches that have been merged into upstream
  - 0001-lvmlockd-idm-Introduce-new-locking-scheme.patch
  - 0002-lvmlockd-idm-Hook-Seagate-IDM-wrapper-APIs.patch
  - 0003-lib-locking-Add-new-type-idm.patch
  - 0004-lib-locking-Parse-PV-list-for-IDM-locking.patch
  - 0005-tools-Add-support-for-idm-lock-type.patch
  - 0006-configure-Add-macro-LOCKDIDM_SUPPORT.patch
  - 0007-enable-command-syntax-for-thin-and-writecache.patch
  - 0008-lvremove-fix-removing-thin-pool-with-writecache-on-d.patch
  - 0009-vdo-fix-preload-of-kvdo.patch
  - 0010-writecache-fix-lv_on_pmem.patch
  - 0011-writecache-don-t-pvmove-device-used-by-writecache.patch
  - 0012-pvchange-fix-file-locking-deadlock.patch
  - 0013-tests-Enable-the-testing-for-IDM-locking-scheme.patch
  - 0014-tests-Support-multiple-backing-devices.patch
  - 0015-tests-Cleanup-idm-context-when-prepare-devices.patch
  - 0016-tests-Add-checking-for-lvmlockd-log.patch
  - 0017-tests-stress-Add-single-thread-stress-testing.patch
  - 0018-tests-stress-Add-multi-threads-stress-testing-for-VG.patch
  - 0019-tests-stress-Add-multi-threads-stress-testing-for-PV.patch
  - 0020-tests-Support-idm-failure-injection.patch
  - 0021-tests-Add-testing-for-lvmlockd-failure.patch
  - 0022-tests-idm-Add-testing-for-the-fabric-failure.patch
  - 0023-tests-idm-Add-testing-for-the-fabric-failure-and-tim.patch
  - 0024-tests-idm-Add-testing-for-the-fabric-s-half-brain-fa.patch
  - 0025-tests-idm-Add-testing-for-IDM-lock-manager-failure.patch
  - 0026-tests-multi-hosts-Add-VG-testing.patch
  - 0027-tests-multi-hosts-Add-LV-testing.patch
  - 0028-tests-multi-hosts-Test-lease-timeout-with-LV-exclusi.patch
  - 0029-tests-multi-hosts-Test-lease-timeout-with-LV-shareab.patch
  - 0030-fix-empty-mem-pool-leak.patch
  - 0031-tests-writecache-blocksize-add-dm-cache-tests.patch
  - 0032-tests-rename-test.patch
  - 0033-tests-add-writecache-cache-blocksize-2.patch
  - 0034-lvmlockd-Fix-the-compilation-warning.patch
  - 0035-devices-don-t-use-deleted-loop-backing-file-for-devi.patch
  - 0036-man-help-fix-common-option-listing.patch
  - 0037-archiving-take-archive-automatically.patch
  - 0038-backup-automatically-store-data-on-vg_unlock.patch
  - 0039-archive-avoid-abuse-of-internal-flag.patch
  - 0040-pvck-add-lock_global-before-clean_hint_file.patch
  - 0041-lvmdevices-add-deviceidtype-option.patch
  - bug-1188141_toolcontext-fix-double-free-core-dumped-issue.patch
  - 0043-udev-create-symlinks-and-watch-even-in-suspended-sta.patch
  - bug-1179691_config-set-external_device_info_source-none.patch
- Add upstream patch
  - 0001-post-release.patch
  - 0002-asan-fix-some-reports-from-libasan.patch
  - 0003-make-generate.patch
  - 0004-tests-udev-pvscan-vgchange-fix-service-wait.patch
  - 0005-devices-file-do-not-clear-PVID-of-unread-devices.patch
  - 0006-tests-skip-vgchange-pvs-online.sh-on-rhel5.patch
  - 0007-dev_manager-fix-dm_task_get_device_list.patch
  - 0008-dev_manager-failing-status-is-not-internal-error.patch
  - 0009-clang-add-extra-check.patch
  - 0010-clang-possible-better-compilation-with-musl-c.patch
  - 0011-dev_manager-do-not-query-for-open_count.patch
  - 0012-dev_manager-use-list-info-for-preset-devs.patch
  - 0013-man-lvmcache-add-more-writecache-cachesettings-info.patch
  - 0014-man-update-cachesettings-option-description.patch
  - 0015-man-lvmcache-mention-writecache-memory-usage.patch
  - 0016-writecache-display-block-size-from-lvs.patch
  - 0017-devices-simplify-dev_cache_get_by_devt.patch
  - 0018-devices-drop-incorrect-paths-from-aliases-list.patch
  - 0019-devices-initial-use-of-existing-option.patch
  - 0020-devices-fix-dev_name-assumptions.patch
  - 0021-devices-use-dev-cache-aliases-handling-from-label-sc.patch
  - 0022-devices-only-close-PVs-on-LVs-when-scan_lvs-is-enabl.patch
  - 0023-writecache-check-memory-usage.patch
- Update patch
  - fate-309425_display-dm-name-for-lv-name.patch
- lvm2.spec
  - add new binraries: lvmdevices vgimportdevices
  - add config item "--with-cluster=internal" for cluster test
  - add config item "--with-integrity=internal"
  - add new man lvmautoactivation.7
  - remove lvm2-activation-generator &amp; man page
  - remove lvm2-pvscan@.service
  - replace 69-dm-lvm-metad.rules with 69-dm-lvm.rules</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1646913600">- Udev database has incomplete information about device /dev/sda. (bsc#1181242)
  + 0024-pvscan-don-t-use-udev-for-external-device-info.patch</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1648641600">-  lvm2-monitor.service reported warning messages for udev didn't finish to set up device database (bsc#1197183)
  + 0025-vgchange-monitor-don-t-use-udev-info.patch</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1662033600">- Update lvm2 from LVM2.2.03.15 to LVM2.2.03.16
  * ** WHATS_NEW for 2.03.16 ***
  Version 2.03.16 - 18th May 2022
  ===============================
    Fix segfault when handling selection with historical LVs.
    Add support --vdosettings with lvcreate, lvconvert, lvchange.
    Filtering multipath devices respects blacklist setting from multipath configuration.
    lvmdevices support for removing by device id using --deviceidtype and --deldev.
    Display writecache block size with lvs -o writecache_block_size.
    Improve cachesettings description in man lvmcache.
    Fix lossing of delete message on thin-pool extension.
- Drop patches that have been merged into upstream
  - 0001-post-release.patch
  - 0002-asan-fix-some-reports-from-libasan.patch
  - 0003-make-generate.patch
  - 0004-tests-udev-pvscan-vgchange-fix-service-wait.patch
  - 0005-devices-file-do-not-clear-PVID-of-unread-devices.patch
  - 0006-tests-skip-vgchange-pvs-online.sh-on-rhel5.patch
  - 0007-dev_manager-fix-dm_task_get_device_list.patch
  - 0008-dev_manager-failing-status-is-not-internal-error.patch
  - 0009-clang-add-extra-check.patch
  - 0010-clang-possible-better-compilation-with-musl-c.patch
  - 0011-dev_manager-do-not-query-for-open_count.patch
  - 0012-dev_manager-use-list-info-for-preset-devs.patch
  - 0013-man-lvmcache-add-more-writecache-cachesettings-info.patch
  - 0014-man-update-cachesettings-option-description.patch
  - 0015-man-lvmcache-mention-writecache-memory-usage.patch
  - 0016-writecache-display-block-size-from-lvs.patch
  - 0017-devices-simplify-dev_cache_get_by_devt.patch
  - 0018-devices-drop-incorrect-paths-from-aliases-list.patch
  - 0019-devices-initial-use-of-existing-option.patch
  - 0020-devices-fix-dev_name-assumptions.patch
  - 0021-devices-use-dev-cache-aliases-handling-from-label-sc.patch
  - 0022-devices-only-close-PVs-on-LVs-when-scan_lvs-is-enabl.patch
  - 0023-writecache-check-memory-usage.patch
  - 0024-pvscan-don-t-use-udev-for-external-device-info.patch
  - 0025-vgchange-monitor-don-t-use-udev-info.patch
- Add upstream patch
  - 0001-devices-file-move-clean-up-after-command-is-run.patch
  - 0002-devices-file-fail-if-devicesfile-filename-doesn-t-ex.patch
  - 0003-filter-mpath-handle-other-wwid-types-in-blacklist.patch
  - 0004-filter-mpath-get-wwids-from-sysfs-vpd_pg83.patch
  - 0005-pvdisplay-restore-reportformat-option.patch
  - 0006-exit-with-error-when-devicesfile-name-doesn-t-exist.patch
  - 0007-report-fix-pe_start-column-type-from-NUM-to-SIZ.patch
  - 0008-_vg_read_raw_area-fix-segfault-caused-by-using-null-.patch
  - 0009-mm-remove-libaio-from-being-skipped.patch
  - 0010-dmsetup-check-also-for-ouf-of-range-value.patch
  - 0011-devices-drop-double-from-sysfs-path.patch
  - 0012-devices-file-fix-pvcreate-uuid-matching-pvid-entry-w.patch
  - 0013-vgimportdevices-change-result-when-devices-are-not-a.patch
  - 0014-vgimportdevices-fix-locking-when-creating-devices-fi.patch
- Update patch
  - bug-1184687_Add-nolvm-for-kernel-cmdline.patch
- update lvm2.spec
  - indent some lines for easy read
  - add new man: lvm_import_vdo.8 dmfilemapd.8
  - remove config item '--enable-cmirrord', which was obsoleted.
  - remove config item '--enable-realtime', which became default setting.
  - add config item "--enable-dmfilemapd" for new daemon dmfilemapd
- lvm.conf
  - align upstream style, comment out default values</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1663761600">- lvmlockd is not supporting sanlock (bsc#1203482)
  - set 1 for _supportsanlock in lvm2.spec for enabling sanlock.</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1665576000">- lvm.conf should re-enable commented out option use_lvmlockd (bsc#1204219)
  - re-enable "use_lvmlockd = 0" in lvm.conf</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1667217600">- dracut-initqueue timeouts with 5.3.18-150300.59.63 kernel on ppc64le (bsc#1199074)
  - in lvm2.spec, change device_mapper_version from 1.02.185 to %{lvm2_version}_1.02.185</changelog>
  <changelog author="Amit Chaudhary &lt;amit.chaudhary@suse.com&gt;" date="1667476800">- killed lvmlockd doesn't clear/adopt locks leading to inability to start volume group (bsc#1203216)
  - bug-1203216_lvmlockd-purge-the-lock-resources-left-in-previous-l.patch</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1672142400">- Replace transitional %usrmerged macro with regular version check (boo#1206798)</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1687521600">- multipath_component_detection = 0 in lvm.conf does not have any effect (bsc#1212613)
  - bug-1212613_apply-multipath_component_detection-0-to-duplicate-P.patch</changelog>
  <changelog author="heming.zhao@suse.com" date="1692532800">- blkdeactivate calls wrong mountpoint cmd (bsc#1214071)
  + bug-1214071-blkdeactivate_calls_wrong_mountpoint.patch</changelog>
  <changelog author="Glass Su &lt;glass.su@suse.com&gt;" date="1695038400">- Update lvm2 from LVM2.2.03.16 to LVM2.2.03.22 (jsc#PED-6339)
  * ** WHATS_NEW from 2.03.17 to 2.03.22 ***
  version 2.03.22 - 02nd August 2023
  ==================================
    Fix pv_major/pv_minor report field types so they are integers, not strings.
    Add lvmdevices --delnotfound to delete entries for missing devices.
    Always use cachepool name for metadata backup LV for lvconvert --repair.
    Make metadata backup LVs read-only after pool's lvconvert --repair.
    Improve VDO and Thin support with lvmlockd.
    Handle 'lvextend --usepolicies' for pools for all activation variants.
    Fix memleak in vgchange autoactivation setup.
    Update py-compile building script.
    Support conversion from thick to fully provisioned thin LV.
    Cache/Thin-pool can use error and zero volumes for testing.
    Individual thin volume can be cached, but cannot take snapshot.
    Better internal support for handling error and zero target (for testing).
    Resize COW above trimmed maximal size is does not return error.
    Support parsing of vdo geometry format version 4.
    Add lvm.conf thin_restore and cache_restore settings.
    Handle multiple mounts while resizing volume with a FS.
    Handle leading/trailing spaces in sys_wwid and sys_serial used by deivce_id.
    Enhance lvm_import_vdo and use snapshot when converting VDO volume.
    Fix parsing of VDO metadata.
    Fix failing -S|--select for non-reporting cmds if using LV info/status fields.
    Allow snapshots of raid+integrity LV.
    Fix multisegment RAID1 allocator to prevent using single disk for more legs.
  version 2.03.21 - 21st April 2023
  =================================
    Fix activation of vdo-pool for with 0 length headers (converted pools).
    Avoid printing internal init messages when creation integration devices.
    Allow (write)cache over raid+integrity LV.
  version 2.03.20 - 21st March 2023
  =================================
    Fix segfault if using -S|--select with log/report_command_log=1 setting.
    Configure now fails when requested lvmlockd dependencies are missing.
    Add some configure Gentoo enhancements for static builds.
  version 2.03.19 - 21st February 2023
  ====================================
    Configure supports --with-systemd-run executed from udev rules.
    Enhancement for build with MuslC systemd and non-bash system shells (dash).
    Do not reset SYSTEMD_READY variable in udev for PVs on MD and loop devices.
    Ensure udev is processing origin LV before its thick snapshots LVs.
    Fix and improve runtime memory size detection for VDO volumes.
  version 2.03.18 - 22nd December 2022
  ====================================
    Fix issues reported by coverity scan.
    Fix warning for thin pool overprovisioning on lvextend (2.03.17).
    Add support for writecache metadata_only and pause_writeback settings.
    Fix missing error messages in lvmdbusd.
  Version 2.03.17 - 10th November 2022
  ====================================
    Add new options (--fs, --fsmode) for FS handling when resizing LVs.
    Fix 'lvremove -S|--select LV' to not also remove its historical LV right away.
    Fix lv_active field type to binary so --select and --binary applies properly.
    Switch to use mallinfo2 and use it only with glibc.
    Error out in lvm shell if using a cmd argument not supported in the shell.
    Fix lvm shell's lastlog command to report previous pre-command failures.
    Extend VDO and VDOPOOL without flushing and locking fs.
    Add --valuesonly option to lvmconfig to print only values without keys.
    Updates configure with recent autoconf tooling.
    Fix lvconvert --test --type vdo-pool execution.
    Add json_std output format for more JSON standard compliant version of output.
    Fix vdo_slab_size_mb value for converted VDO volume.
    Fix many corner cases in device_id, including handling of S/N duplicates.
    Fix various issues in lvmdbusd.
- Drop patches that have been merged into upstream
  - 0001-devices-file-move-clean-up-after-command-is-run.patch
  - 0002-devices-file-fail-if-devicesfile-filename-doesn-t-ex.patch
  - 0003-filter-mpath-handle-other-wwid-types-in-blacklist.patch
  - 0004-filter-mpath-get-wwids-from-sysfs-vpd_pg83.patch
  - 0005-pvdisplay-restore-reportformat-option.patch
  - 0006-exit-with-error-when-devicesfile-name-doesn-t-exist.patch
  - 0007-report-fix-pe_start-column-type-from-NUM-to-SIZ.patch
  - 0008-_vg_read_raw_area-fix-segfault-caused-by-using-null-.patch
  - 0009-mm-remove-libaio-from-being-skipped.patch
  - 0010-dmsetup-check-also-for-ouf-of-range-value.patch
  - 0011-devices-drop-double-from-sysfs-path.patch
  - 0012-devices-file-fix-pvcreate-uuid-matching-pvid-entry-w.patch
  - 0013-vgimportdevices-change-result-when-devices-are-not-a.patch
  - 0014-vgimportdevices-fix-locking-when-creating-devices-fi.patch
  - bug-1203216_lvmlockd-purge-the-lock-resources-left-in-previous-l.patch
  - bug-1212613_apply-multipath_component_detection-0-to-duplicate-P.patch
- Add upstream patch
  + 0001-lvconvert-swapmetadata-fix-lvmlockd-locking.patch
  + 0002-lvconvert-fix-ret-values-fro-integrity-remove.patch
  + 0003-lvconvert-fix-regresion-from-integrity-check.patch
  + 0004-gcc-cleanup-warnings.patch
  + 0005-lvmlockd-fix-thick-to-thin-lv-conversion.patch
  + 0006-lvmlockd-let-lockd_init_lv_args-set-lock_args.patch
  + 0007-lvmlockd-fix-lvconvert-to-thin-pool.patch
  + 0008-lvconvert-run-error-path-code-only-for-shared-VG.patch
  + 0009-vgchange-acquire-an-exclusive-VG-lock-for-refresh.patch
  + 0010-lvmlockd-client-mutex-ordering.patch
  + 0011-filesystem-move-stat-after-open-check.patch
  + 0012-tests-check-for-writecache.patch
  + 0013-lvresize-fix-32-bit-overflow-in-size-calculation.patch
  + 0014-gcc-fix-warnings-for-x32-architecture.patch
  + 0015-gcc-warning-missing-braces-around-initializer.patch
  + 0016-test-improve-aux-teardown.patch
  + 0017-tests-aux-try-with-extra-sleep.patch
  + 0018-tests-aux-using-singl-lvmconf-call.patch
  + 0019-tests-missing-to-check-for-writecache-support.patch
  + 0020-tests-pvmove-large-disk-area.patch
  + 0021-tests-enforce-full-fs-check.patch
  + 0022-tests-update-for-work-in-fake-dev-environment.patch
  + 0023-tests-skip-test-when-lvmdbusd-runs-on-the-system.patch
  + 0024-tests-better-slowdown.patch
- Update patch
  - bug-1037309_Makefile-skip-compliling-daemons-lvmlockd-directory.patch
  - bug-1184124-link-tests-as-PIE.patch
  - bug-1184687_Add-nolvm-for-kernel-cmdline.patch
  - fate-31841-03_tests-new-test-suite-of-fsadm-for-btrfs.patch
- Rename &amp; Update patch
  - bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch
  + bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-rules.patch
- update lvm2.spec
  - change upstream_device_mapper_version to 1.02.196
  - change device_mapper_version to %{lvm2_version}_1.02.196
  - add config item "-with-libexecdir=%{_libexecdir}" to fix libexec path since commit a2d33cdf
  - add new binary "%{_libexecdir}/lvresize_fs_helper" to lvm2 package</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang_path macro, [bsc#1212476]</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %patch -P N instead of deprecated %patchN syntax.</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1716724800">- Update lvm2 from LVM2.2.03.22 to LVM2.2.03.24
  * ** WHATS_NEW from 2.03.22 to 2.03.24 ***
  Version 2.03.24 - 16th May 2024
  ===============================
    Lvconvert supports VDO options for thin-pool with vdo conversion.
    Improve placement to .data.rel.ro and .rodata sections.
    Fix support for -y and -W when creating thinpool with vdo.
    Bettter support for runtime valgrind detection.
    Allow command interruption when communicating with dmeventd.
    Fix resize of VDO volume used for thin pool data volume.
    Use -Wl,-z,now and -Wl,--as-needed for compilation by default.
    Require 3.7 as minimal version for sanlock.
    Share code for closing opened desriptors on program startup.
    Fix memleak in lvmcache.
    Add configure --with-default-event-activation=ON setting.
    Fix return value from reporter function when hitting internal error.
    Skip checking of pools for lvremove and vgremove commands.
    VDO modprobes dm-vdo for 6.9 kernel and kvdo for older kernel version.
    Fix lvs reporting for VDO volumes with new upstream kernel driver.
    Don't import DM_UDEV_DISABLE_OTHER_RULES_FLAG in LVM rules, DM rules cover it.
    Fix table line generation for cache snapshots using cachevol.
    Enhance lvconvert support for external origins stacking.
    When swapping LV names also swap properties like hostname, time and data.
    Fix removal of stacked external origins.
    Lock filesystem when converting volume to read-only external origin.
    Support external origin between different thin-pool.
    Improve validation of acceptable volumes for external origins.
    Reduce amount of preloaded devices for complex device trees.
    Avoid logging problems from monitoring snapshots with inactive origins.
    Check for cache policy module presence in kernel's builtin modules file.
    Add configure --with-modulesdir to select kernel modules directory.
    Support creation of thin-pool with VDO use for its data volume.
  Version 2.03.23 - 21st November 2023
  ====================================
    Set the first lv_attr flag for raid integrity images to i or I.
    Add -A option for pvs and pvscan to show PVs outside devices file.
    Improve searched_devnames temp file usage to prevent redundant scanning.
    Change default search_for_devnames from auto to all.
    Add lvmdevices --refresh to search for missing PVIDs on all devices.
    Add comparison between old and new entries in lvmdevices --check.
    Fix device_id matching order - match non-devname first.
    Fix "lvconvert -m 0" when there is other than first in-sync leg.
    Use system.devices as default for dmeventd when dmeventd.devices is undefined.
    Accept WWIDs containing QEMU HARDDISK for device_id.
    Improve handling of non-standard WWID prefixes used for device_id.
    Configure automatically enables cmdlib for dmeventd and notify-dbus for dbus.
    Fix hint calculation for pools with zero or error segment.
    Configure supports --disable-shared to build only static binaries.
    Configure supports --without-{blkid|systemd|udev} for easier static build.
    Refresh device ids if the system changes.
    Fix pvmove when specifying raid components as moved LVs.
    Enhance error detection for lvm_import_vdo.
    Support PV lists with thin lvconvert.
    Fix support for lvm_import_vdo with SCSI VDO volumes.
    Fix locking issue leading to hanging concurrent vgchange --refresh.
    Recognize lvm.conf report/headings=2 for full column names in report headings.
    Add --headings none|abbrev|full cmd line option to set report headings type.
    Fix conversion to thin pool using lvmlockd.
    Fix conversion from thick into thin volume using lvmlockd.
    Require writable LV for conversion to vdo pool.
    Fix return value from lvconvert integrity remove.
    Preserve UUID for pool metadata spare.
    Preserve UUID for swapped pool metadata.
    Rewrite validation of device name entries used as device_id.
  * ** WHATS_NEW_DM from 1.02.196 to 1.02.198 ***
  Version 1.02.198 - 16th May 2024
  ================================
    Fix static only compilation of libdevmapper.a and dmsetup tool.
    Use better code for closing opened descriptors when starting dmeventd.
    Correct dmeventd -R for systemd environment.
    Restart of dmeventd -R checks pid file to detect running dmeventd first.
    Query with dmeventd -i quickly ends when there is no running dmeventd.
    Enhance dm_get_status_raid to handle mismatching status or reported legs.
    Create /dev/disk/by-label symlinks for DM devs that have crypto as next layer.
    Persist udev db for DM devs on cleanup used in initrd to rootfs transition.
    Process synthetic udev events other than 'add/change' as 'change' events.
    Increase DM_UDEV_RULES_VSN to 3 to indicate changed udev rules.
    Rename DM_NOSCAN to .DM_NOSCAN so it's not stored in udev db.
    Rename DM_SUSPENDED to .DM_SUSPENDED so it's not stored in udev db.
    Do not import DM_UDEV_DISABLE_OTHER_RULES_FLAG from db in 10-dm-disk.rules.
    Test DISK_RO after importing properties from db in 10-dm.rules.
    Also import ID_FS_TYPE in 13-dm-disk.rules from db if needed.
  Version 1.02.197 - 21st November 2023
  =====================================
    Fix invalid JSON report if using DM_REPORT_OUTPUT_MULTIPLE_TIMES and selection.
    Propagate ioctl errno from dm_task_run when creating new table line.
    Add support for group aliases in dmstats.
    Add support for exit-on file for dmeventd to reduce shutdown delays.
    Add configure option --with-dmeventd-exit-on-path to specify default path.
    Add dmsetup --headings none|abbrev|full to set report headings type.
    Add DM_REPORT_OUTPUT_FIELD_IDS_IN_HEADINGS to provide alternative headings.
- Drop patches that have been merged into upstream
  - 0001-lvconvert-swapmetadata-fix-lvmlockd-locking.patch
  - 0002-lvconvert-fix-ret-values-fro-integrity-remove.patch
  - 0003-lvconvert-fix-regresion-from-integrity-check.patch
  - 0004-gcc-cleanup-warnings.patch
  - 0005-lvmlockd-fix-thick-to-thin-lv-conversion.patch
  - 0006-lvmlockd-let-lockd_init_lv_args-set-lock_args.patch
  - 0007-lvmlockd-fix-lvconvert-to-thin-pool.patch
  - 0008-lvconvert-run-error-path-code-only-for-shared-VG.patch
  - 0009-vgchange-acquire-an-exclusive-VG-lock-for-refresh.patch
  - 0010-lvmlockd-client-mutex-ordering.patch
  - 0011-filesystem-move-stat-after-open-check.patch
  - 0012-tests-check-for-writecache.patch
  - 0013-lvresize-fix-32-bit-overflow-in-size-calculation.patch
  - 0014-gcc-fix-warnings-for-x32-architecture.patch
  - 0015-gcc-warning-missing-braces-around-initializer.patch
  - 0016-test-improve-aux-teardown.patch
  - 0017-tests-aux-try-with-extra-sleep.patch
  - 0018-tests-aux-using-singl-lvmconf-call.patch
  - 0019-tests-missing-to-check-for-writecache-support.patch
  - 0020-tests-pvmove-large-disk-area.patch
  - 0021-tests-enforce-full-fs-check.patch
  - 0022-tests-update-for-work-in-fake-dev-environment.patch
  - 0023-tests-skip-test-when-lvmdbusd-runs-on-the-system.patch
  - 0024-tests-better-slowdown.patch
- Update patch
  - bug-1184687_Add-nolvm-for-kernel-cmdline.patch</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1717243200">- add rpm dependency in spec file for aligning new DM udev rules (bsc#1225783)
  * update lvm2.spec</changelog>
  <changelog author="Glass Su &lt;glass.su@suse.com&gt;" date="1718712000">- change BuildRequires due to corosync devel package rename
  * update lvm2.spec, use pkgconfig(corosync)</changelog>
</package>
<package pkgid="199ed99f6d496e13fb8ae81212aca30d155094ceb3906a5e42012c8e2f54577788595fb1fe846aae32635b1e9a8d34f88f6fd2d3b34dc8f6c10508a92b2b8806" name="device-mapper" arch="x86_64">
  <version epoch="0" ver="2.03.24_1.02.198" rel="2.1"/>
  <changelog author="heming.zhao@suse.com" date="1626177600">- lvm2: double free or corruption with invalid LVM_SYSTEM_DIR breaks guestfs-tools (bsc#1188141)
  + bug-1188141_toolcontext-fix-double-free-core-dumped-issue.patch
- replace exist patch with bug fixed patches
  - (remove) fate-31841_fsadm-add-support-for-btrfs.patch
  + (add) fate-31841-01_fsadm-add-support-to-resize-check-btrfs-filesystem.patch
  + (add) fate-31841-02_man-add-support-for-btrfs.patch
  + (add) fate-31841-03_tests-new-test-suite-of-fsadm-for-btrfs.patch</changelog>
  <changelog author="Martin Li&#x161;ka &lt;mliska@suse.cz&gt;" date="1628683200">- Add lvm2-rpmlintrc where we skip all rpmlint issue for lvm2-testsuite package
  (bsc#1179047).</changelog>
  <changelog author="Martin Wilck &lt;mwilck@suse.com&gt;" date="1643716800">- udev: create symlinks and watch even in suspended state (bsc#1195231)
  + (add) 0043-udev-create-symlinks-and-watch-even-in-suspended-sta.patch</changelog>
  <changelog author="heming.zhao@suse.com" date="1646136000">- Update lvm2 from LVM2.2.03.12 to LVM2.2.03.15
  * ** WHATS_NEW from 2.03.13 to 2.03.15 ***
  Version 2.03.15 - 07th February 2022
  ====================================
    Remove service based autoactivation. global/event_activation = 0 is NOOP.
    Improve support for metadata profiles for --type writecache.
    Use cache or active DM device when available with new kernels.
    Introduce function to utilize UUIDs from DM_DEVICE_LIST.
    Increase some hash table size to better support large device sets.
  Version 2.03.14 - 20th October 2021
  ===================================
    Device scanning is skipping directories on different filesystems.
    Print info message with too many or too large archived files.
    Reduce metadata readings during scanning phase.
    Optimize computation of crc32 check sum with multiple PVs.
    Enhance recover path on cache creation failure.
    Filter out unsupported MQ/SMQ cache policy setting.
    Fix memleak in mpath filter.
    Support newer location for VDO statistics.
    Add support for VDO async-unsafe write policy.
    Improve lvm_import_vdo script.
    Support VDO LV with lvcreate -ky.
    Fix lvconvert for VDO LV bigger then 2T.
    Create VDO LVs automatically without zeroing.
    Rename vdoimport to lvm_import_vdo.
  Version 2.03.13 - 11th August 2021
  ==================================
    Changes in udev support:
  - obtain_device_list_from_udev defaults to 0.
  - see devices/external_device_info_source,
    devices/obtain_device_list_from_udev, and devices/multipath_wwids_file help
    in lvm.conf
    Fix devices file handling of loop with deleted backing file.
    Fix devices file handling of scsi_debug WWIDs.
    Fix many static analysis issues.
    Support --poolmetadataspare with vgsplit and vgmerge.
    Fix detection of active components of external origin volume.
    Add vdoimport tool to support conversion of VDO volumes.
    Support configurable allocation/vdo_pool_header_size.
    Fix handling of lvconvert --type vdo-pool --virtualsize.
    Simplified handling of archive() and backup() internal calls.
    Add 'idm' locking type for IDM lock manager.
    Fix load of kvdo target when it is not present in memory (2.03.12).
  * ** WHATS_NEW_DM from 1.02.179 to 1.02.183 ***
  Version 1.02.183 - 07th February 2022
  =====================================
    Unmangle UUIDs for DM_DEVICE_LIST ioctl.
  Version 1.02.181 - 20th October 2021
  ====================================
    Add IMA support with 'dmsetup measure' command.
    Add defines DM_NAME_LIST_FLAG_HAS_UUID, DM_NAME_LIST_FLAG_DOESNT_HAVE_UUID.
    Enhance tracking of activated devices when preloading dm tree.
    Fix bug in construction of cache table line (regression from 1.02.159).
  Version 1.02.179 - 11th August 2021
  ===================================
    (empty)
- Drop patches that have been merged into upstream
  - 0001-lvmlockd-idm-Introduce-new-locking-scheme.patch
  - 0002-lvmlockd-idm-Hook-Seagate-IDM-wrapper-APIs.patch
  - 0003-lib-locking-Add-new-type-idm.patch
  - 0004-lib-locking-Parse-PV-list-for-IDM-locking.patch
  - 0005-tools-Add-support-for-idm-lock-type.patch
  - 0006-configure-Add-macro-LOCKDIDM_SUPPORT.patch
  - 0007-enable-command-syntax-for-thin-and-writecache.patch
  - 0008-lvremove-fix-removing-thin-pool-with-writecache-on-d.patch
  - 0009-vdo-fix-preload-of-kvdo.patch
  - 0010-writecache-fix-lv_on_pmem.patch
  - 0011-writecache-don-t-pvmove-device-used-by-writecache.patch
  - 0012-pvchange-fix-file-locking-deadlock.patch
  - 0013-tests-Enable-the-testing-for-IDM-locking-scheme.patch
  - 0014-tests-Support-multiple-backing-devices.patch
  - 0015-tests-Cleanup-idm-context-when-prepare-devices.patch
  - 0016-tests-Add-checking-for-lvmlockd-log.patch
  - 0017-tests-stress-Add-single-thread-stress-testing.patch
  - 0018-tests-stress-Add-multi-threads-stress-testing-for-VG.patch
  - 0019-tests-stress-Add-multi-threads-stress-testing-for-PV.patch
  - 0020-tests-Support-idm-failure-injection.patch
  - 0021-tests-Add-testing-for-lvmlockd-failure.patch
  - 0022-tests-idm-Add-testing-for-the-fabric-failure.patch
  - 0023-tests-idm-Add-testing-for-the-fabric-failure-and-tim.patch
  - 0024-tests-idm-Add-testing-for-the-fabric-s-half-brain-fa.patch
  - 0025-tests-idm-Add-testing-for-IDM-lock-manager-failure.patch
  - 0026-tests-multi-hosts-Add-VG-testing.patch
  - 0027-tests-multi-hosts-Add-LV-testing.patch
  - 0028-tests-multi-hosts-Test-lease-timeout-with-LV-exclusi.patch
  - 0029-tests-multi-hosts-Test-lease-timeout-with-LV-shareab.patch
  - 0030-fix-empty-mem-pool-leak.patch
  - 0031-tests-writecache-blocksize-add-dm-cache-tests.patch
  - 0032-tests-rename-test.patch
  - 0033-tests-add-writecache-cache-blocksize-2.patch
  - 0034-lvmlockd-Fix-the-compilation-warning.patch
  - 0035-devices-don-t-use-deleted-loop-backing-file-for-devi.patch
  - 0036-man-help-fix-common-option-listing.patch
  - 0037-archiving-take-archive-automatically.patch
  - 0038-backup-automatically-store-data-on-vg_unlock.patch
  - 0039-archive-avoid-abuse-of-internal-flag.patch
  - 0040-pvck-add-lock_global-before-clean_hint_file.patch
  - 0041-lvmdevices-add-deviceidtype-option.patch
  - bug-1188141_toolcontext-fix-double-free-core-dumped-issue.patch
  - 0043-udev-create-symlinks-and-watch-even-in-suspended-sta.patch
  - bug-1179691_config-set-external_device_info_source-none.patch
- Add upstream patch
  - 0001-post-release.patch
  - 0002-asan-fix-some-reports-from-libasan.patch
  - 0003-make-generate.patch
  - 0004-tests-udev-pvscan-vgchange-fix-service-wait.patch
  - 0005-devices-file-do-not-clear-PVID-of-unread-devices.patch
  - 0006-tests-skip-vgchange-pvs-online.sh-on-rhel5.patch
  - 0007-dev_manager-fix-dm_task_get_device_list.patch
  - 0008-dev_manager-failing-status-is-not-internal-error.patch
  - 0009-clang-add-extra-check.patch
  - 0010-clang-possible-better-compilation-with-musl-c.patch
  - 0011-dev_manager-do-not-query-for-open_count.patch
  - 0012-dev_manager-use-list-info-for-preset-devs.patch
  - 0013-man-lvmcache-add-more-writecache-cachesettings-info.patch
  - 0014-man-update-cachesettings-option-description.patch
  - 0015-man-lvmcache-mention-writecache-memory-usage.patch
  - 0016-writecache-display-block-size-from-lvs.patch
  - 0017-devices-simplify-dev_cache_get_by_devt.patch
  - 0018-devices-drop-incorrect-paths-from-aliases-list.patch
  - 0019-devices-initial-use-of-existing-option.patch
  - 0020-devices-fix-dev_name-assumptions.patch
  - 0021-devices-use-dev-cache-aliases-handling-from-label-sc.patch
  - 0022-devices-only-close-PVs-on-LVs-when-scan_lvs-is-enabl.patch
  - 0023-writecache-check-memory-usage.patch
- Update patch
  - fate-309425_display-dm-name-for-lv-name.patch
- lvm2.spec
  - add new binraries: lvmdevices vgimportdevices
  - add config item "--with-cluster=internal" for cluster test
  - add config item "--with-integrity=internal"
  - add new man lvmautoactivation.7
  - remove lvm2-activation-generator &amp; man page
  - remove lvm2-pvscan@.service
  - replace 69-dm-lvm-metad.rules with 69-dm-lvm.rules</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1646913600">- Udev database has incomplete information about device /dev/sda. (bsc#1181242)
  + 0024-pvscan-don-t-use-udev-for-external-device-info.patch</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1648641600">-  lvm2-monitor.service reported warning messages for udev didn't finish to set up device database (bsc#1197183)
  + 0025-vgchange-monitor-don-t-use-udev-info.patch</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1662033600">- Update lvm2 from LVM2.2.03.15 to LVM2.2.03.16
  * ** WHATS_NEW for 2.03.16 ***
  Version 2.03.16 - 18th May 2022
  ===============================
    Fix segfault when handling selection with historical LVs.
    Add support --vdosettings with lvcreate, lvconvert, lvchange.
    Filtering multipath devices respects blacklist setting from multipath configuration.
    lvmdevices support for removing by device id using --deviceidtype and --deldev.
    Display writecache block size with lvs -o writecache_block_size.
    Improve cachesettings description in man lvmcache.
    Fix lossing of delete message on thin-pool extension.
- Drop patches that have been merged into upstream
  - 0001-post-release.patch
  - 0002-asan-fix-some-reports-from-libasan.patch
  - 0003-make-generate.patch
  - 0004-tests-udev-pvscan-vgchange-fix-service-wait.patch
  - 0005-devices-file-do-not-clear-PVID-of-unread-devices.patch
  - 0006-tests-skip-vgchange-pvs-online.sh-on-rhel5.patch
  - 0007-dev_manager-fix-dm_task_get_device_list.patch
  - 0008-dev_manager-failing-status-is-not-internal-error.patch
  - 0009-clang-add-extra-check.patch
  - 0010-clang-possible-better-compilation-with-musl-c.patch
  - 0011-dev_manager-do-not-query-for-open_count.patch
  - 0012-dev_manager-use-list-info-for-preset-devs.patch
  - 0013-man-lvmcache-add-more-writecache-cachesettings-info.patch
  - 0014-man-update-cachesettings-option-description.patch
  - 0015-man-lvmcache-mention-writecache-memory-usage.patch
  - 0016-writecache-display-block-size-from-lvs.patch
  - 0017-devices-simplify-dev_cache_get_by_devt.patch
  - 0018-devices-drop-incorrect-paths-from-aliases-list.patch
  - 0019-devices-initial-use-of-existing-option.patch
  - 0020-devices-fix-dev_name-assumptions.patch
  - 0021-devices-use-dev-cache-aliases-handling-from-label-sc.patch
  - 0022-devices-only-close-PVs-on-LVs-when-scan_lvs-is-enabl.patch
  - 0023-writecache-check-memory-usage.patch
  - 0024-pvscan-don-t-use-udev-for-external-device-info.patch
  - 0025-vgchange-monitor-don-t-use-udev-info.patch
- Add upstream patch
  - 0001-devices-file-move-clean-up-after-command-is-run.patch
  - 0002-devices-file-fail-if-devicesfile-filename-doesn-t-ex.patch
  - 0003-filter-mpath-handle-other-wwid-types-in-blacklist.patch
  - 0004-filter-mpath-get-wwids-from-sysfs-vpd_pg83.patch
  - 0005-pvdisplay-restore-reportformat-option.patch
  - 0006-exit-with-error-when-devicesfile-name-doesn-t-exist.patch
  - 0007-report-fix-pe_start-column-type-from-NUM-to-SIZ.patch
  - 0008-_vg_read_raw_area-fix-segfault-caused-by-using-null-.patch
  - 0009-mm-remove-libaio-from-being-skipped.patch
  - 0010-dmsetup-check-also-for-ouf-of-range-value.patch
  - 0011-devices-drop-double-from-sysfs-path.patch
  - 0012-devices-file-fix-pvcreate-uuid-matching-pvid-entry-w.patch
  - 0013-vgimportdevices-change-result-when-devices-are-not-a.patch
  - 0014-vgimportdevices-fix-locking-when-creating-devices-fi.patch
- Update patch
  - bug-1184687_Add-nolvm-for-kernel-cmdline.patch
- update lvm2.spec
  - indent some lines for easy read
  - add new man: lvm_import_vdo.8 dmfilemapd.8
  - remove config item '--enable-cmirrord', which was obsoleted.
  - remove config item '--enable-realtime', which became default setting.
  - add config item "--enable-dmfilemapd" for new daemon dmfilemapd
- lvm.conf
  - align upstream style, comment out default values</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1663761600">- lvmlockd is not supporting sanlock (bsc#1203482)
  - set 1 for _supportsanlock in lvm2.spec for enabling sanlock.</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1665576000">- lvm.conf should re-enable commented out option use_lvmlockd (bsc#1204219)
  - re-enable "use_lvmlockd = 0" in lvm.conf</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1667217600">- dracut-initqueue timeouts with 5.3.18-150300.59.63 kernel on ppc64le (bsc#1199074)
  - in lvm2.spec, change device_mapper_version from 1.02.185 to %{lvm2_version}_1.02.185</changelog>
  <changelog author="Amit Chaudhary &lt;amit.chaudhary@suse.com&gt;" date="1667476800">- killed lvmlockd doesn't clear/adopt locks leading to inability to start volume group (bsc#1203216)
  - bug-1203216_lvmlockd-purge-the-lock-resources-left-in-previous-l.patch</changelog>
  <changelog author="Ludwig Nussel &lt;lnussel@suse.com&gt;" date="1672142400">- Replace transitional %usrmerged macro with regular version check (boo#1206798)</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1687521600">- multipath_component_detection = 0 in lvm.conf does not have any effect (bsc#1212613)
  - bug-1212613_apply-multipath_component_detection-0-to-duplicate-P.patch</changelog>
  <changelog author="heming.zhao@suse.com" date="1692532800">- blkdeactivate calls wrong mountpoint cmd (bsc#1214071)
  + bug-1214071-blkdeactivate_calls_wrong_mountpoint.patch</changelog>
  <changelog author="Glass Su &lt;glass.su@suse.com&gt;" date="1695038400">- Update lvm2 from LVM2.2.03.16 to LVM2.2.03.22 (jsc#PED-6339)
  * ** WHATS_NEW from 2.03.17 to 2.03.22 ***
  version 2.03.22 - 02nd August 2023
  ==================================
    Fix pv_major/pv_minor report field types so they are integers, not strings.
    Add lvmdevices --delnotfound to delete entries for missing devices.
    Always use cachepool name for metadata backup LV for lvconvert --repair.
    Make metadata backup LVs read-only after pool's lvconvert --repair.
    Improve VDO and Thin support with lvmlockd.
    Handle 'lvextend --usepolicies' for pools for all activation variants.
    Fix memleak in vgchange autoactivation setup.
    Update py-compile building script.
    Support conversion from thick to fully provisioned thin LV.
    Cache/Thin-pool can use error and zero volumes for testing.
    Individual thin volume can be cached, but cannot take snapshot.
    Better internal support for handling error and zero target (for testing).
    Resize COW above trimmed maximal size is does not return error.
    Support parsing of vdo geometry format version 4.
    Add lvm.conf thin_restore and cache_restore settings.
    Handle multiple mounts while resizing volume with a FS.
    Handle leading/trailing spaces in sys_wwid and sys_serial used by deivce_id.
    Enhance lvm_import_vdo and use snapshot when converting VDO volume.
    Fix parsing of VDO metadata.
    Fix failing -S|--select for non-reporting cmds if using LV info/status fields.
    Allow snapshots of raid+integrity LV.
    Fix multisegment RAID1 allocator to prevent using single disk for more legs.
  version 2.03.21 - 21st April 2023
  =================================
    Fix activation of vdo-pool for with 0 length headers (converted pools).
    Avoid printing internal init messages when creation integration devices.
    Allow (write)cache over raid+integrity LV.
  version 2.03.20 - 21st March 2023
  =================================
    Fix segfault if using -S|--select with log/report_command_log=1 setting.
    Configure now fails when requested lvmlockd dependencies are missing.
    Add some configure Gentoo enhancements for static builds.
  version 2.03.19 - 21st February 2023
  ====================================
    Configure supports --with-systemd-run executed from udev rules.
    Enhancement for build with MuslC systemd and non-bash system shells (dash).
    Do not reset SYSTEMD_READY variable in udev for PVs on MD and loop devices.
    Ensure udev is processing origin LV before its thick snapshots LVs.
    Fix and improve runtime memory size detection for VDO volumes.
  version 2.03.18 - 22nd December 2022
  ====================================
    Fix issues reported by coverity scan.
    Fix warning for thin pool overprovisioning on lvextend (2.03.17).
    Add support for writecache metadata_only and pause_writeback settings.
    Fix missing error messages in lvmdbusd.
  Version 2.03.17 - 10th November 2022
  ====================================
    Add new options (--fs, --fsmode) for FS handling when resizing LVs.
    Fix 'lvremove -S|--select LV' to not also remove its historical LV right away.
    Fix lv_active field type to binary so --select and --binary applies properly.
    Switch to use mallinfo2 and use it only with glibc.
    Error out in lvm shell if using a cmd argument not supported in the shell.
    Fix lvm shell's lastlog command to report previous pre-command failures.
    Extend VDO and VDOPOOL without flushing and locking fs.
    Add --valuesonly option to lvmconfig to print only values without keys.
    Updates configure with recent autoconf tooling.
    Fix lvconvert --test --type vdo-pool execution.
    Add json_std output format for more JSON standard compliant version of output.
    Fix vdo_slab_size_mb value for converted VDO volume.
    Fix many corner cases in device_id, including handling of S/N duplicates.
    Fix various issues in lvmdbusd.
- Drop patches that have been merged into upstream
  - 0001-devices-file-move-clean-up-after-command-is-run.patch
  - 0002-devices-file-fail-if-devicesfile-filename-doesn-t-ex.patch
  - 0003-filter-mpath-handle-other-wwid-types-in-blacklist.patch
  - 0004-filter-mpath-get-wwids-from-sysfs-vpd_pg83.patch
  - 0005-pvdisplay-restore-reportformat-option.patch
  - 0006-exit-with-error-when-devicesfile-name-doesn-t-exist.patch
  - 0007-report-fix-pe_start-column-type-from-NUM-to-SIZ.patch
  - 0008-_vg_read_raw_area-fix-segfault-caused-by-using-null-.patch
  - 0009-mm-remove-libaio-from-being-skipped.patch
  - 0010-dmsetup-check-also-for-ouf-of-range-value.patch
  - 0011-devices-drop-double-from-sysfs-path.patch
  - 0012-devices-file-fix-pvcreate-uuid-matching-pvid-entry-w.patch
  - 0013-vgimportdevices-change-result-when-devices-are-not-a.patch
  - 0014-vgimportdevices-fix-locking-when-creating-devices-fi.patch
  - bug-1203216_lvmlockd-purge-the-lock-resources-left-in-previous-l.patch
  - bug-1212613_apply-multipath_component_detection-0-to-duplicate-P.patch
- Add upstream patch
  + 0001-lvconvert-swapmetadata-fix-lvmlockd-locking.patch
  + 0002-lvconvert-fix-ret-values-fro-integrity-remove.patch
  + 0003-lvconvert-fix-regresion-from-integrity-check.patch
  + 0004-gcc-cleanup-warnings.patch
  + 0005-lvmlockd-fix-thick-to-thin-lv-conversion.patch
  + 0006-lvmlockd-let-lockd_init_lv_args-set-lock_args.patch
  + 0007-lvmlockd-fix-lvconvert-to-thin-pool.patch
  + 0008-lvconvert-run-error-path-code-only-for-shared-VG.patch
  + 0009-vgchange-acquire-an-exclusive-VG-lock-for-refresh.patch
  + 0010-lvmlockd-client-mutex-ordering.patch
  + 0011-filesystem-move-stat-after-open-check.patch
  + 0012-tests-check-for-writecache.patch
  + 0013-lvresize-fix-32-bit-overflow-in-size-calculation.patch
  + 0014-gcc-fix-warnings-for-x32-architecture.patch
  + 0015-gcc-warning-missing-braces-around-initializer.patch
  + 0016-test-improve-aux-teardown.patch
  + 0017-tests-aux-try-with-extra-sleep.patch
  + 0018-tests-aux-using-singl-lvmconf-call.patch
  + 0019-tests-missing-to-check-for-writecache-support.patch
  + 0020-tests-pvmove-large-disk-area.patch
  + 0021-tests-enforce-full-fs-check.patch
  + 0022-tests-update-for-work-in-fake-dev-environment.patch
  + 0023-tests-skip-test-when-lvmdbusd-runs-on-the-system.patch
  + 0024-tests-better-slowdown.patch
- Update patch
  - bug-1037309_Makefile-skip-compliling-daemons-lvmlockd-directory.patch
  - bug-1184124-link-tests-as-PIE.patch
  - bug-1184687_Add-nolvm-for-kernel-cmdline.patch
  - fate-31841-03_tests-new-test-suite-of-fsadm-for-btrfs.patch
- Rename &amp; Update patch
  - bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch
  + bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-rules.patch
- update lvm2.spec
  - change upstream_device_mapper_version to 1.02.196
  - change device_mapper_version to %{lvm2_version}_1.02.196
  - add config item "-with-libexecdir=%{_libexecdir}" to fix libexec path since commit a2d33cdf
  - add new binary "%{_libexecdir}/lvresize_fs_helper" to lvm2 package</changelog>
  <changelog author="pgajdos@suse.com" date="1711108800">- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang_path macro, [bsc#1212476]</changelog>
  <changelog author="Dominique Leuenberger &lt;dimstar@opensuse.org&gt;" date="1716292800">- Use %patch -P N instead of deprecated %patchN syntax.</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1716724800">- Update lvm2 from LVM2.2.03.22 to LVM2.2.03.24
  * ** WHATS_NEW from 2.03.22 to 2.03.24 ***
  Version 2.03.24 - 16th May 2024
  ===============================
    Lvconvert supports VDO options for thin-pool with vdo conversion.
    Improve placement to .data.rel.ro and .rodata sections.
    Fix support for -y and -W when creating thinpool with vdo.
    Bettter support for runtime valgrind detection.
    Allow command interruption when communicating with dmeventd.
    Fix resize of VDO volume used for thin pool data volume.
    Use -Wl,-z,now and -Wl,--as-needed for compilation by default.
    Require 3.7 as minimal version for sanlock.
    Share code for closing opened desriptors on program startup.
    Fix memleak in lvmcache.
    Add configure --with-default-event-activation=ON setting.
    Fix return value from reporter function when hitting internal error.
    Skip checking of pools for lvremove and vgremove commands.
    VDO modprobes dm-vdo for 6.9 kernel and kvdo for older kernel version.
    Fix lvs reporting for VDO volumes with new upstream kernel driver.
    Don't import DM_UDEV_DISABLE_OTHER_RULES_FLAG in LVM rules, DM rules cover it.
    Fix table line generation for cache snapshots using cachevol.
    Enhance lvconvert support for external origins stacking.
    When swapping LV names also swap properties like hostname, time and data.
    Fix removal of stacked external origins.
    Lock filesystem when converting volume to read-only external origin.
    Support external origin between different thin-pool.
    Improve validation of acceptable volumes for external origins.
    Reduce amount of preloaded devices for complex device trees.
    Avoid logging problems from monitoring snapshots with inactive origins.
    Check for cache policy module presence in kernel's builtin modules file.
    Add configure --with-modulesdir to select kernel modules directory.
    Support creation of thin-pool with VDO use for its data volume.
  Version 2.03.23 - 21st November 2023
  ====================================
    Set the first lv_attr flag for raid integrity images to i or I.
    Add -A option for pvs and pvscan to show PVs outside devices file.
    Improve searched_devnames temp file usage to prevent redundant scanning.
    Change default search_for_devnames from auto to all.
    Add lvmdevices --refresh to search for missing PVIDs on all devices.
    Add comparison between old and new entries in lvmdevices --check.
    Fix device_id matching order - match non-devname first.
    Fix "lvconvert -m 0" when there is other than first in-sync leg.
    Use system.devices as default for dmeventd when dmeventd.devices is undefined.
    Accept WWIDs containing QEMU HARDDISK for device_id.
    Improve handling of non-standard WWID prefixes used for device_id.
    Configure automatically enables cmdlib for dmeventd and notify-dbus for dbus.
    Fix hint calculation for pools with zero or error segment.
    Configure supports --disable-shared to build only static binaries.
    Configure supports --without-{blkid|systemd|udev} for easier static build.
    Refresh device ids if the system changes.
    Fix pvmove when specifying raid components as moved LVs.
    Enhance error detection for lvm_import_vdo.
    Support PV lists with thin lvconvert.
    Fix support for lvm_import_vdo with SCSI VDO volumes.
    Fix locking issue leading to hanging concurrent vgchange --refresh.
    Recognize lvm.conf report/headings=2 for full column names in report headings.
    Add --headings none|abbrev|full cmd line option to set report headings type.
    Fix conversion to thin pool using lvmlockd.
    Fix conversion from thick into thin volume using lvmlockd.
    Require writable LV for conversion to vdo pool.
    Fix return value from lvconvert integrity remove.
    Preserve UUID for pool metadata spare.
    Preserve UUID for swapped pool metadata.
    Rewrite validation of device name entries used as device_id.
  * ** WHATS_NEW_DM from 1.02.196 to 1.02.198 ***
  Version 1.02.198 - 16th May 2024
  ================================
    Fix static only compilation of libdevmapper.a and dmsetup tool.
    Use better code for closing opened descriptors when starting dmeventd.
    Correct dmeventd -R for systemd environment.
    Restart of dmeventd -R checks pid file to detect running dmeventd first.
    Query with dmeventd -i quickly ends when there is no running dmeventd.
    Enhance dm_get_status_raid to handle mismatching status or reported legs.
    Create /dev/disk/by-label symlinks for DM devs that have crypto as next layer.
    Persist udev db for DM devs on cleanup used in initrd to rootfs transition.
    Process synthetic udev events other than 'add/change' as 'change' events.
    Increase DM_UDEV_RULES_VSN to 3 to indicate changed udev rules.
    Rename DM_NOSCAN to .DM_NOSCAN so it's not stored in udev db.
    Rename DM_SUSPENDED to .DM_SUSPENDED so it's not stored in udev db.
    Do not import DM_UDEV_DISABLE_OTHER_RULES_FLAG from db in 10-dm-disk.rules.
    Test DISK_RO after importing properties from db in 10-dm.rules.
    Also import ID_FS_TYPE in 13-dm-disk.rules from db if needed.
  Version 1.02.197 - 21st November 2023
  =====================================
    Fix invalid JSON report if using DM_REPORT_OUTPUT_MULTIPLE_TIMES and selection.
    Propagate ioctl errno from dm_task_run when creating new table line.
    Add support for group aliases in dmstats.
    Add support for exit-on file for dmeventd to reduce shutdown delays.
    Add configure option --with-dmeventd-exit-on-path to specify default path.
    Add dmsetup --headings none|abbrev|full to set report headings type.
    Add DM_REPORT_OUTPUT_FIELD_IDS_IN_HEADINGS to provide alternative headings.
- Drop patches that have been merged into upstream
  - 0001-lvconvert-swapmetadata-fix-lvmlockd-locking.patch
  - 0002-lvconvert-fix-ret-values-fro-integrity-remove.patch
  - 0003-lvconvert-fix-regresion-from-integrity-check.patch
  - 0004-gcc-cleanup-warnings.patch
  - 0005-lvmlockd-fix-thick-to-thin-lv-conversion.patch
  - 0006-lvmlockd-let-lockd_init_lv_args-set-lock_args.patch
  - 0007-lvmlockd-fix-lvconvert-to-thin-pool.patch
  - 0008-lvconvert-run-error-path-code-only-for-shared-VG.patch
  - 0009-vgchange-acquire-an-exclusive-VG-lock-for-refresh.patch
  - 0010-lvmlockd-client-mutex-ordering.patch
  - 0011-filesystem-move-stat-after-open-check.patch
  - 0012-tests-check-for-writecache.patch
  - 0013-lvresize-fix-32-bit-overflow-in-size-calculation.patch
  - 0014-gcc-fix-warnings-for-x32-architecture.patch
  - 0015-gcc-warning-missing-braces-around-initializer.patch
  - 0016-test-improve-aux-teardown.patch
  - 0017-tests-aux-try-with-extra-sleep.patch
  - 0018-tests-aux-using-singl-lvmconf-call.patch
  - 0019-tests-missing-to-check-for-writecache-support.patch
  - 0020-tests-pvmove-large-disk-area.patch
  - 0021-tests-enforce-full-fs-check.patch
  - 0022-tests-update-for-work-in-fake-dev-environment.patch
  - 0023-tests-skip-test-when-lvmdbusd-runs-on-the-system.patch
  - 0024-tests-better-slowdown.patch
- Update patch
  - bug-1184687_Add-nolvm-for-kernel-cmdline.patch</changelog>
  <changelog author="Heming Zhao &lt;heming.zhao@suse.com&gt;" date="1717243200">- add rpm dependency in spec file for aligning new DM udev rules (bsc#1225783)
  * update lvm2.spec</changelog>
  <changelog author="Glass Su &lt;glass.su@suse.com&gt;" date="1718712000">- change BuildRequires due to corosync devel package rename
  * update lvm2.spec, use pkgconf